【发布时间】:2014-02-27 00:06:22
【问题描述】:
有没有办法使用 github 凭据作为应用程序授权?我正在使用 github api 来解决问题,我正在尝试弄清楚如何使用 github 凭据“登录”。任何帮助和指导将不胜感激。
【问题讨论】:
标签: ruby-on-rails login github authorization
有没有办法使用 github 凭据作为应用程序授权?我正在使用 github api 来解决问题,我正在尝试弄清楚如何使用 github 凭据“登录”。任何帮助和指导将不胜感激。
【问题讨论】:
标签: ruby-on-rails login github authorization
您尝试过 OmniAuth 吗?这很简单。 https://github.com/intridea/omniauth-github
【讨论】:
你可以使用omniauth-github gem
另外,我使用它构建的示例应用程序(来源):https://github.com/jamesy829/oauth-github
【讨论】:
Github API 支持两种类型的身份验证:HTTP basic 和 OAuth。
要使用基本身份验证,您只需将用户名和密码传递给 API。
cURL 中的示例:
curl -u <username> https://api.github.com/user
使用Github API Ruby gem的示例
github = Github.new basic_auth: 'login:password'
要使用 OAuth 身份验证,您需要获取 API 密钥。一旦你有了这个,你可以用它来代替用户名和密码。
CURL 中的示例
curl -u <token>:x-oauth-basic https://api.github.com/user
使用Github API Ruby gem的示例
github = Github.new oauth_token: 'token'
您可以在“个人访问令牌”部分下的this 页面上轻松生成 API 令牌供个人和/或测试使用。
为了以编程方式使用或验证其他用户的帐户,您需要创建一个新的 Github 应用程序,以便生成 OAuth 令牌。这可以在“开发者应用程序”页面下的same page 页面上完成。
注册申请后,您将收到client_id 和client_secret。您需要获取这些值并使用它们来授权用户帐户并接收令牌作为交换。
有很多方法可以做到这一点,最简单的是使用omniauth-github 或Github API Ruby gem。
这里有一些资源可供查看:
【讨论】: