c# - ASP.NET核心标识: Multiple providers for the same account

标签 c# asp.net-core asp.net-identity

我一直在尝试了解新的 ASP.NET Core Identity 框架。

我希望能够允许客户使用外部提供商登录,这样我就不必担心密码存储问题。如果我使用默认提供程序,那就有效: .AddDefaultIdentity<EntityUser>() ,以及 .AddAuthentication (与 AddFacebookAddGoogleAddMicrosoftAccount )。

有些人拥有 Google 帐户 Facebook 帐户。我希望允许用户登录他们的帐户,然后向同一用户添加其他提供商(只要电子邮件匹配)。

AspNetCore 的身份框架部分似乎严格控制一切。我知道如何覆盖 View ,但不知道如何覆盖控制流。我如何将自己的逻辑融入其流程中以强制登录、注册?我还想在用户已登录时将用户转发给外部提供商。

我需要的只是一个方向,他们已经将新的 AspNetCore 的关注点分开了,就像洋葱一样。这使得你很难知道你想要的东西在哪里。我什至不知道我不知道什么才能开始。

最佳答案

它已经按照您想要的方式工作,用户可以添加您从 ~/Identity/Account/Manage/ExternalLogins 页面配置的任何提供程序

您可以看到source code of the ExternalLogins razor page具有向用户显示将社交身份验证添加到其现有帐户的选项的逻辑。

关于c# - ASP.NET核心标识: Multiple providers for the same account,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55433558/

相关文章:

c# - Entity Framework Core 2.1 - 多个提供者

c# - 从已发送的电子邮件网络核心身份调用时,重置密码不起作用

asp.net-mvc - Asp.net Identity 2.0 - 独特的电子邮件

asp.net-mvc-5 - ASp.net Identity 2.0 示例 - Controller 构造函数、DB 构造函数和 Owin 中间件的重用

c# - LINQ-to-XML 中 XSD.EXE 的替代方案?

c# - 在返回值周围使用括号是否提供任何与编译器相关的好处?

c# - 如何在 ASP.NET Core 中测试 https 重定向?

asp.net-core - 请求范围是否有匹配生命周期的标签?

c# - 如何在Knockout中声明guid

javascript - .js 代码的 RazorEngine 评估问题