我有一个身份验证,已完成设计并使用omniauth从各种提供商(包括vk.com,google,twitter等)登录。一切似乎都运作良好,除了我需要为每个提供商包含一个单独的宝石。
现在我决定让身份验证更轻松并添加一些日志记录,所以我决定从设计转向巫术。但是现在我遇到外部供应商的问题,因为宝石只有少数(没有vk.com或雅虎,我需要)。
我试图理解外部提供者的代码来添加我自己的代码,但对我来说似乎有点太复杂了。有没有更简单的方法?
答案 0 :(得分:3)
如果有人在寻找类似的答案时发现了这个问题,那么Sorcery现在会为大多数主要登录提供外部身份验证。参见:
https://github.com/NoamB/sorcery/wiki/External
在安装外部模块后,在rails应用程序中,您将拥有一个文件:config / initializers / sorcery.rb。其中将包含大多数提供商的示例代码。
答案 1 :(得分:1)
我认为你不会找到一个简单的解决方案。
我在上一个应用程序上遇到了这个问题。我结束了与Sorcery和Omniauth的合作。我将它们集成在Users模型和Sessions控制器中。 Sorcery的外部提供商的东西似乎没有保持最新。
最后,如果我不得不再做一次,我可能只是从头开始进行身份验证。巫术是好的,但它似乎并不足以保证额外的依赖。
如果您从头开始进行身份验证,则可以查看以下资源: