ruby '2.6.3‘gem '>=’,'rails',‘rails 6.0.2',’rails 6.0.2.1‘
我使用的是最新的omniauth-facebook和一起设计的Gemfile: gem ' devise‘gem 'omniauth-facebook’
启动服务器时出现此错误:
/versions/2.6.3/lib/ruby/gems/2.6.0/gems/devise-4.7.3/lib/devise/omniauth.rb:12:in `':您正在使用旧的OmniAuth版本,请确保已安装1.0.0.pr2或更高版本。(RuntimeError)
问题是,如果我尝试使用旧的omniauth-facebook版本,服务器可以工作,但Facebook身份验证停止正常工作(例如,失败包括电子邮件,尽管
作用域:'email',info_fields:'email,name‘
在devise.rb中。)
我尝试过很多不同版本的omniauth-facebook和devise。要么是Facebook身份验证停止正常工作,要么是服务器出现故障(见上)。
发布于 2021-01-15 15:32:43
使用
gem 'devise', github: 'heartcombo/devise', branch: 'ca-omniauth-2'在Gemfile中可以解决这个问题,等待合并。
根据下面的卡洛斯答案更新了我的答案,当我使用ref发布这篇文章时,我很着急。
谢谢你,卡洛斯维护设计。
发布于 2021-01-21 01:15:51
我是卡洛斯,设计维护者。请留意上面链接的拉取请求,我只是shared how you can test it in your app there
我建议使用分支引用,而不是直接使用git引用:
gem 'devise', github: 'heartcombo/devise', branch: 'ca-omniauth-2'这样,您就可以运行bundle update devise omniauth了,它有望为您提供OmniAuth 2和这个Devise分支。这应该允许应用程序启动。
最后,如果您已经复制了应用程序上的Devise共享链接,或者如果您有自己的链接来启动OmniAuth身份验证流程,则需要确保将它们更改为使用表单。(例如,您可以使用带有method: :post选项的link_to,或者使用button_to (如果适用于您的应用程序)。)请注意,由于read more的安全问题,这是对OmniAuth工作方式的要求更改。
如果你遇到任何问题,请在GitHub中回复,我们将尽快解决这些问题,这样我们就可以发布一个完全支持OmniAuth 2的新的Devise版本。谢谢。
发布于 2021-05-01 06:57:10
Devise 4.8.0 (昨天发布)解决了这个问题。
https://stackoverflow.com/questions/65702896
复制相似问题