Jim*_*nes 10 authentication twitter facebook ruby-on-rails omniauth
我想弄清楚omniauth(https://github.com/intridea/omniauth)和oauth-plugin 之间的区别- (https://github.com/pelle/oauth-plugin)
我只是想找一种方法让我的用户在我的应用程序中进行身份验证(Twitter,Facebook等).
我知道omniauth提供了这个,但是我正在运行rails 2.3.10,我不相信omniauth支持.我可以使用oauth-plugin吗?它似乎也有很少的依赖.任何想法都表示赞赏.
asy*_*ric 24
我不同意以前的答案.
oauth-plugin 是
用于在Rails应用程序中实现OAuth 提供程序和使用者的插件.1
它提供了两个生成器(一个用于实现OAuth提供程序,一个用于消费者),它们创建模型,视图和控制器.控制器的工作方式是它们是gem中定义的控制器的子类.它与Rails相关联,并且只能执行OAuth.
omniauth,在另一方面,是一个模块化的,框架无关库,允许您通过供应商的大量提供认证.
具体来说,这意味着您设置了两个端点(/auth/:provider和/auth/:provider/callback),让您的用户对提供程序进行身份验证,并接收带有用户信息的哈希值.
TL; DR
如果您只需要通过Facebook/Twitter/OAuth/etc提供身份验证(即您希望成为OAuth 使用者),那么omniauth肯定会更轻量级.
如果您想运行OAuth提供程序,oauth-plugin可能会更直接,但在我看来,它往往会更加臃肿,因为它会在您的应用程序中注入大量的样板代码.
Omniauth 是一个超级授权宝石,让您可以访问整个 Web 服务列表(Twitter、Facebook、Foursquare、Gowalla、Netflix、YouTube 等)的 OAuth 流程,因此您可以为每个服务调用特定函数,快速设置。
您提到的 oauth-plugin 似乎只是为您设置了 OAuth 常规设置,并且您必须自己为每个服务进行 API 连接。更轻量级,因此,例如,如果您只需要 Twitter 服务,这可能是一个更好的方法,尽管我仍然可能会查看 Omniauth 以了解它的性能消耗有多大,因为它会很大整体上更容易使用。
| 归档时间: |
|
| 查看次数: |
4222 次 |
| 最近记录: |