ruby-on-rails 向魔法添加外部供应商

wribegjk  于 2023-02-06  发布在  Ruby
关注(0)|答案(2)|浏览(230)

我有一个带有认证的应用程序,它是用devise完成的,使用omniauth从不同的提供商(包括vk.com,google,twitter等等)登录,一切看起来都运行良好,除了我需要为每个提供商都添加一个单独的gem。
现在,我决定让身份验证变得更轻松,并添加一些日志记录,所以我决定从设计转向魔法。但现在我有一个外部提供商的问题,因为gem只有几个(没有vk.com或yahoo,我确实需要)。
我试着去理解外部提供者的代码来添加我自己的,但是对我来说似乎有点太复杂了。有没有更简单的方法?

x9ybnkn6

x9ybnkn61#

以防有人在寻找类似答案时发现这个问题,魔法现在为大多数主要登录提供了外部身份验证。
https://github.com/Sorcery/sorcery/wiki/External
安装外部模块后,您将在rails应用中获得一个文件:config/initializers/sorcery. rb。其中包含大多数提供程序的示例代码。

jfgube3f

jfgube3f2#

我不认为你会找到一个简单的解决办法。
我在上一个开发的应用程序中遇到了这个问题。最后我只使用了Sorcery和Omniauth。我将它们集成到了用户模型和会话控制器中。Sorcery的外部提供程序似乎没有保持最新。
最后,如果我不得不再做一次,我可能只是从头开始做认证。魔法是不错,但它似乎没有提供足够的保证额外的依赖性。
如果从头开始进行身份验证是您最终的选择,您可以查看以下资源:

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

相关问题