首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当正确地重定向uri设置时,Google Oauth2在生产中出现"redirect_uri_mismatch“错误

当正确地重定向uri设置时,Google Oauth2在生产中出现"redirect_uri_mismatch“错误
EN

Stack Overflow用户
提问于 2022-09-03 15:40:56
回答 3查看 191关注 0票数 2

我在一个反应项目中设置了google oauth。它在当地的发展中发挥了良好的作用。有一次,我将oauth客户端提升为" production“,并修改了JS原点,并将URI重定向到生产值,但是它给出了这个错误。

错误400: redirect_uri_mismatch 你不能登录这个应用程序,因为它不符合谷歌的OAuth 2.0政策。 如果您是应用程序开发人员,请在Google控制台中注册重定向URI。请求详细信息: redirect_uri=http://super-server.herokuapp.com/v1/auth/google/callback相关开发人员文档

这些是google云控制台中的授权重定向URI:

正如您所看到的,HTTP模式没有授权的uri。他们甚至不被允许进入生产模式。所以我不确定这是从哪里来的,因为服务器是HTTPS

服务器:

有什么建议吗?

EN

回答 3

Stack Overflow用户

发布于 2022-09-03 17:26:51

重定向uri必须与要添加到控制台的完全匹配。

如果您检查您的应用程序正在运行的错误消息。

代码语言:javascript
复制
http://super-server.herokuapp.com/v1/auth/google/callback

所有您添加的都是https。

请允许我建议修复您的应用程序,使其运行https。我认为您将无法添加http作为产品重定向uri端点。

文档

获取OAuth 2.0访问令牌

授权错误重定向uri错配

Node.js

我对react.js还不太了解,但是对于节点,您应该可以这样做

代码语言:javascript
复制
const http = require('http');
const https = require('https');
票数 1
EN

Stack Overflow用户

发布于 2022-09-04 18:57:11

在我的例子中(MERN + passport.js),我的配置如下所示:

代码语言:javascript
复制
const googleOptions = {
  clientID: config.google.id,
  clientSecret: config.google.secret,
  passReqToCallback: true,
  callbackURL: '/v1/auth/google/callback',
  scope: ['profile', 'email']
};

尽管服务器、客户端& google控制台中的oauth客户机的配置都与https的所有设置一起生产,但出于某种原因,callbackURL一直以http://my-domain.com/v1/auth/google/callback的形式使用google

因此,这个修复可能很麻烦,但它确实解决了我的oauth问题:

代码语言:javascript
复制
//Google Strategy
const googleOptions = {
  clientID: config.google.id,
  clientSecret: config.google.secret,
  passReqToCallback: true,
  callbackURL: config.environment == 'production' ? 'https://super-server.herokuapp.com/v1/auth/google/callback' : '/v1/auth/google/callback',
  scope: ['profile', 'email']
};
票数 0
EN

Stack Overflow用户

发布于 2022-09-04 19:05:14

看起来客户端(React端)上的redirect_uri设置为http://super-server.herokuapp.com/v1/auth/google/callback

将客户端上的redirect_uri从(http) http://super-server.herokuapp.com/v1/auth/google/callback更改为(https) https://super-server.herokuapp.com/v1/auth/google/callback

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73593496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档