-
Notifications
You must be signed in to change notification settings - Fork 3
Implementace
stepanekp edited this page May 21, 2023
·
2 revisions
- Z předchozího bodu byl popsán způsob komunikace na auth aplikaci.
- Auth aplikaci přijde request na přihlášení uživatele na endpoind /login, který si poté provolá vlastní službu pro vytvoření JWT tokenu s patřičnými údaji, které mu přišly v body requestu. Tento JWT token je poté zaslán zpět na SPADe aplikaci a ze SPADe aplikace ke klientovi na webovou aplikaci (SPAWn), kde je konkrétní implementace pro uložení JWT tokenu bezpečným způsobem, aby nebylo možné jej jednoduše ukrást pomocí XSS útoku. Tento token je poté zasílán s requesty, které je nutné autentikovat, což zařizuje router ve SPADe aplikaci.
- Autentikace (validace) JWT tokenu se provádí zasláním SPADe requestem na Auth aplikaci na endpoint /authenticate, kde je očekáván JWT token. Authentikační aplikace má samozřejmě JWT_Secret key, který je pro šifrování / dešifrování tokenu, což umožňuje ověření platnosti tokenu. Zasílá buď 200 v případě, že je token validní a neexpiroval. 400 v jiných případech.
- Auth aplikace má připraven i endpoint na obnovení tokenu. Tento token nesmí být expirovaný v aktuální verzi. Nicméně funguje tak, že mu přijde žádost na /refresh, ten daný token zvaliduje, odstraní ho z mapy vygenerovaných tokenů a zašle zpět uživateli nový. Tento token je samozřejmě uložen v mapě místo stávajícího starého klíče.