如何正确设置Omniauth + Devise +多个提供程序

时间:2015-06-12 00:07:19

标签: ruby-on-rails heroku twitter devise

我的facebook身份验证有效。我的Twitter登录只适用于localhost。我的谷歌根本不起作用。 对于谷歌,我收到错误:

400. That’s an error.
Error: redirect_uri_mismatch
The redirect URI in the request: http://unstarv.herokuapp.com/users/auth/google_oauth2/callback did not match a registered redirect URI.

对于Twitter我在heroku的生产中遇到了类似的问题,虽然localhost适用于Twitter登录。

我在Twitter和Google应用中设置的重定向URI是:

  http://unstarv.herokuapp.com

虽然我在尝试登录这些应用后获得的网址是:

https://accounts.google.com/o/oauth2/auth?access_type=offline&client_id=XXXXXXXXXXXXXXXXXXXXX
http://unstarv.herokuapp.com/users/auth/twitter/callback?oauth_token=XXXXXXXXXXXXXXXXXXXXX

我是否正确设置了我的重定向&回调URI? Twitter登录如何在localhost上运行,而不是在heroku上运行? 谢谢!!!

1 个答案:

答案 0 :(得分:1)

你应该在谷歌控制台中添加它

http://unstarv.herokuapp.com/users/auth/google_oauth2/callback

在Twitter上我设置了

http://unstarv.herokuapp.com/作为回调网址