ruby-on-rails - omn​​iauth 与 oauth 插件

标签 ruby-on-rails facebook authentication twitter omniauth

我试图找出 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 - omn​​iauth 与 oauth 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6715572/

相关文章:

ruby-on-rails - 我们是否需要在用户注销后删除 session 变量?

ruby-on-rails - Rails 3 路由和格式特异性

mysql - Active Record 和迁移格式错误的日期

facebook - 了解 Facebook SDK 应用请求与应用邀请

iOS Facebook SDK : Apprequests dialog doesn't show up

c# - 不记名 token 无效

javascript - 访问属性 "textContent"的权限被拒绝(Selenium::WebDriver::Error::JavascriptError

java - 使用谷歌的 Gson 将 Json 转换为 java 对象

php - 在 PHP 中安全地创建和销毁登录 session

c# - Arduino 安全地使用 .net Core api?