了解和使用Microsoft身份

问题描述

背景:作为创建软件公司的一部分,我正在开发自己的第一个企业软件解决方案。我正在.NET Core上开发。

我一直在阅读有关身份验证与授权,AzureAD,托管的Identity Server等的所有Microsoft文档。

在OAuth 2.0的现代环境中,我难以理解围绕用户的一些较大的设计理念和策略,在该环境中,另一项服务对用户进行身份验证并发回声明。

当前状态:当前,我能够使用Blazor和AzureAD和Microsoft帐户登录。当用户登录时,我会在请求中使用HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier)获取用户标识符,其中可能包含其他声明,例如其名称或电子邮件。由于我没有使用身份托管,因此用户数据存储在本地数据库中。

有关与Microsoft Identity / AzureAD交互的问题

  1. 如果我希望代码用户登录后使用他们的登录数据执行,那么应该怎么做?一个示例用例:用户具有与其帐户关联的“主题”。他们登录,并且我希望运行代码,以便在登录后将主题应用到他们的DOM中。
  2. 用户数据建模?由于用户使用另一个服务进行身份验证,并说“是,此人已通过身份验证”,因此我的服务基本上没有有关他们的信息。我想存储与我从auth服务获得的NameIdentifier相关的信息,以便为该人建立“个人资料”。一个用例是:

泰勒·怀特(Taylor White)登录Enterprise News Service Inc.。他评论某篇文章,并用string UserId保存评论,并且 string CommentContent。但是当有人去读这篇文章时,我 想提取有关泰勒的信息,例如他的名字和照片,但是 我目前没有任何数据库可以对用户进行建模或存储 声称我从身份提供者那里回来。

简而言之,在这些情况下我想念什么?

  • 成功登录后执行一些逻辑
  • 用于存储来自身份提供者的用户数据并在其他上下文中访问数据的最佳做法,例如加载来自不同用户评论

其他信息:

  • 我将Blazor WebAssembly用于我的前端,该前端也可以在.NET上运行。
  • 我正在使用.NET Core后端。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)