有一个WPF应用程序,我想使用Azure AD进行身份验证(获得一个使其工作的示例)。身份验证完成后,我想获得分配给用户的角色列表。我已将角色添加到应用注册的清单中并保存。我当时试图按照这个链接:
Assign a user or group to an enterprise app
为用户分配角色,但此应用的企业应用程序中根本不提供“用户和组”选项。它适用于Web应用程序,但不适用于本机。我错过了什么吗?任何人都知道一个很好的例子,可以在WPF中验证用户并检索角色(到目前为止,我一直在研究图形API来获取用户组)是不成功的。
谢谢
答案 0 :(得分:0)
你没有错过任何东西。
这是因为原生客户端注册默认为多租户。您无需采取任何操作即可使本地客户端应用程序注册多租户。这意味着您可以使用某些配置向Azure AD中的任何用户登录此应用程序。因此,您不会在企业应用程序中看到Native客户端中的用户和组。
但是,您可以在PowerShell中使用cmdlet将用户(没有角色)分配给本机应用程序:
$appId = (Get-AzureADApplication -SearchString “<Your App's display name>”).AppId
$user = Get-AzureADUser -searchstring "<Your user's UPN>"
$servicePrincipal = Get-AzureADServicePrincipal -Filter “appId eq ‘$appId'”
New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId $user.ObjectId -ResourceId $servicePrincipal.ObjectId -Id ([Guid]::Empty)
有关将用户分配给应用程序角色的命令的更多信息,请参阅this document。