【问题标题】:Github AuthorizationGithub 授权
【发布时间】:2014-02-27 00:06:22
【问题描述】:

有没有办法使用 github 凭据作为应用程序授权?我正在使用 github api 来解决问题,我正在尝试弄清楚如何使用 github 凭据“登录”。任何帮助和指导将不胜感激。

【问题讨论】:

    标签: ruby-on-rails login github authorization


    【解决方案1】:

    您尝试过 OmniAuth 吗?这很简单。 https://github.com/intridea/omniauth-github

    【讨论】:

      【解决方案2】:

      你可以使用omniauth-github gem

      另外,我使用它构建的示例应用程序(来源):https://github.com/jamesy829/oauth-github

      【讨论】:

      • 从哪里获得 github_key 和 github_secret?
      • 您必须注册您的应用程序developer.github.com/v3/oauth 我正在使用 figaro gem 并将其放入 yml 文件中
      【解决方案3】:

      Github API 支持两种类型的身份验证:HTTP basicOAuth

      基本认证

      要使用基本身份验证,您只需将用户名和密码传递给 API。

      cURL 中的示例:

      curl -u <username> https://api.github.com/user
      

      使用Github API Ruby gem的示例

      github = Github.new basic_auth: 'login:password'
      

      OAuth

      要使用 OAuth 身份验证,您需要获取 API 密钥。一旦你有了这个,你可以用它来代替用户名和密码。

      CURL 中的示例

      curl -u <token>:x-oauth-basic https://api.github.com/user
      

      使用Github API Ruby gem的示例

      github = Github.new oauth_token: 'token'
      

      获取 OAuth 令牌

      您可以在“个人访问令牌”部分下的this 页面上轻松生成 API 令牌供个人和/或测试使用

      为了以编程方式使用或验证其他用户的帐户,您需要创建一个新的 Github 应用程序,以便生成 OAuth 令牌。这可以在“开发者应用程序”页面下的same page 页面上完成。

      注册申请后,您将收到client_idclient_secret。您需要获取这些值并使用它们来授权用户帐户并接收令牌作为交换。

      有很多方法可以做到这一点,最简单的是使用omniauth-githubGithub API Ruby gem

      这里有一些资源可供查看:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-07
        • 2018-05-26
        • 2020-06-18
        • 2019-11-26
        • 1970-01-01
        相关资源
        最近更新 更多