使用 .net api 通过 Google 登录

Posted

技术标签:

【中文标题】使用 .net api 通过 Google 登录【英文标题】:Sign in with Google using .net api 【发布时间】:2020-10-12 03:15:02 【问题描述】:

我正在Gmail quickstart .net 尝试快速启动程序, 但我得到一个错误 400,不匹配的 url。

我为回调添加了两个 localhost url,但错误仍然存​​在。我知道以前有人问过类似的问题,但这并没有解决我的问题。任何帮助将不胜感激。

【问题讨论】:

将来最好添加您的代码和您收到的确切错误消息。 答案有帮助吗?否则你能分享更多信息和代码吗? 很遗憾,没有,和以前一样的错误,确切的错误是谷歌授权错误错误400:redirect_uri_mismatch请求中的重定向URI,127.0.0.1:64673/authorize,与OAuth客户端授权的不匹配。要更新授权的重定向 URI,请访问:https.//console.developers.google.com/apis/credentials/oauthc ubkki1ofea7ok7ucj95ev114ftav71rf.apps.googleusercontent.cor project=371651884197 了解详情 你能分享你的剧本吗?您是否设法使其发挥作用或取得任何进展? 【参考方案1】:

对于 .net,谷歌开发者控制台中的重定向 uri 应该是

http://localhost/authorize/ 

https://localhost:5001/signin-oidc

我认为这取决于您使用的是 .net 还是 .net core。

更新

redirect_uri_mismatch 请求中的重定向 URI

意味着您发送的 uri 不在您在 Google 开发者控制台中添加的列表中,这些 uri 必须匹配。您需要将开发环境设置为使用静态端口,然后在 Google 开发者控制台中将其添加到您的项目中。

【讨论】:

这对我没有帮助,它仍然计算自己的 uri。不过还是谢谢你的回答。 计算自己的url是什么意思?您需要设置您的开发环境,使其不会更改端口号。 它基于我猜的环境计算,Local:someport。虽然我使用的是 localhost 但不是它所说的端口或路径。我什至尝试过使用托管网址,但仍然遇到同样的问题。例如对于 Auth0,默认是 sth companuname.auth0.com/login/ 这取决于您使用的开发应用程序。您可以将其设置为使用静态端口,只要端口不断变化,您就无法正确设置重定向 uri 修复您的开发应用程序以使其使用静态端口。

以上是关于使用 .net api 通过 Google 登录的主要内容,如果未能解决你的问题,请参考以下文章

使用 Google 登录通过 Firebase 签名后如何访问课堂 API

谷歌在 Angular 7 中使用 .NET Core API 登录

Android:如何通过 Google 登录 API 获取刷新令牌?

通过多封电子邮件从 google calendar api 查询事件

在 Android 上通过一键式登录使用 Google Drive API

如何在 C# 中使用服务帐户登录 Google API - 凭据无效