我正在使用oauth2 gem作为谷歌登录auth。我的代码看起来像
omniauth.rb
OmniAuth.config.logger = Rails.logger
require "omniauth-google-oauth2"
Rails.application.config.middleware.use OmniAuth::Builder do
provider :google_oauth2, 'secret-client-id', 'secret-number', {client_options: {ssl: {ca_file: Rails.root.join("cacert.pem").to_s}}}
end我的routes.rb
get 'auth/:provider/callback', to: 'sessions#create'
get 'auth/failure', to: redirect('/')我的视图
<%= link_to "Sign in with Google", "/auth/google_oauth2", id: "sign_in" %>我要在这几页之后得到这个URL


,我哪里错了?
发布于 2015-10-27 21:19:31
尝试将令牌添加到总括初始化程序中:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :google_oauth2, "id", "secret", {
client_options: {ssl: {ca_file: Rails.root.join("cacert.pem").to_s}},
scope: 'email profile',
access_type: 'online',
setup: (lambda do |env|
request = Rack::Request.new(env)
env['omniauth.strategy'].options['token_params'] = {:redirect_uri => 'http://.../auth/google_oauth2/callback'}
end)
}
endhttps://stackoverflow.com/questions/33354095
复制相似问题