【问题标题】:Gem for oAuth2 Consumer AND Provider functionality in Rails 2.3.5Rails 2.3.5 中用于 oAuth2 消费者和提供者功能的 Gem
【发布时间】:2011-04-30 20:20:40
【问题描述】:

我正在努力寻找一个可用的 gem,它为 Rails 2.3.5 应用程序提供以下内容:

  • 我们希望使用 oAuth 2 保护 API;因此需要一个控制器来创建访问/请求令牌和模型(客户端,令牌,...)
  • 我们想使用 Facebook 和 Twitter 等 oAuth2 服务

如果支持 3 legged 和 2 legged 身份验证也很好。

我找到了那些宝石,但它们都有很大的缺点:

  • oauth-ruby (github.com/oauth/oauth-ruby)
    • 我不太确定它是否已经实现了 oauth2 机制
    • 更像是顶层服务的基本库

  • oauth 插件 (github.com/pelle/oauth-plugin)
    • 看起来很方便,但 oauth2 仅在 rails3 分支中支持:(

  • oauth2 (github.com/intridea/oauth2)
    • 仅适用于 oAuth2 消费者/无提供者功能

  • oauth2-ruby (github.com/aflatter/oauth2-ruby/tree/)
    • 最后一次提交:16.07.10 "DESCTRUCTIVE COMMIT" :(
    • 基于 oAuth2 Draft 00(旧!)

  • oauth2-provider (github.com/ThoughtWorksStudios/oauth2_provider)
    • 最后一次提交:21.10.10 - 好
    • 仅提供程序功能:(
    • 基于 oAuth2 Draft 09(相当新)

有没有人用这些宝石中的一个或组合达到这些要求?你能给我一个方向吗?

非常感谢任何帮助!

【问题讨论】:

  • 我今天收到了来自 oauth-plugin 的作者 pelle 的回复。我问他 master 分支是否也提供 oauth2 支持(不仅仅是 rails3 分支)。他说“它应该在 Rails 2.3.x 中运行良好,但我想听听有关它的反馈。我真的应该重命名分支。” !我会尝试一下 ! github.com/pelle/oauth-plugin/issues#issue/19
  • 我们从 oauth-plugin 实现了一个自定义的 rails3 分支分支,它就像一个魅力
  • 我在 before_filter :login_or_oauth_required 和 oauthenticate 回调上仍有问题,你是如何处理的?
  • @gozali 你有哪些具体问题?我们只使用 oauthenticate btw(不再需要 login_or_oauth_required);当“Interactive”选项设置为TRUE时,它将表现为login_or_oauth_required span>
  • @makibo :我已经通过将我的 gem 升级到新的来解决它,但由于缺乏文档和示例,仍然对如何正确使用 gem 感到困惑

标签: ruby-on-rails rubygems oauth oauth-2.0 oauth-provider


【解决方案1】:

我无法帮助您进行搜索。但我只想说,对于一个仍在非常活跃的开发中的协议来说,这已经是相当多的实现了:)

请参阅我对当前 OAuth 2.0 状态的指针,截至草案 11,https://security.stackexchange.com/questions/1187/what-were-the-specific-security-flaws-with-oauth-1-0-how-are-they-being-addresse/1201#1201

(谁能描述 2.0 的不同草案之间的互操作性程度?)

【讨论】:

    【解决方案2】:

    想添加更多我遇到的库。我也没有使用过,但我认为他们应该在这篇文章上供人们比较:

    【讨论】:

      【解决方案3】:

      我已经评估了此线程中列出的大多数 gem,并且在我(有偏见的)看来,devise_oauth2_providable gem 是 rails 应用程序的最佳 oauth2 提供程序后端。它的目标是成为现有 Rails 应用程序的最简单集成,我建议您看一下。

      https://github.com/socialcast/devise_oauth2_providable

      您可以为 oauth2 消费者混合和匹配不同的 gem,因为他们有足够不同的职责。

      【讨论】:

        猜你喜欢
        • 2011-04-05
        • 1970-01-01
        • 2014-12-10
        • 1970-01-01
        • 2015-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-17
        相关资源
        最近更新 更多