在https://code.google.com/apis/console网站上,我已经注册了我的应用程序,设置生成的客户端ID:和客户端秘密到我的应用程序,并尝试登录谷歌。 不幸的是,我收到了错误信息:

Error: redirect_uri_mismatch
The redirect URI in the request: http://127.0.0.1:3000/auth/google_oauth2/callback did not match a registered redirect URI

scope=https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email
response_type=code
redirect_uri=http://127.0.0.1:3000/auth/google_oauth2/callback
access_type=offline
approval_prompt=force
client_id=generated_id

这条信息是什么意思,我该如何修复它? 我使用宝石omniauth-google-oauth2。


当前回答

就我而言,我补充道

https://websitename.com/sociallogin/social/callback/?hauth.done=Google

在授权重定向uri部分,它为我工作

其他回答

我在控制台中有两个请求uri, http://xxxxx/client/api/spreadsheet/authredirect和http://localhost。

我尝试了这个问题的所有回答,并确认没有一个是我的问题。

我从控制台删除了localhost,更新了client_secret。Json在我的项目中,不匹配错误消失了。

在我的例子中,重置secret ('reset secret'-按钮)就成功了。

没有“一个”解决方案,这似乎很奇怪,也很烦人。 对我来说,http://localhost:8000没有成功,但http://localhost:8000/成功了。

检查表:

HTTP还是https? &或&? 后面的斜杠(/)还是打开? (CMD/CTRL)+F,在证书页面中搜索精确匹配。如果 没有找到,那就去找失踪的那个。 等待谷歌刷新它。可能每半小时发生一次,如果你 经常更换,否则可能会留在池中。就我的情况而言,几乎用了半个小时才生效。

试着做这些检查:

控制台和应用程序中的Bundle ID。我更喜欢这样设置应用程序的Bundle ID: "org.peredovik.${PRODUCT_NAME:rfc1034identifier}" 检查你是否在信息选项卡添加了URL类型,只需在标识符和URL方案中输入你的Bundle ID,角色设置为编辑器 在控制台cloud.google.com“api & auth”->“同意屏幕”填写关于您的应用程序的表格。“产品名称”是必填字段。

享受:)