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
{{ message }}
This repository has been archived by the owner on Dec 13, 2018. It is now read-only.
Built-in endpoint /logout returns successful 200 OK status even when no tokens (access and/or refresh) have been revoked. That can happen when no tokens have been passed as part of a request as they're not required.
This behavior opens the door for mistakes in a client application that can easily go unnoticed because the "logout" appears to succeed.
The expected behavior would be to require passing access token. The call should succeed upon invalidation of a known token only.
Refresh token being optional allows to mistakenly omit it in the request as well. That can easily happen due to the domain/path scope of cookies. In this case the "logout" will be misinterpreted as successful even though the refresh token remains valid.
The text was updated successfully, but these errors were encountered:
sshymko
changed the title
Logout succeeds when no token revocation happens
Logout succeeds without token revocation
Mar 1, 2017
Built-in endpoint
/logout
returns successful 200 OK status even when no tokens (access and/or refresh) have been revoked. That can happen when no tokens have been passed as part of a request as they're not required.This behavior opens the door for mistakes in a client application that can easily go unnoticed because the "logout" appears to succeed.
The expected behavior would be to require passing access token. The call should succeed upon invalidation of a known token only.
Refresh token being optional allows to mistakenly omit it in the request as well. That can easily happen due to the domain/path scope of cookies. In this case the "logout" will be misinterpreted as successful even though the refresh token remains valid.
The text was updated successfully, but these errors were encountered: