Sha*_*lle 5 asp.net-mvc azure oauth-2.0 azure-active-directory
我们正在使用 Azure Active Directory 对 MVC 应用程序进行身份验证,但我们在 ClaimsPrincipal 中获得的唯一信息是名称和组成员资格。
我们还需要访问用户的名字和姓氏。有关我们如何解决此问题的任何指示吗?
OpenID Connect 引入了 id_token(这是 JWT)。
查看文档,id_token 包含一些可能匹配的声明:
因此,在您的控制器中,您可以像这样访问这些声明:
using System.Security.Claims;
...
var identity = (ClaimsIdentity)User.Identity;
var lastName = identity.Claims.First(
c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname").Value;
var firstName = identity.Claims.First(
c => c.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname").Value;
var displayName = identity.Claims.First(c => c.Type == "name").Value;
Run Code Online (Sandbox Code Playgroud)
这些声明对应于 Azure AD 中的名字、姓氏和显示名称:
| 归档时间: |
|
| 查看次数: |
5744 次 |
| 最近记录: |