Github API OAuth 令牌验证

问题描述 投票:0回答:4

有什么方法可以验证我的 github API 的 OAuth 令牌吗?我所说的“令牌”是指用户登录我的网站后获得的令牌。我使用 cookie 将其存储在客户端计算机上,但仅检查是否有令牌是不够的:我需要实际检查令牌是否有效。目前,这需要我请求信息,然后捕获错误。然而,这确实损害了我的速率和加载速度,因为 github API sloooow...我正在使用 Node.js、express 和 octonode 库。

我尝试查看 github API 文档,但它们很少。也许这与 OAuth 有关。

node.js github express oauth github-api
4个回答
12
投票

检查标头以查看您拥有哪些 OAuth 范围以及 API 操作接受哪些内容:

curl -H "Authorization: token OAUTH-TOKEN" https://api.github.com/users/codertocat -I
HTTP/1.1 200 OK
X-OAuth-Scopes: repo, user
X-Accepted-OAuth-Scopes: user

7
投票

来自有关授权的 Github API 文档

OAuth 应用程序可以使用特殊的 API 方法来检查 OAuth 令牌的有效性,而不会违反登录尝试失败的正常速率限制。

此特定端点的身份验证工作方式不同。访问时必须使用基本身份验证,其中用户名是 OAuth 应用程序的 client_id,密码是其 client_secret。无效的令牌将返回 404 NOT FOUND。

你可以用curl来做到这一点:

curl -u client_id:client_secret https://api.github.com/applications/:client_id/tokens/:token

或者,如果使用 fetch,请使用 Curl to Fetch

这是根据对OP问题的有用评论编写的。


5
投票
curl -H "Authorization: <TOKEN>" https://api.github.com/

或者

curl https://api.github.com/ -u <USERNAME>:<TOKEN>

0
投票

检查令牌有一个新端点:

curl -L \
  -X POST \
  -H "Accept: application/vnd.github+json" \
  -H "Authorization: Bearer <YOUR-TOKEN>" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  https://api.github.com/applications/Iv1.8a61f9b3a7aba766/token \
  -d '{"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a"}'
© www.soinside.com 2019 - 2024. All rights reserved.