我试图将google calendar api整合到我的ruby应用程序中,在谷歌开发者控制台中我给了我的重定向uri
http://localhost:3000
http://localhost:3000/auth/google_oauth2/callback
400. That’s an error.
错误:redirect_uri_mismatch
redirect_uri=http://localhost:9292/
即使我提到3000
,它也会继续获得9292端口我已经关注了这些链接 ruby quickstart from google
答案 0 :(得分:0)
我遇到了同样的问题,不幸的是我在这个愚蠢的问题上浪费了4个小时,因为我发现你正在使用gem "omniauth-google-oauth2"
实际上没有定义范围,你需要添加范围,否则它会继续误导你。我在下面使用了intializer中的键
Provider :google_oauth2, 'customer_key', 'my_sec' , {:scope => 'email,profile' }
并更新您的gem file
,如下所示
gem 'omniauth-oauth2', '~> 1.3.1'
gem "omniauth-google-oauth2"
<强>更新强>
origin Url -> http://localhost:3000
callback Url-> http://localhost:3000/auth/google_oauth2/callback
routes.rb -> get "auth/:provider/callback", to: 'registration#create_session'
答案 1 :(得分:0)
只是@ ImranNaqvi的答案的补充;当我在更改omniauth-oauth2的版本后运行'bundle install'时,终端抱怨我的omniauth-oauth2被锁定在版本1.4.0。如果发生这种情况,您将需要进入gem.lock文件(而不是gem列表)并将omniauth-oauth2版本更改为1.3.1。然后'捆绑安装'。