Cześć, uczę się mikrousług, zrobiłem w Springu aplikację authorization-server
czyli usługę na OAuth2, która łączy się z bazą danych i zwraca odpowiedni token z uprawnieniami w postaci JWT jeśli użytkownik się zaloguje. Później zrobiłem drugą aplikację, która authorization-client
, która nie ma połączenia z bazą danych użytkowników, ale dekoduje otrzymany przez endpoint token i jeśli użytkownik ma uprawnienia do endpointa, to wykonuje jakieś operacje.
Teraz robię frontend do tego i mam pytanie jak powinna działać obsługa tokenu. Chodzi mi o to jak korzystać z refresh-tokena
żeby było to najwygodniejsze dla użytkownika.
Chcę ustawić czas access-tokenu
i refresh-tokenu
na 15 minut i zrobić coś takiego, żeby frontend przy każdy zapytaniu do aplikacji wykorzystywał refresh-token
zdo pobrania nowego access-tokenu
który trwałby kolejne 15 minut. W ten sposób stworzyłbym "sesję"
, która wygasałaby po 15 minutach niekatywności i po tym czasie trzeba byłoby się na nowo zalogować, a jeśli użytkownik korzystałby bez przerwy z aplikacji, to jego sesja nie skończyłaby się.
Czy to jest dobre podejście, czy takie odświeżanie tokena co strzał z frontendu jest dobrym rozwiązaniem? Może są lepsze rozwiązania?
Z góry dzięki za pomoc.