java - 删除/撤销 GitHub OAuth 'access_token'

标签 java android github authorization

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

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

响应:

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

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

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

Revoking OAuth Access Token Results in 404 Not Found

但它是 2013 年的,并且不起作用。

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

最佳答案

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

删除/撤销access_token:

这是使用客户端 ID 和与 OAuth 应用程序绑定(bind)的客户端 key 来处理的:

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"}'

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

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

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

关于java - 删除/撤销 GitHub OAuth 'access_token',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56230534/

相关文章:

Java 字符串格式数组

android - android中.apk文件过大的问题?

android - Eclipse 4.2.1 - Avd 正在运行但未收到应用程序

Github Api - 如何跟踪移动的存储库/项目?

java - 线程池最大线程数不正确

java - 如何直观地打印非二叉树?

java - 了解将数组切片为子数组的递归调用

Unity3d 应用程序中的 Android 菜单按钮

git - CI/CD 失败,因为缺少构建所需的文件,但在 .gitignore 中的公共(public)存储库中不需要

git - 无法 checkout 远程 git 分支