Ahojte, zacali sme pracovat na refaktore appky ktora je momentalne jeden velky spring bootovy monolit v jave. Povodny core planujeme nechat, a popri nom budovat nove mikrosluzby a postupne urezavat z monolitu logiku ktora by bola vhodna na to aby z nej bola mikrosluzba.
Autentifikacia a autorizacia bude riesena jwt tokenmi. Tu sa ale dostavame do oblasti ktoru velmi nepoznam, a ani nikto z kolegov, dostal som za ulohu pripravit nejaky proof of concept, ktory to riesil. Narazil som na 2 otazky na ktore neviem odpoved, a akekolvek dalsie nasmerovanie uvitam.
1. Kedze klient pozaduje autentifikaciu pomocou google uctu (neskor mozno pribudne facebook alebo twitter), mame autentifikaciu a autorizaciu a tiez refresh tokenu riesit vyhradne len s google? Ak sa koncovy pouzivatel prihlasi cez nasu appku, tak ziskame access a refresh token, ktore posunieme potom koncovemu pouzivatelovi. On pomocou nich bude pristupovat k nasej appke, a kazdym requestom si ich nejak overime proti google?
Alebo autentifikaciu koncoveho pouzivaela v google pouzijeme len na to, aby sme ziskli informaciu o tom "kto to je", jeho meno, email, a sparovali si toho cloveka s uctom v nasom systeme, a nasledne aj cela orchestracia s tokenmi by bola na nas mimo google?
2. Ako som spominal, k nasemu monolitu budu pribudat dalsie mikrosluzby, a verim ze nastane situacia, kedy budeme potrebovat riesit security pri volaniach medzi mikrosluzbami, alebo z monolitu na mikrosluzbu. Z toho co som nasiel s na to pouziva grant client_credentials. Je aj na toto ok pouzit google oauth, alebo by ste na to sli inac?
Budem naozaj vdacny za akekolvek rady, aj mimo mojich otazok, pripadne nieco z vlastnej skusenosti ako ste nieco podobne riesili. Dakujem.