C# 如何从ASP.NET核心应用程序访问Azure Active Directory中的其他数据?
我已经在我的ASP.NET核心应用程序中使用了来自Azure平台的公司active directory。我在第一次创建项目时将其设置为身份验证模型。我需要访问用户的其他详细信息,而不仅仅是他们的电子邮件地址或姓名,例如,他们的C# 如何从ASP.NET核心应用程序访问Azure Active Directory中的其他数据?,c#,azure,asp.net-core,azure-active-directory,C#,Azure,Asp.net Core,Azure Active Directory,我已经在我的ASP.NET核心应用程序中使用了来自Azure平台的公司active directory。我在第一次创建项目时将其设置为身份验证模型。我需要访问用户的其他详细信息,而不仅仅是他们的电子邮件地址或姓名,例如,他们的国家,部门和使用位置。我不知道你是怎么做到的,我想知道是否有人能帮忙 Azure AD Authentication的默认设置不包括任何模型或帐户页,它只是将应用程序注册信息添加到您的appsettings.json,并添加使用标识的登录部分视图: @using Syste
国家
,部门
和使用位置
。我不知道你是怎么做到的,我想知道是否有人能帮忙
Azure AD Authentication的默认设置不包括任何模型或帐户页,它只是将应用程序注册信息添加到您的appsettings.json
,并添加使用标识的登录部分视图:
@using System.Security.Principal
<ul class="navbar-nav">
@if (User.Identity.IsAuthenticated)
{
<li class="nav-item">
<span class="nav-text text-dark">Hello @User.Identity.Name!</span>
</li>
<li class="nav-item">
<a class="nav-link text-dark" asp-area="AzureAD" asp-controller="Account" asp-action="SignOut">Sign out</a>
</li>
}
else
{
<li class="nav-item">
<a class="nav-link text-dark" asp-area="AzureAD" asp-controller="Account" asp-action="SignIn">Sign in</a>
</li>
}
</ul>
@使用System.Security.Principal
@if(User.Identity.IsAuthenticated)
{
-
你好@User.Identity.Name!
-
退出
}
其他的
{
-
登录
}
有没有什么方法可以让我扩展到上面提到的领域,或者我需要创建一些新的东西?tia.应在委托人的索赔中 在一个控制器或视图中放置断点。在您的观察窗口中,您可以将用户强制转换为ClaimsPrincipal,并查看Azure广告返回的声明 有关索赔列表和映射,请参见
另外,ASP.NETCore2.1将AccountController和视图移动到Razor类库中,因此除了部分视图之外,您不会在常用目录中看到它们。您可以使用scaffolding identity工具将它们拉回到您的目录中,它应该位于委托人的声明中 在一个控制器或视图中放置断点。在您的观察窗口中,您可以将用户强制转换为ClaimsPrincipal,并查看Azure广告返回的声明 有关索赔列表和映射,请参见
另外,ASP.NETCore2.1将AccountController和视图移动到Razor类库中,因此除了部分视图之外,您不会在常用目录中看到它们。您可以使用scaffolding identity工具将它们拉回到您的目录中。默认情况下,令牌中只包含少数用户属性,然后映射到应用程序的用户声明原则。您可以使用退出用户属性: 注意:获取用户仅返回一组默认属性(BusinessPhone、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、姓氏、userPrincipalName)。使用$select可获取的其他属性和关系
是Microsoft Graph Auth文档,是ASP.NET Core的代码示例。默认情况下,令牌中只包含少数用户属性,然后映射到应用程序的用户声明原则。您可以使用退出用户属性: 注意:获取用户仅返回一组默认属性(BusinessPhone、displayName、givenName、id、jobTitle、mail、mobilePhone、officeLocation、preferredLanguage、姓氏、userPrincipalName)。使用$select可获取的其他属性和关系
是Microsoft Graph Auth文档,是ASP.NET核心的代码示例。您是否尝试过使用Azure AD API?是否尝试过使用Azure AD API?