Document how to revoke OAuth access token
In https://support.panopto.com/s/article/oauth2-for-services it states that "Refresh tokens must be kept secure and confidential by the client application but can be revoked if needed." Further down in the same doc it mentions in section 2.2.f. that "Refresh tokens can be revoked before they are used. In the case that a user or administrator revokes their refresh token and attempt to use it to get a new access token will fail. The user would need to log in again in order to get a new access token."
There does not appear to be any documentation though on the endpoint to use for revoking an OAuth access token programmatically in the forums or official support articles, and searching through Panopto's public GitHub the only plausible reference was archived 5 years ago in
https://github.com/Panopto/IdentityModel/blob/71a6704e726d65082165e4e0f1df4b53f2406b1a/docs/client/revocation.rst#L9
Can Panopto please provide additional documentation on how to revoke OAuth access tokens programmatically through the REST API? We always revoke OAuth tokens through our platform for other integrations we've connected to when a user removes the integration, and we'd like to do the same for our Panopto integration for security reasons. We want to proactively revoke the OAuth tokens rather than waiting for it to expire in certain cases.
Best Answer
-
Kevin Baum Panopto Employee
Hi Scott,
Thanks for pointing that out. I'll see what we can do to update our support articles to add a section on revoking tokens.
Panopto supports all of the basic OAuth2 operations in our API Clients implementation, including the standard OAuth2 token revocation endpoint (https://demo.hosted.panopto.com/Panopto/oauth2/.well-known/openid-configuration). You can make a POST request to the OAuth2 revocation endpoint at
https://[PanoptoServer]/Panopto/oauth2/connect/revocation
. The authentication should be basic authentication, using the API Client ID and Client Secret as described in section 1.2 of our support article How to Get OAuth2 Access Tokens for Users.The POST body should have a content type of
application/x-www-form-urlencoded
and contain the following parameters:token
- The token value you are revokingtoken_type_hint
- "refresh_token" to revoke a refresh token.
JWT Access Tokens cannot be revoked by this endpoint, as they are client-side only tokens, but should expire within an hour.
Once you send the request to the revocation endpoint, the specified refresh token will fail to get a new access token.
I hope that this helps. Please let me know if you have any other questions.
Thanks,
Kevin
0
Answers
Great, thank you. This is exactly the documentation we were looking for on revoking OAuth tokens.