You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Backendseitig muss dann dementsprechend geprüft werden, ob der Token korrekt ist und anhand dessen entscheiden, was zurückgegeben wird (nen 403 code oder das gewünschte Resultat)
The text was updated successfully, but these errors were encountered:
Es werden jetzt bei jedem API-Aufruf Authentication header mit Bearer <JWT access token> mitgeschickt.
Beim einloggen wird jetzt als Antwort {id: <number>, auth_token:<JWT access token>, refresh_token:<JWT refresh token>}
erwartet.
Hab mich bei dem Schema an Auth0 orientiert. Access Tokens sind die Tokens, die zur direkten Authentifizierung der API Aufrufe auf dem Server verwendet werden. Diese Tokens sollten relativ schnell verfallen, also deren expiration time sollte vllt so 15-20 Minuten sein. Refresh Tokens sind hingegen relativ lange valide (1 woche z.B.). Mit denen können neue Access Tokens generiert werden. Bei uns passiert das über /api/refreshAccessToken (Parameter: {refreshToken: <JWT refresh token>}), beispielsweise wenn ein Request mit nem 401 Unauthorized Error zurück kommt (z.B. weil der Access-Token expired ist). Beim Refreshen wird bisher eine Antwort in Form von {auth_token: <JWT access token>} erwartet.
Um zu verhindern, dass man sich jedes mal, wenn der Refresh token abgelaufen ist, einloggen muss, wird beim refreshen der Seite und danach jede Stunde ein GET-Request mit dem refreshToken als Parameter an /api/refreshRefreshToken (is zugegebenermaßen nicht der beste Name, bin offen für Vorschläge 😅) geschickt. Als Antwort soll dabei, wenn der übergebene Token valide und noch nicht abgelaufen ist, ein refreshter Refresh Token (bedeutet also, das expiry date wurde geupdated) in der Form {refresh_token: <JWT refresh token>} zurück kommen.
Zuerst muss sich auf eine Authentifizierungsmethode geeinigt werden. Eine Möglichkeit wäre beispielsweise, JSON Web Tokens zu verwenden.
Daraufhin müssen die HTTP Calls des Frontends an die ausgesuchte Methode angepasst werden.
Für JWTs würde dies folgendermaßen aussehen:
Backendseitig muss dann dementsprechend geprüft werden, ob der Token korrekt ist und anhand dessen entscheiden, was zurückgegeben wird (nen 403 code oder das gewünschte Resultat)
The text was updated successfully, but these errors were encountered: