Keycloak - połączenie z aplikacją

0

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.

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 ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1