Github API OAuth令牌验证

时间:2014-03-16 15:27:17

标签: node.js github express oauth github-api

有没有办法验证我的OAuth令牌的github API?通过令牌'我指的是用户登录我的网站后得到的那个。我使用cookie将它存储在客户端计算机上,但只是检查是否有令牌是不够的:我需要实际检查令牌是否有效。目前,这要求我提出信息请求,然后捕获错误。但是,由于github API是 sloooow ,这实际上损害了我的速率以及我的加载速度......我正在使用Node.js,express和octonode库。

我尝试查看github API文档,但它们很小并且有些过时。也许这与OAuth有关,我不确定。

提前致谢。

3 个答案:

答案 0 :(得分:0)

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

或者

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

答案 1 :(得分:0)

来自Github API docs on authorizations

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

或者,如果使用访存,则使用Curl to Fetch

这是根据关于OP的问题的有用评论汇编而成的。

答案 2 :(得分:0)

检查标头以查看您拥有的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