Cześć, próbuje ogarnąć logowanie za pomocą keycloaka ale mam problem z połączeniem tego z aplikacją. Udało mi się zrobić uwierzytelnienie za pomocą JWT i zabezpieczenie po rolach które są ustawione w Keycloaku ale nie wiem jak dalej to połączyć z aplikacja. Mam encje Student i Teacher i takie role, skąd aplikacja ma wiedzieć, że ten użytkownik co się uwierzytelnił ma np. id 1 i jakieś przedmioty do siebie przypisane? Nie bardzo wiem jak to ze sobą połączyć dalej. I jak robić rejestracje użytkowników? Obecnie to wszystko zrobiłem przez keycloaka ale dalej pozostaje problem jak to spiąć z konkretnym użytkownikiem w mojej aplikacji. Może ktoś polecić jakiś poradnik jak to zrobić? To co na yt znalazłem to mam zrobione a nie wiem co dalej.
0
1
TL;DR swoich userów trzymasz w swojej bazie i laczysz to po userId z tokenu.
W tokenie JWT z Keycloak masz jakieś id/login, który możesz powiązać z encją w swojej bazie. Oprócz userId masz pewnie scope’y, czyli role. Musisz miec w swojej aplikacji warstwę, ktora robi potrzebna translacje token -> (userId, roles)
.
Przykładowo, w Springu dziala to tak, że filtr waliduje i parsuje token JWT ustawiajac niezbedne rzeczy w SecurityContext
(taka globalna zmienna w obrebie wątku), do ktorego mozesz sobie siegnac z dowolnego miejsca w aplikacji. Wtedy jestes w domu, bo masz dostep do userId, po ktorym dociagasz sobie usera z bazy.
Disclaimer: Nigdy nie uzywalem Keycloaka ;)