将外部提供者添加到巫术中

时间:2012-10-13 20:34:45

标签: ruby-on-rails ruby-on-rails-3.2 sorcery

我有一个身份验证,已完成设计并使用omniauth从各种提供商(包括vk.com,google,twitter等)登录。一切似乎都运作良好,除了我需要为每个提供商包含一个单独的宝石。

现在我决定让身份验证更轻松并添加一些日志记录,所以我决定从设计转向巫术。但是现在我遇到外部供应商的问题,因为宝石只有少数(没有vk.com或雅虎,我需要)。

我试图理解外部提供者的代码来添加我自己的代码,但对我来说似乎有点太复杂了。有没有更简单的方法?

2 个答案:

答案 0 :(得分:3)

如果有人在寻找类似的答案时发现了这个问题,那么Sorcery现在会为大多数主要登录提供外部身份验证。参见:

https://github.com/NoamB/sorcery/wiki/External

在安装外部模块后,在rails应用程序中,您将拥有一个文件:config / initializers / sorcery.rb。其中将包含大多数提供商的示例代码。

答案 1 :(得分:1)

我认为你不会找到一个简单的解决方案。

我在上一个应用程序上遇到了这个问题。我结束了与Sorcery和Omniauth的合作。我将它们集成在Users模型和Sessions控制器中。 Sorcery的外部提供商的东西似乎没有保持最新。

最后,如果我不得不再做一次,我可能只是从头开始进行身份验证。巫术是好的,但它似乎并不足以保证额外的依赖。

如果您从头开始进行身份验证,则可以查看以下资源:

  1. https://github.com/NoamB/sorcery/tree/master/lib
  2. https://github.com/railscasts/250-authentication-from-scratch-revised