如何获得Azure AD身份验证用户的用户名和电子邮件

问题描述 投票:0回答:1

我已经构建了一个.Net Core Web应用程序,该应用程序可以根据Azure AD对用户进行身份验证。身份验证成功后,我要访问经过身份验证的用户的详细信息,例如用户名/电子邮件。

我不知道该怎么做。有人可以帮忙吗?谢谢。我正在使用C#。

azure asp.net-core active-directory username
1个回答
0
投票

这些值应通过claims提供。在ASP.NET Core中,您可以通过User对象访问用户的声明,该对象在大多数框架位置(如控制器,Razor页面或Razor视图)中都可用。

[电子邮件和用户名应分别通过ClaimTypes.EmailClaimTypes.Email声明可用。因此,您应该能够执行以下操作以检索这些值:

ClaimTypes.Name

您还可以遍历ClaimTypes.Name集合以查看身份验证提供程序所包含的内容。例如,您可以在Razor视图中执行此操作,以快速列出所有可用的声明:

string email = User.FindFirstValue(ClaimTypes.Email);
string name = User.FindFirstValue(ClaimTypes.Name);
© www.soinside.com 2019 - 2024. All rights reserved.