微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Google OAuth2.0 访问权限

如何解决Google OAuth2.0 访问权限

使用谷歌 oAuth2 时。我不断得到 Erreur 400 : redirect_uri_mismatch The redirect URI in the request,http://hostname/signin-google,does not match the ones authorized for the OAuth client. To update the authorized redirect URIs,visit: 使用 HTTP 访问。 但我使用 https 访问来访问 url。 我不知道为什么它通过 HTTP 而不是 HTTPS 重定向 . 对于我正在使用的身份验证

await HttpContext.ChallengeAsync("Google",new AuthenticationProperties() {RedirectUri = "/"})

-- 注意:当尝试在 GCP 接受的 redirect_uris 上使用 http 添加我的主机名时,它不接受 http,而只接受 HTTPS

非常感谢

解决方法

您应该将您自己的服务器/客户端应用程序的地址传递为 RedirectUri,它可以处理 Google 的登录对话框的答案。该地址应该是一个完整的网址,而不仅仅是“/”,它必须在 Google 开发者控制台中注册,并且必须是带有 https:// 前缀的网址。

您不能使用不安全的 http:// 重定向地址实施 OAuth2,这会破坏所有安全性。

,

事实上,这是你公开你的应用程序的方式,它在参数中被接受。 对我来说,我使用 dockerfile 来公开我的应用程序,我曾经使用 Expose http://*:80 即使关联的域以 HTTPS 启动,在应用程序内部也始终是 HTTP 调用,因此所有重定向都是通过 http 协议完成的。 我将我的应用程序的公开方式从 http://:80 更改为 https://:443 在代码中,我使用 kestrel 启动应用程序,现在运行良好 谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。