在C#Windows应用程序中使用Azure广告并获取应用程序角色

在C#Windows应用程序中使用Azure广告并获取应用程序角色,c#,windows,azure,azure-active-directory,application-role,C#,Windows,Azure,Azure Active Directory,Application Role,我需要在客户端对用户进行身份验证,并将令牌传递给服务器端应用程序。服务器端应用程序解析令牌,并根据角色返回结果。因此,我们创建了C#windows应用程序作为客户端,Java应用程序作为服务器端 我尝试使用以下示例在客户端进行身份验证,并传递get授权令牌。但我没有将应用程序角色分配给用户 我已通过应用程序注册在Azure Active Directory中注册了应用程序,并在清单文件中添加了应用程序角色 当我收到授权令牌时,我拥有所有详细信息,但角色并不是令牌的一部分。由于我在Azure ac

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

我尝试使用以下示例在客户端进行身份验证,并传递get授权令牌。但我没有将应用程序角色分配给用户

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


当我收到授权令牌时,我拥有所有详细信息,但角色并不是令牌的一部分。由于我在Azure active directory中的知识非常有限,您能为我提供指导吗?为了获得应用程序角色,请遵循以下指南:

您是否已将这些应用程序角色分配给用户?如果未向用户分配任何应用程序角色,则不会在令牌中发送角色声明

之后,它应该在id_令牌中。在清单中声明应用程序角色时,还要注意

"allowedMemberTypes": [
    "User"]

如果要将角色分配给用户,则需要至少包含User。

如果在获取令牌中的应用程序角色信息时遇到问题,请检查角色是否正确

如果您在按照


角色需要在API使用的应用程序注册中定义。您是否有单独的应用程序注册?这可能会有所帮助:要获得角色,您必须在Azure AD Enterprise中将用户/组添加到应用程序中Applications@Crowcoder我已经通过企业应用程序分配了角色,但运气不好:(@juunas我尝试了以下操作,但不知何故我失败了。没有获得角色:(是的,我已经分配了角色。我已经“AllowedMemberType”:[“User”]谢谢!!我已经删除了应用注册并再次注册,然后在清单文件中创建了角色并将其分配给了用户。现在我在ID_Token中获得了角色。我不确定之前出了什么问题。无论如何,感谢所有人的帮助。感谢:)
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.