【问题标题】:How to get curl "Authorization token(OAuth token)" programmatically (using JS/PHP ) for github user?如何以编程方式(使用 JS/PHP)为 github 用户获取 curl“授权令牌(OAuth 令牌)”?
【发布时间】:2013-04-08 13:05:43
【问题描述】:

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

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

[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)..

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

【问题讨论】:

  • 是否有可能使用任何API如Singly...获取github登录用户“OAUTH_TOKEN”......

标签: php javascript github github-api


【解决方案1】:

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

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

【讨论】:

  • 我有一个解决此问题的方法,请参阅此github.com/prose/gatekeeper 网址。在此第三步是获取 OAUTH-TOKEN。但问题是 server.js 无法正常工作。你能帮我吗...
  • 我没有这方面的经验,也没有 Github.js 的经验(这个名字可悲的错误命名)。对不起。
【解决方案2】:

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

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

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

有关 Temboo 如何简化 GitHub OAuth(使用 PHP)的详细信息,请参阅 here

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

【讨论】:

  • 请通过电子邮件与我们联系,告诉我们您的尝试,我们会帮助您解决这个问题:support@temboo.com
猜你喜欢
  • 1970-01-01
  • 2018-08-21
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
  • 2017-11-06
  • 1970-01-01
  • 2013-08-13
  • 2018-06-13
相关资源
最近更新 更多