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

Cookie Expiration with Serverside sessions doesn't revoke tokens #1552

Open
AndersAbel opened this issue May 14, 2024 · 0 comments
Open

Cookie Expiration with Serverside sessions doesn't revoke tokens #1552

AndersAbel opened this issue May 14, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@AndersAbel
Copy link
Member

With serverside sessions and session coordination enabled there are four ways that a session can end:

  1. Deliberate call to Logout on IdentityServer (could be due to /endsession called from a client or an upstream provider doing a front-channel logout or the user doing logout directly on IdentityServer.
  2. Session timed out and the background session cleanup job found it and removed it.
  3. An upstream provider notifies IdentityServer through back channel logout that there is a logout.
  4. Session timed out, the user makes a request and the Asp.Net Core cookie handler detects that the session is expired and removes it.

For 1 and 2 any refresh token associated with the session is properly cleaned up. 3 is really up to the user to ensure that the back channel notification calls into the session coordination service.

For scenario number 4 it looks like we have a bug. The cookie handler will call RemoveAsync on the session store directly, which never invokes the session coordination service that is responsible for revoking the tokens.

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

1 participant