OAuth::Unauthorized Google+ 登录时出现 400 错误 API

OAuth::Unauthorized 400 error with Google+ login API

我正在尝试在我正在开发的应用程序中使用 Devise 和 omniauth 设置 Google+ 登录并 运行 进入 OAuth::Unauthorized 400 错误。我正在使用 omniauth-google gem。我的 Devise 配置为 Google:

设置了 omniauth
config.omniauth :google, ENV['GOOGLE_KEY'], ENV['GOOGLE_SECRET'], scope: 'plus.login'

我是 运行 本地站点 dev.app.com:3000,在 Google 开发者控制台的应用程序设置中我设置了 JavaScript 来源为 http://dev.app.com:3000,重定向 URI 为 http://dev.app.com:3000/users/auth/google/callback。我已经确认我的密钥和秘密是正确的。这里有什么问题?

我没有发现任何问题,您可以通过本教程获得更好的图片 [https://www.digitalocean.com/community/tutorials/how-to-configure-devise-and-omniauth-for-your-rails-application

或者你可以试试

omniauth-google-oauth2

https://github.com/zquestz/omniauth-google-oauth2

google 的 omniauth-google 1.0 策略是 deprecated。也就是说,您的配置没有任何问题。

你最好切换到 OAuth 2.0,除非你有非常令人信服的理由不这样做。请注意,提供程序符号已从 :google 更改为 :google_oauth2。切换后,它应该如下所示:

provider :google_oauth2, ENV["GOOGLE_KEY"], ENV["GOOGLE_SECRET"]