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
info="This does not revoke the access token from the oauth2 provider.
RFC 7009 specifies a mechanism whereby OAuth authorization servers may expose an endpoint allowing immediate revocation of an access token or refresh token.
This is supported by the following external authentication providers:
When a user unlinks their account, coderd should attempt to revoke the token via the /revoke endpoint if configured.
The token revocation endpoint should be specified by CODER_EXTERNAL_AUTH_#_REVOKE_URL.
This will be done on a 'best effort' basis. If the authorization server returns any response other than 200, we should assume that the token revocation failed and advise the user to delete the token manually.
Problem
Coder currently does not revoke users' oauth tokens when they unlink an account.
This is explicitly called out here:
coder/site/src/pages/UserSettingsPage/ExternalAuthPage/ExternalAuthPage.tsx
Line 56 in c3c23ed
RFC 7009 specifies a mechanism whereby OAuth authorization servers may expose an endpoint allowing immediate revocation of an access token or refresh token.
This is supported by the following external authentication providers:
Unfortunately, this does not appear to be uniformly supported across providers.
It is currently not supported / unknown on these providers:
Some providers provide custom implementations not in line with the spec:
Proposed Solution
When a user unlinks their account,
coderdshould attempt to revoke the token via the/revokeendpoint if configured.The token revocation endpoint should be specified by
CODER_EXTERNAL_AUTH_#_REVOKE_URL.This will be done on a 'best effort' basis. If the authorization server returns any response other than 200, we should assume that the token revocation failed and advise the user to delete the token manually.