@DobraDupaPL Wydaje mi się, iż ALB Auth nie spełnia Twoich wymagań. Może prościej będzie skorzystać z jakiś gotowych paczek/rozwiązań które są opisane na stronach Auth0/Okta. Jak dodasz to do kodu swojej aplikacji będziesz miał lepszą kontrolę.
Korzystasz z Auth0 więc zakładam, że używasz JWT i tokenów.
Ogólnie to request do Auth0 powinien być wykonywany w tle, w momencie kiedy:
-
dostajesz odpowiedź z serwisu, że access token jest już nieważny
-
tuż przed wygaśnięciem access tokenu (jakiś proces odświeża to w tle)
-- od Ciebie zależy, czy będzie to powiązane z session timeout
*zależy od charakterystyki działania aplikacji (najlepiej opcja2, prościej dorobić opcja1)
Nie wiem jaki masz szacowany ruch, ale w rozwiązaniu z Lambda sprawdziłbym, czy nie będzie Cię ograniczało w jakikolwiek sposób liczba równoległych zapytań.
Jeśli myślisz nad offline token (token ważny do 30 dni - domyślnie) to sprawdziłbym ograniczenia na Auth0, ile możesz przechowywać takich tokenów per client/realm
Lambda (jak ja to rozumiem):
-
komponent, który działa jak "auth proxy" który waliduje każdy request i sprawdza ważność tokenu
-- problem to brak refresh token w zapytaniu, chyba że przesyłasz oba tokeny
Microservice:
Korzytanie z offline token:
-
klient się loguje. W serwisie coś się mieli i trwa to dużej niż sesja klienta, który sobie już poszedł. Access token ma ważność x godzin.
-- proste, pod warunkiem, że nie wypłynie ten token (będzie to prawidłowo zabezpieczone)
*są tutaj pewne uproszczenia i niekoniecznie musi to być zgodne z dobrymi praktykami