Kan*_*yan 7 ruby-on-rails omniauth
我有
gem 'omniauth-google_oauth2'
Run Code Online (Sandbox Code Playgroud)
在我的Gemfile中.捆绑安装之后也是如此.它错误地说,
ruby-1.9.3-p0/gems/omniauth-1.0.2/lib/omniauth/builder.rb:33:在`rescue in provider'中:找不到匹配的策略:google_oauth2.您可能需要安装其他gem(例如omniauth-google_oauth2).(LoadError)
我错过了什么?请任何想法.
问题是由OmniAuth如何对提供者名称进行渲染:
OmniAuth::Utils.camelize(:google_oauth2.to_s) => GoogleOAuth2
然而,提供者实际上是GoogleOauth2完全合格的 -OmniAuth::Strategies::GoogleOauth2
所以解决方案是使用完全限定的类:
OmniAuth::Strategies::GoogleOauth2
Rails.application.config.middleware.use OmniAuth::Builder do
provider OmniAuth::Strategies::GoogleOauth2, ENV["KEY"], ENV["SECRET"]
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3379 次 |
| 最近记录: |