Keycloak - api gateway - autoryzacja do mikroserwisow

Keycloak - api gateway - autoryzacja do mikroserwisow
Paweł Szczepkowski
  • Rejestracja:prawie 5 lat
  • Ostatnio:prawie 5 lat
  • Postów:1
0

Witam,

Szukam narzedzia/testuje narzedzie do logowowania i autoryzacji w architekturze mikroserwisowej.

Mam 2 mikroserwisy, 2 bazy danych i 1 front w angular w swojej aplikacji.

Chcialbym dodac mozliwosc tworzenia uzytkownikow, logowania i autoryzacja po stronie nowego mikroserwisy do logowania i autoryzacji - api-gateway.

Probowalem to zrobic za pomoca key-cloaka, ale nie do konca mi to wyszlo.

Czy ktos z Was moze juz robil cos podobnego i moze podpowiedziec ze keycloak sie do tego ladnie nada albo zaproponuje cos innego ?

Chce miec kilka API CALL ktore wymagaja autoryzacji a kilka ktora ktore nie wymagaja ( guest ).

W sciagnietej z netu konfiguracji keycloaka ze springiem mikroserwis api-gateway zawsze wymagal autoryzacja przy probie polaczenie z ktorymkolwiek callem.

  1. Jak polaczyc autoryzacje ze swaggerem ? ( przyklady z netu sa dosc slabe moim zdaniem )

Gdyby ktos robil cos podobnego i mogl sie wypowiedziec byloby super.

dzieki i pozdrawiam,

PI
  • Rejestracja:ponad 9 lat
  • Ostatnio:4 miesiące
  • Postów:2787
0

Keycloak powinien się nadać, jest to dość dobre narzędzie. Co do kwestii, tego że Keycloak wymagał autoryzacji za każdym razem - otóż niekoniecznie - można włączyć używanie generowania tokena na podstawie samego client-id i client-secret, używając grant_type = client_credentials

Charles_Ray
client_credentials służy do komunikacji maszyna-maszyna, kiedy nie masz kontekstu użytkownika
PI
No tak. Chyba źle zrozumiałem autora postu. Skoro chce mieć kilka endpointów niezabezpiecoznych, to neich to ustawi w swoim zapewne Spring Security
KA
  • Rejestracja:prawie 11 lat
  • Ostatnio:ponad 2 lata
  • Postów:594
1

Ale co ma być Twoim api gateway?
Zuul? Spring cloud gateway ? Coś innego? Jakiś nginx po prostu?

Jezeli dobrze widze to chyba chodzi o spring cloud gateway cos jak https://github.com/bassmake/spring-cloud-gateway-with-keycloak ? . Osobiscie wolalbym tego nie couplowac z jakimś frameworkiem.

W najprostszym use case: frontend uderza do auth servera i przesyla JWT dalej do gatewaya lub wszystko sie dzieje na poziomie Gatewaya, który uderza do sobie auth servera. Mając JWT przesyłasz je dalej do swoich backendowych serwisow. I blockujesz niepożądane requesty na poziomie gatewaya.

Backendy jak chca moga sobie zrobic verify na jwt.

title

edytowany 9x, ostatnio: karsa
Charles_Ray
Warto dodać, że usługi mogą przy starcie pozyskać klucz publiczny i same walidować token

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.