gpt4 book ai didi

asp.net-core-mvc - 如何在 MVC 项目中从已弃用的 Google+ 登录 API 迁移到新的 Google Identity 平台?

转载 作者:行者123 更新时间:2023-12-01 21:28:11 26 4
gpt4 key购买 nike

几天前,我收到电子邮件通知,Google 正在弃用其 Google+ API:

On March 7, 2019, all Google+ APIs and Google+ Sign-in will be shut down completely. This will be a progressive shutdown beginning in late January, with calls to these APIs starting to intermittently fail as early as January 28, 2019.

我目前在 ASP.NET MVC 项目中使用 Google+ 登录作为外部登录提供程序。看起来,the ASP.NET documentation has not yet been updated (at the time of writing) to take into account this deprecated API .

是否有关于 AddGoogle() 扩展方法是否仍可以在 AuthenticationBuilder 中间件中使用的指南?如果可以,如何使用?如果没有,我在哪里可以找到有关如何从 Google+ 迁移到 Google Identity Platform 的指南?

最佳答案

an open issue on this on the aspnet\docs Github page .

这似乎是一个重大更改,如 Github 上的以下问题所示:

显然,Google OAuth 提供商执行对 https://www.googleapis.com/plus/v1/people/me 的调用,该调用用于获取个人资料信息。如stated by ThoughtHopper“当前代码在尝试检索用户信息之前一直有效。”

一个temporary workaround was posted by Tratcher ,据称适用于 ASP.NET 2.0 及更高版本:

.AddGoogle(o =>
{
o.ClientId = Configuration["google:clientid"];
o.ClientSecret = Configuration["google:clientsecret"];
o.UserInformationEndpoint = "https://openidconnect.googleapis.com/v1/userinfo";
o.ClaimActions.Clear();
o.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "sub");
o.ClaimActions.MapJsonKey(ClaimTypes.Name, "name");
o.ClaimActions.MapJsonKey(ClaimTypes.GivenName, "given_Name");
o.ClaimActions.MapJsonKey(ClaimTypes.Surname, "family_Name");
o.ClaimActions.MapJsonKey("urn:google:profile", "profile");
o.ClaimActions.MapJsonKey(ClaimTypes.Email, "email");
o.ClaimActions.MapJsonKey("urn:google:image", "picture");
})

这会更改检索信息的端点(不再依赖 Google+),并会更改用户信息的映射方式,因为这一点已发生变化。

从这些问题受到的关注程度来看,我预计 Microsoft 将在不久的将来推出更新。在此之前,此修复应该可以在禁用 Google+ API 的情况下使用。

关于asp.net-core-mvc - 如何在 MVC 项目中从已弃用的 Google+ 登录 API 迁移到新的 Google Identity 平台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53923541/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com