我试图找出 omniauth ( https://github.com/intridea/omniauth ) 和 oauth-plugin - ( https://github.com/pelle/oauth-plugin ) 之间的区别
我只是在寻找一种允许我的用户在我的应用程序中使用(Twitter、Facebook 等)进行身份验证的方法。
我知道 omniauth 提供了这个,但我运行的是 rails 2.3.10,我认为 omniauth 不支持它。我可以使用 oauth 插件吗?它似乎也有更少的依赖性。任何想法表示赞赏。
最佳答案
我不同意之前的回答。
oauth-plugin
是
a plugin for implementing OAuth Providers and Consumers in Rails applications. 1
它提供了两个生成器(一个用于实现 OAuth 提供者,一个用于消费者),用于创建模型、 View 和 Controller 。 Controller 的工作方式是它们是 gem 中定义的 Controller 的子类。它与 Rails 紧密结合,只能进行 OAuth。
另一方面,omniauth
是一个模块化的、与框架无关的库,允许您通过多个提供商提供身份验证。
具体来说,这意味着您设置了两个端点(/auth/:provider
和 /auth/:provider/callback
),让您的用户通过提供者进行身份验证,并接收包含用户信息的哈希值作为返回。
长话短说
如果您只需要通过 Facebook/Twitter/OAuth/etc 提供身份验证(即您想成为 OAuth 消费者),那么 omniauth
绝对更轻量级。
如果你想运行一个 OAuth 提供者,oauth-plugin
可能更直接,但在我看来它往往更加臃肿,因为它注入(inject)了很多样板编码到您的应用中。
关于ruby-on-rails - omniauth 与 oauth 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6715572/