Keycloak - api gateway - autoryzacja do mikroserwisow

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,

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

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

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