我已经构建了一个.Net Core Web应用程序,该应用程序可以根据Azure AD对用户进行身份验证。身份验证成功后,我要访问经过身份验证的用户的详细信息,例如用户名/电子邮件。
我不知道该怎么做。有人可以帮忙吗?谢谢。我正在使用C#。
这些值应通过claims提供。在ASP.NET Core中,您可以通过User
对象访问用户的声明,该对象在大多数框架位置(如控制器,Razor页面或Razor视图)中都可用。
[电子邮件和用户名应分别通过ClaimTypes.Email
和ClaimTypes.Email
声明可用。因此,您应该能够执行以下操作以检索这些值:
ClaimTypes.Name
您还可以遍历ClaimTypes.Name
集合以查看身份验证提供程序所包含的内容。例如,您可以在Razor视图中执行此操作,以快速列出所有可用的声明:
string email = User.FindFirstValue(ClaimTypes.Email);
string name = User.FindFirstValue(ClaimTypes.Name);