c# - ASP.NET Core 标识:同一帐户的多个提供程序
问题描述
我一直在尝试围绕新的 ASP.NET Core Identity 框架展开思考。
我希望能够允许客户使用外部提供商登录,这样我就不必担心密码存储。如果我使用默认提供程序:.AddDefaultIdentity<EntityUser>()
,以及.AddAuthentication
(with AddFacebook
, AddGoogle
, AddMicrosoftAccount
),这将有效。
有些人拥有 Google 帐户和Facebook 帐户。我想允许用户登录到他们的帐户,然后为同一用户添加其他提供商(只要电子邮件匹配)。
AspNetCore 的身份框架部分似乎严格控制着一切。我知道如何覆盖视图,但不知道如何覆盖控制流。我如何将自己的逻辑融入其强制登录、注册的流程中?当用户已经登录时,我还想将用户转发给外部提供商。
我所需要的只是一个方向,他们用新的 AspNetCore 将关注点分开了很多,以至于它类似于洋葱。这使得很难知道你想要什么。我什至不知道我不知道如何开始。
解决方案
它已经按照您想要的方式工作,用户可以添加您从页面配置的任何提供程序 ~/Identity/Account/Manage/ExternalLogins
您可以看到ExternalLogins 剃须刀页面的源代码具有逻辑,该逻辑将显示用户将社交身份验证添加到其现有帐户的选项。
推荐阅读
- java - 使用 Spring Boot 在 postgres 数据库中搜索电话号码时如何忽略破折号和空格
- django - Django:遍历 HTML 中的静态文件,不能使用过滤器
- django - 如何在 ubuntu 中安装 proj4?make: *** 没有指定目标,也没有找到 makefile。停止。吉姜戈
- python - 基本的熊猫数据框操作问题
- javascript - 如果 Promise.catch() 的顺序不正确,为什么还要调用 .then()?
- android - 第一次运行颤振项目
- python - 网络爬虫获取具有相同标题的表格
- google-tag-manager - GA4 link_text 通常是“(未设置)”
- javascript - 如何获得可点击多边形的六个顶点?
- r - 将 JSONstream 读入 R 数据帧