【发布时间】:2021-02-13 19:42:24
【问题描述】:
我的项目是一个 MVC Core 3.1 Web 应用程序。 身份验证基于 Microsoft.identity.web 模板在 Azure AD B2C 中登录用户。
您可以在此处找到示例:https://github.com/AzureAD/microsoft-identity-web/wiki#samples
用户可以在 B2C 上注册/登录为标准用户或使用公司帐户(azure AD,即 openID Connect 身份提供商)登录。
当用户使用公司帐户登录时,我会收到一个 JWT 令牌,其中包含名为 "idp_access_token" 的声明,其中包含来自 Azure AD 的 access_token。它包含应用程序所需的一些声明(由于某些原因,我什至看不到 B2C 令牌中的 emailAddress/unique_name,所以我需要从这里获取它......)。
但我不确定我应该如何(以及在哪里)处理此令牌以及如何访问其中的声明。我可以将它们映射到 claimPrincipal 中吗?因为我想将电子邮件用作“User.identity.name”。 我应该编写一个服务(瞬态?)并在需要的地方注入它吗?
【问题讨论】:
标签: jwt asp.net-core-mvc asp.net-identity openid-connect azure-ad-b2c