gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 21:43:02 24 4
gpt4 key购买 nike

我最近开始使用 OAuth 在单页应用程序上实现身份验证。我从使用新身份验证系统的 ASP.NET 单页应用程序 Visual Studio 模板开始。

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

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

换句话说,我正在寻找更详细地改写并与 ASP.NET Identity Authentication 系统使用的域模型相关的答案。

最佳答案

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

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

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

这两个流首先创建一个 IdentityUser。本地密码流不需要 IdentityUserLogin,因为密码哈希存储在 IdentityUser 本身内部。第 3 方流程将需要一个额外的步骤来创建 IdentityUserLogin,并使用与 IdentityUser 的 userId 关联的适当的第 3 方标识符,以便将来使用第 3 方登录进行登录。

关于asp.net - 在 ASP.NET 身份验证系统中合并 OAuth 帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21517916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com