NodeJS Github API OAuth令牌验证

kb5ga3dv  于 11个月前  发布在  Node.js
关注(0)|答案(4)|浏览(92)

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

6ioyuze2

6ioyuze21#

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

curl -H "Authorization: token OAUTH-TOKEN" https://api.github.com/users/codertocat -I

个字符

slmsl1lt

slmsl1lt2#

来自Github API文档中的授权:
OAuth应用程序可以使用特殊的API方法来检查OAuth令牌的有效性,而不会违反登录尝试失败的正常比率限制。
身份验证与此特定端点的工作方式不同。访问它时必须使用基本身份验证,其中用户名是OAuth应用程序client_id,密码是其client_secret。无效令牌将返回404 NOT FOUND。
你可以用curl来做:
第一个月
或者,如果使用fetch,则使用Curl to Fetch
这是根据对OP问题的有益评论汇编的。

bmvo0sr5

bmvo0sr53#

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

字符串

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

zzzyeukh

zzzyeukh4#

检查令牌是否具有新端点:

curl -L \
  -X POST \
  -H "Accept: application/vnd.github+json" \
  -u "$client_id:$client_secret" \
  -H "X-GitHub-Api-Version: 2022-11-28" \
  "https://api.github.com/applications/$client_id/token" \
  -d '{"access_token":"e72e16c7e42f292c6912e7710c838347ae178b4a"}'

字符串

相关问题