加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

在ASP.NET身份验证系统中合并OAuth帐户

发布时间:2020-12-16 03:16:12 所属栏目:asp.Net 来源:网络整理
导读:我最近开始使用OAuth在单页应用上实现身份验证.我使用新的身份验证系统开始使用ASP.NET单页面应用程序Visual Studio模板. 我不得不重写这个应用程序的整个前端,并且已经慢慢开始使用模板生成的AccountController端点来了解身份验证流程.我是基于声明的身份的
我最近开始使用OAuth在单页应用上实现身份验证.我使用新的身份验证系统开始使用ASP.NET单页面应用程序Visual Studio模板.

我不得不重写这个应用程序的整个前端,并且已经慢慢开始使用模板生成的AccountController端点来了解身份验证流程.我是基于声明的身份的新手,所以它有点像第一次,但我一直在慢慢消化它.

但是,似乎不支持将多个外部帐户与单个本地帐户链接合并.更熟悉新系统的人可以评论如何为此建立支持.它将有助于使用系统当前自己的域语言(IdentityUser,IdentityUserLogin,ExternalLoginData等)来解释如何处理3个流程described in this answer

换句话说,我正在寻找那些用更多细节重写的答案,并且与ASP.NET身份验证系统使用的域模型相关.

解决方法

因此,为了将链接的答案映射到身份:

IdentityUser是本地用户(UserId是本地用户的密钥)
IdentityUserLogin是将本地用户链接到第三方登录的行(oauth / open id)
ExternalLoginData只是应用层使用的容器类.

通常,注册发生在本地(创建用户名/密码)或外部(将新帐户链接到第三方登录).

这两个流程首先创建一个IdentityUser.本地密码流不需要IdentityUserLogin,因为密码哈希存储在IdentityUser本身内部.第三方流程需要额外的步骤,创建一个IdentityUserLogin,其中包含与IdentityUser的userId相关联的相应第三方标识符,以便将来登录第三方登录工作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读