【问题标题】:Rails 3. Building an oauth2 providerRails 3. 构建 oauth2 提供程序
【发布时间】:2011-06-21 11:32:18
【问题描述】:

我正在用 Ruby on Rails 3 开发一个 API,我想用 Oauth2 来保护它。 换句话说,我需要创建一个 Oauth 提供程序。是否有适用于 Rails 3 的工作 gem,或者可能有关于该问题的教程?

更新

我知道 Rails 是基于 REST 的,所以我觉得很奇怪没有关于如何创建公共 API 和保护它的教程。有谁知道任何好的教程。最好使用 oAuth。

感谢大家的帮助!!

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 oauth-2.0


    【解决方案1】:

    看看这个宝石https://github.com/applicake/doorkeeper

    它适用于 Rails 3,不过它的开发还处于早期阶段。

    还有一个示例应用,您可以查看一下 API 是如何完成的。

    http://doorkeeper-provider.herokuapp.com/

    【讨论】:

      【解决方案2】:

      我昨天开源了一个OAuth2 server implementation

      它有据可查,并且有一个控制访问的仪表板。现在我正在寻找想要从它开始构建引擎的人,或者在机架顶部建造一些很酷的东西。这就是为什么它是开源的。

      【讨论】:

      • 谢谢,我希望社区能成为项目的一部分,让项目越来越好。
      • 非常感谢开源。我从中学到了很多。
      • 截至目前,Oauth2 server implementation 已被标记为已放弃,建议转至doorkeeperopro
      【解决方案3】:

      https://github.com/intridea/oauth2 是目前 OAuth2 开发人员的规范宝石。如果您正在寻找更完整的解决方案,而不是滚动您自己的提供程序代码,请查看:

      但如果您对流程不是很熟悉,我建议您使用 oauth2 gem,以便您可以更好地学习它。

      【讨论】:

      • 谢谢!是否有任何文件可以解决这个问题? github.com/freerange/oauth2-provider
      • 那个版本是基于 mongoid btw :) 所以除非你使用它,否则我会建议其他版本。我只是亲自从头开始构建提供程序。
      • 我正在使用 SQL。你知道在 Rails 3 中构建提供程序的好指南吗?
      • 我还没有遇到 ActiveRecord 的任何指南。 OAuth2 规范仍在制定中。也许您可以使用 OAuth 1.0?它存在的时间更长,而且库也更加成熟。
      • 是的,当然。您是否有任何指向 Oauth1 的任何库或 gem 的链接?
      【解决方案4】:

      如果您正在使用(或计划使用)设备进行身份验证,您可以使用https://github.com/socialcast/devise_oauth2_providable 作为插件。

      【讨论】:

      • 这看起来很不错。我试过了,但我不知道如何创建一个客户端。
      • 这是一个使用这个设计插件的客户端(sinatra)和服务器(rails)示例:github.com/aganov/devise-oauth2-provider-client
      • 来自他们当前的README.md:“此 GEM 不再维护,已被视为已弃用。”
      【解决方案5】:

      我正在为 OAuth2 提供商 Rack::OAuth2 开发一个 rugygem。 https://github.com/nov/rack-oauth2

      它需要自己开发模型(令牌、代码、客户端等),但您可以在此处获取完整的 Rails3 示例 OAuth2 服务器。 https://github.com/nov/rack-oauth2-sample

      【讨论】:

        【解决方案6】:

        我也在寻求实现 OAuth2 提供程序!我目前正在试验这个https://github.com/assaf/rack-oauth2-server,它似乎是一个功能齐全的OAuth2 服务器,尽管它仍然只支持MongoDB,尽管实现对其他DBMS 的支持似乎很简单。我也在看这里发布的其他一些选项,很多有前途的东西!

        【讨论】:

        • 我已经用它来实现一个 oauth2 安全 API,它可以工作,但我花了几天的时间来理解它。作者非常乐于助人
        【解决方案7】:

        “Doorkeeper 是一个可以轻松地将 OAuth 2 提供程序功能引入您的应用程序的 gem。”

        https://github.com/applicake/doorkeeper

        【讨论】:

          猜你喜欢
          • 2012-07-27
          • 2014-01-08
          • 1970-01-01
          • 1970-01-01
          • 2016-06-17
          • 2018-07-21
          • 2015-05-07
          • 2017-05-11
          • 1970-01-01
          相关资源
          最近更新 更多