【问题标题】:Google OmniAuth for rails giving error "Missing required parameter: client_id"Google OmniAuth for rails 给出错误“缺少必需的参数:client_id”
【发布时间】:2018-12-30 17:25:26
【问题描述】:

我需要一些帮助。

我已正确执行所有步骤,以使用 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. 这是一个错误。

错误:invalid_request

缺少必需参数:client_id

了解更多

请求详细信息 access_type=offline client_id= prompt=consent 重定向uri=http://localhost:3000/auth/google_oauth2/callback response_type=code

为什么我会收到缺少 client_id 的错误,当我的项目在 Google 控制台上正确设置时,其他一切都很好。

请帮我解决这个问题。

谢谢!

【问题讨论】:

  • 这些环境变量你设置了吗?? GOOGLE_APP_ID 和 GOOGLE_APP_SECRET 我不认为你有,请设置它然后尝试。
  • 我确实设置了它们.. 但它似乎没有响应
  • 打印记录器语句并检查环境变量是否成功传递到omniauth.rb

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


【解决方案1】:

大家好,感谢 cmets。

我可以通过添加来解决它

Dotenv.load 

到 Omniauth.rb

【讨论】:

    猜你喜欢
    • 2021-11-05
    • 1970-01-01
    • 2017-12-09
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多