0

我需要在客户端对用户进行身份验证并将令牌传递给服务器端应用程序。服务器端应用程序解析令牌并根据角色返回结果。所以我们创建了 C# windows 应用程序作为客户端和 Java 应用程序作为服务器端。

我正在尝试使用以下https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-windows-desktop示例在客户端进行身份验证并传递获取授权令牌。但我没有将应用角色分配给用户。

我已经通过应用程序注册在 Azure Active Directory 中注册了应用程序,并在清单文件中添加了应用程序角色。

当我收到授权令牌时,我拥有所有详细信息,但角色并没有作为令牌的一部分出现。你能指导我吗,因为我对 Azure 活动目录的了解非常有限

4

2 回答 2

1

为了获得应用角色,请遵循本指南:https ://docs.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps

您是否将这些应用角色分配给了用户?如果没有为用户分配任何应用角色,则不会在令牌中发送角色声明。

之后它应该在 id_token 中。当您在清单中声明应用程序角色时,还要注意

"allowedMemberTypes": [
    "User"]

如果您希望角色可分配给用户,则它至少需要包含 User。

于 2020-06-09T20:54:13.550 回答
0

如果您在获取令牌中的应用角色信息时遇到问题,请检查角色是否已分配给用户

如果您在根据文档在令牌信息中使用应用角色授权 webAPI 时遇到问题

If you have a backend web API which is separate from the web app, the app role assignments for the web app don't apply to the web API. 
于 2020-06-09T21:25:14.040 回答