Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Token abgelaufen auf Login Seite weiterleiten #63

Closed
schefbi opened this issue Aug 5, 2023 · 7 comments
Closed

Token abgelaufen auf Login Seite weiterleiten #63

schefbi opened this issue Aug 5, 2023 · 7 comments
Assignees
Labels
bug Something isn't working

Comments

@schefbi
Copy link
Collaborator

schefbi commented Aug 5, 2023

Wenn das Token abgelaufen ist, muss auf die Login Seite weitergeleitet werden, damit verhindert wird, dass den Benutzern die Meldung "nicht angemeldet" oder "kein Zugriff" angezeigt wird.

Umsetzung:

  • Bei Ablauf des Access Tokens soll auf den Token Refresh weitergeleitet werden (Timer)
  • Bei Ablauf des Refresh Tokens soll auf die Login Page weitergeleitet werden (Timer) → überprüfen ob dies schon gemacht wird

useCase:
Ich habe mich auf dem Portal mit meinem privaten Laptop eingeloggt. Danach habe ich ich 24h gewartet (standby modus) und im Portal nochmals auf einen Eintrag im webappschulverwaltung geklickt. Ich habe dort die Meldung "Nicht angemeldet oder kein Zugriff" erhalten. Das Problem ist das die apps sich nicht um die Tokens kümmern müssen.

@schefbi schefbi added the bug Something isn't working label Aug 5, 2023
@caebr
Copy link
Collaborator

caebr commented Aug 7, 2023

@schefbi Könntest du uns dazu noch ein bisschen mehr Informationen geben?
Grundsätzlich entspricht das Verhalten, welches du oben beschreibst, der aktullen Implementation.
In welchem Fall konkret hat das nicht geklappt?

@schefbi
Copy link
Collaborator Author

schefbi commented Aug 8, 2023

@caebr Ich habe mich auf dem Portal mit meinem privaten Laptop eingeloggt. Danach habe ich ich 24h gewartet (standby modus) und im Portal nochmals auf ein Navigationseintrag geklickt z.b. "Absenzen auswerten" ich habe dort die Meldung "Nicht angemeldet oder kein Zugriff" erhalten. Das Browser Tab wird in diesem Fall nicht neu geladen, weil der Browser nicht geschlossen wurde und der Laptop nur im "standby modus" war.

@fbufbi fbufbi transferred this issue from bkd-mba-fbi/webapp-schulverwaltung Aug 22, 2023
@hupf
Copy link
Collaborator

hupf commented Oct 18, 2023

@schefbi

  • Handelt es sich bei dem "Nicht angemeldet oder kein Zugriff" Fehler um eine Notifikation innerhalb der Schulverwaltungsapp (im iframe)?
  • Hattest du nach 24h auf den gleichen Eintrag geklickt wo du bereits drauf warst? Oder war es ein anderer Eintrag?
  • Möglicherweise machen wir den Token check noch nicht, falls der Scope gleich bleibt.
  • Ansonsten sollte der Token Check so funktionieren:
    • Refresh Token abgelaufen → Redirect zur Login Page
    • Access Token halb oder mehr abgelaufen → Redirect zum Token Refresh (neues Access Token holen)
    • Access Token noch nicht halb abgelaufen → Access Token verwenden (kein Redirect)
  • Was aber passieren kann: Wenn ich eine Seite öffne und länger dort drauf bleibe als das Access Token gültig ist (egal ob mit aktivem Klicken oder nicht), dann kommt es zur Situation wo die App (z.B. Schulverwaltung) bei den Requests plötzlich 401 kriegt und eine Fehlermeldung anzeigt. In diesem Fall müsste der User aktuell sowieso reloaden. Was wir tun könnten ist ein Timer setzten, wenn das aktuelle Access Token abläuft und dann abrupt zum Token Refresh weiterleiten.

@hupf hupf added the on hold Task ist zurückgestellt label Oct 18, 2023
@schefbi
Copy link
Collaborator Author

schefbi commented Oct 18, 2023

Was aber passieren kann: Wenn ich eine Seite öffne und länger dort drauf bleibe als das Access Token gültig ist (egal ob mit aktivem Klicken oder nicht), dann kommt es zur Situation wo die App (z.B. Schulverwaltung) bei den Requests plötzlich 401 kriegt und eine Fehlermeldung anzeigt. In diesem Fall müsste der User aktuell sowieso reloaden. Was wir tun könnten ist ein Timer setzten, wenn das aktuelle Access Token abläuft und dann abrupt zum Token Refresh weiterleiten.

Ich denke das ist eine gute Lösung.

@schefbi
Copy link
Collaborator Author

schefbi commented Dec 12, 2023

@hupf Bei den Test ist mir aufgefallen das ich nun gar nicht mehr aus der Applikation heraus fliege... Beim Refresh wird auch das Token refreshed mit neuem Datum was dazu führt das man nun immer eingeloggt bleibt.

Können wir morgen das Thema im daily diskutieren?

@schefbi schefbi assigned hupf and unassigned schefbi Dec 12, 2023
@hupf
Copy link
Collaborator

hupf commented Dec 20, 2023

@schefbi Es gab ein Redirect Loop, wenn das Access Token ablief oder wenn die Seite neu geladen wurde und das Access Token bereits expired war. Mit dem neusten Fix wird der Timer nur gesetzt, wenn das Token nicht bereits abgelaufen ist – bei Tokens die bereits abgelaufen sind greift die normale Logik, wenn man auf die Seite kommt.

@hupf hupf removed their assignment Dec 20, 2023
@schefbi
Copy link
Collaborator Author

schefbi commented Dec 22, 2023

@hupf Wir haben den neuen Release von SLH erhalten mit dem Token Refresh Rotation werde das noch mit dieser Version testen.

@schefbi schefbi closed this as completed Jan 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants