【发布时间】: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 登录以重定向访问时,我仍然收到以下错误。
错误如下:
- 这是一个错误。
错误: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