Ste*_*ris 7 asp.net-core-mvc google-signin
几天前,我收到一封电子邮件,通知我Google将弃用其Google+ API:
在2019年3月7日,所有Google+ API和Google+登录将完全关闭。从1月下旬开始这将是逐步关闭,最早在2019年1月28日开始对这些API的调用会间歇性地失败。
我目前在ASP.NET MVC项目中使用Google+登录作为外部登录提供程序。看来,ASP.NET文档尚未更新(在撰写本文时),以考虑到此不推荐使用的API。
有没有关于AddGoogle()扩展方法是否仍然可以在AuthenticationBuilder中间件中使用的指南,如果可以,如何?如果没有,我在哪里可以找到有关如何从Google+迁移到Google身份平台的指南?
Github页面上对此aspnet\docs有一个未解决的问题。
如Github上的以下问题所示,这似乎是一项重大变化:
aspnet\AspNetCore:Google+关闭将破坏OAuth提供程序aspnet\AspNetKatana:Google+关闭的影响显然,Google OAuth提供程序会调用https://www.googleapis.com/plus/v1/people/me,用于获取个人资料信息。如ThoughtHopper所说,“当前代码将一直工作,直到尝试检索用户信息为止。”
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");
})
Run Code Online (Sandbox Code Playgroud)
这将更改从中检索信息的端点(不再依赖Google+),并更改用户信息的映射方式,因为此信息已更改。
从这些问题的关注中,我预计Microsoft将在不久的将来推出更新。在此之前,此修补程序应在禁用Google+ API的情况下起作用。
| 归档时间: |
|
| 查看次数: |
852 次 |
| 最近记录: |