我一直在尝试围绕新的 ASP.NET 核心身份框架。
我希望能够允许客户使用外部提供商登录,这样我就不必担心密码存储。 如果我使用默认提供程序:.AddDefaultIdentity<EntityUser>()
以及.AddAuthentication
(带有AddFacebook
、AddGoogle
、AddMicrosoftAccount
),则可以工作。
有些人有一个谷歌帐户和一个Facebook帐户。 我想允许用户登录到他们的帐户,然后向同一用户添加其他提供商(只要电子邮件匹配)。
AspNetCore的身份框架部分似乎严格控制着一切。 我知道如何覆盖视图,但不知道如何覆盖控制流。 如何将自己的逻辑浸入其流程中以强制登录、注册? 我还想在用户已经登录时将用户转发给外部提供商。
我所需要的只是一个方向,他们已经将新的AspNetCore与关注点分开了,以至于它类似于洋葱。 这使得很难知道你想要什么在哪里。 我什至不知道我不知道什么开始。
它已经按照您想要的方式工作,用户可以从 ~/Identity/Account/Manage/ExternalLogins 的页面添加您配置的任何提供程序
您可以看到 ExternalLogins razor 页面的源代码具有逻辑,该逻辑将显示用户向其现有帐户添加社交身份验证的选项。