删除/撤销 GitHub OAuth 'access_token'

Len*_*oni 2 java android authorization github

我正在使用此 GitHub 的 API 为用户(移动应用程序)生成访问令牌,使用本教程:

我正在使用内置网页,因此用户可以使用用户名和密码登录。之后,用户会收到一个可用于访问 GitHub 范围(在我的例子中为个人资料信息)的 access_token。

响应:

{"access_token":"1234token1234", "scope":"user", "token_type":"bearer"}

Run Code Online (Sandbox Code Playgroud)

但是当用户注销应用程序时,我想删除/撤销这个令牌。我怎样才能做到这一点?

我只在这里找到这个答案:

撤销 OAuth 访问令牌会导致 404 Not Found

但这是2013年的,现在不起作用。

关于如何解决这个问题有什么想法吗?(对不起英国人,巴西人在这里o/)

Len*_*oni 5

对于未来寻求相同答案的人,我联系了 GitHub 支持,他们帮助我解决了我的问题。

删除/撤销access_token

这是使用Client ID和 与Client SecretOAuth 应用程序绑定来处理的:

curl \
  -X DELETE \
  -H "Accept: application/vnd.github.v3+json" \
  -u CLIENT_ID:CLIENT_SECRET \
  https://api.github.com/applications/CLIENT_ID/token \
  -d '{"access_token":"ACCESS_TOKEN"}'
Run Code Online (Sandbox Code Playgroud)

更详细的解释:https ://docs.github.com/en/rest/apps/oauth-applications#delete-an-app-authorization

观察 URL 后缀以了解/grant和之间的区别/token(请参阅文档)。

访问令牌仍然允许您通过 /user 请求获取公共信息,但任何访问受限或私有内容的尝试都将返回授权错误。