Repository navigation
Conversation
Co-authored-by: usesprocket[bot] <306702232+usesprocket[bot]@users.noreply.github.com>
Contributor
[Medium impact] The PR appears safe to merge.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
CookieSession.getLogoutUrl()calledauthenticate()to get the session ID.authenticate()rejects an expired access token, so once the access token expired,getLogoutUrl()threwFailed to extract session ID for logout URL: invalid_jwt. An app that signs a user out after a period of inactivity, which is when the access token is most likely to be expired, could not build the logout URL. The WorkOS session stayed active.getLogoutUrl()now unseals the cookie and readssidfrom the access token without verifying it. The cookie password already authenticates the sealed cookie, so only this server could have written the token inside it.authkit-nextjsreads the session ID from the cookie forsignOut()in the same way.The errors for a missing cookie (
no_session_cookie_provided) and for a cookie that won't unseal or has no access token (invalid_session_cookie) stay the same.getLogoutUrlspecs no longer mockjwtVerify, since it isn't called.Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.
Written by Opus 5.5 (opus-5.5) through Sprocket.