Google OmniAuth for rails给出错误“缺少必需的参数:client_id”

时间:2018-12-30 17:25:27

标签: ruby-on-rails ruby-on-rails-5 omniauth omniauth-google-oauth2

我需要一些帮助。

我已正确执行所有步骤,以使用omniauth启用Google登录。

我的配置/初始化程序/omniauth.rb

     require 'omniauth-google-oauth2'
     require 'dotenv'

        Rails.application.config.middleware.use OmniAuth::Builder do
        provider :google_oauth2,
        ENV["GOOGLE_APP_ID"],
        ENV["GOOGLE_APP_SECRET"]
.......

    end 

我的路线正确:

  get    '/auth/google_oauth2/callback', to: 'sessions#googleAuth'
  get    'auth/failure',                 to: redirect('/')
  get    'signout',                      to: 'sessions#destroy', as: 'signout'

我已经正确保存了凭据。

但是,当我单击Google登录以重定向到访问时,仍然出现以下错误。

错误如下:

  
      
  1. 那是一个错误。
  2.   
     

错误:invalid_request

     

缺少必需的参数:client_id

     

了解详情

     

请求详细信息access_type = offline client_id =提示=同意   redirect_uri = http://localhost:3000/auth/google_oauth2/callback   response_type = code

为什么我会丢失缺少的client_id错误,所以在Google控制台上正确设置了项目后,其他一切都很好。

请帮助我解决这个问题。

谢谢!

1 个答案:

答案 0 :(得分:0)

嘿,谢谢大家的评论。

我能够通过添加

来解决它
Dotenv.load 

到Omniauth.rb