1

我现在正在使用 Github。我怎么能想得到 github 登录用户的“OAuth 令牌”。现在我有诸如 client_id、Client Secret、access_toke 之类的数据(这些所有数据仅在登录到 github 后获取)。我怎么能通过以上数据获取 OAuth 令牌。

我通过命令行获得了oauth toke,例如:

[root@localhost Dinesh]# curl -u 'DineshGK' -d '{"scopes":["repo"],"note":"Help example"}' https://api.github.com/authorizationsEnter host password for user 'DineshGK':
[root@localhost Dinesh]# curl https://api.github.com/authorizations --user "DineshGK" --data '{"scopes":["user"], "client_id":"...", "client_secret":"..."}'
Enter host password for user 'DineshGK':
{
  "id": 2300973,
  "url": "https://api.github.com/authorizations/2300973",
  "app": {
    "name": "SenchaPlayground",
    "url": "http://192.168.1.56/OldPlayground/"
  },
  ****"token": "..."**,**
  "note": null,
  "note_url": null,
  "created_at": "2013-04-16T07:34:21Z",
  "updated_at": "2013-04-16T07:34:21Z",
  "scopes": [
    "user"
  ]
}

我希望以实用的方式突出显示标记(使用 JS/PHP)..

任何人都可以帮助......提前谢谢......

4

2 回答 2

0

请编辑您的问题以删除您的“client_id”,并返回令牌。另外,请转到您的应用设置并获取新的“client_secret”。这些信息都不应该向任何人公开

现在,如果您的意图是使用 JavaScript 或 PHP 中的 cURL,那么您将度过一段非常糟糕的时光。我将研究如何在每个请求中发出 HTTP/1.1 请求,并查看一些现有的 PHP 或 JavaScript库,它们为您包装了 API。有了这些(从未使用过其中任何一个),您可能应该收到类似于 Hash 或其他一些数据结构的东西,以便能够检索该信息。如果您阅读他们的文档,您将比那些从未使用过任何这些库的人告诉您该做什么要好得多。

于 2013-04-16T21:03:14.980 回答
0

您不能完全自动化此过程,用户必须参与手动授予对您的应用程序的访问权限。也就是说,Temboo将 GitHub 的 OAuth 流程分为两个步骤:

  1. 生成可以向用户显示的授权 URL。这允许用户授权您使用他们的 GitHub 帐户。第一步还会生成流程第二步所需的回调 URL。

  2. 用户授予对您的应用程序的访问权限后,检索访问令牌。

有关 Temboo 如何简化 GitHub OAuth(使用 PHP)的完整详细信息,请参见此处

(全面披露:我在 Temboo 工作)

于 2013-04-16T23:11:56.427 回答