Implementacja api gateway zuul oraz spring security

0

Hej,

Napisałem sobie authentication-service z wykorzystaniem Sprint Security i tokentu JWT - użytkownik strzela do authentication-service pod endpoint /login, wtedy zostaje wywołany mój filtr i wygenerowany token JWT, który następnie przy innych strzałach w tym serwisie jest weryfikowany ( zaimplementowałem filtr sprawdzający token ) . Teraz do projektu chciałbym dodać gateway zuul, i zastanawiam się jak to wszystko powinno zostać zrealizowane.
W jaki sposób mam sprawdzać ten token przy strzale do innego serwisu? W zuulu zrobiłem sobie routing na np car-service, ale chce żeby dostęp do tych endpointów w tym serwisie również wymagał token. To co ja sobie myślę to:

  1. Może powinienem mój filtr sprawdzający token wynieść do jakiegoś commons i w każdym z serwisów pisać konfigurację security z użyciem tego filtra? Wtedy idzie strzał na zuula, ten przekierowuje na mój serwis, a w moim serwisie odpalany jest filtr i jeśli token jest zły albo go nie ma no to nie wpuszam usera. Średnio mi się to podoba, no bo przy XXX serwisów mam wszędzie konfigurować praktycznie to samo?
  2. Może powinienem jakoś tak skonfigurować zuula żeby przy każdym strzale komunikował się z authenticaion-service gdzie będzie weryfikowany token? To chyba głupie troche.

Prośba o poradę jak to powinno być 'po bożemu' zrealizowane.

1
  1. Jeśli nie prześlesz tokenu dalej do usług, to w jaki sposób sprawdzisz w nich scope? Np. czy user może usunąć samochód z katalogu?
  2. Myślę, że sprawdzenie poprawności tokenu nie wymaga strzału do auth-servera, wystarczy znać klucz publiczny i rozkodować JWT. Komunikacja z auth jest potrzebna, aby wydać nowy token.
0
Charles_Ray napisał(a):

wystarczy znać klucz publiczny i rozkodować JWT.

Mówiąc klucz publiczny rozumiem że chodzi Ci o secret, który wcale taki publiczny nie jest (zna go auth service tworzoący token oraz twoja aplikacja, czyli client)?

3

@Pinek ? Nie, zwykle sewery generujące JWT token udostępniają klucz publiczny pozwalający na weryfikacje tokenu. Nie jest to żaden secret.

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