如何从Azure活动目录中获取邮递员中的用户角色声明?

时间:2019-04-03 10:13:21

标签: azure azure-active-directory

我在Azure AD帐户中添加了一些用户,我想通过以声明的形式从Postman调用Azure API来获取这些用户的角色和用户信息。我尝试使用以下参数调用以下URL:

https://login.microsoftonline.com/myTenantId/oauth2/token

身体: grant_type:密码, client_id:客户端ID, 客户机密:客户机密

我在响应中收到编码格式的access_token,当我在https://jwt.io/上对其进行解码时,我看到了解码后的数据,但是access_token中没有用户角色。

我想在同一响应中以声明的形式获取用户信息和角色。

我需要采取什么方法?

1 个答案:

答案 0 :(得分:2)

如果您提到的角色是指目录角色,则答案为“否”,则不会在令牌中返回该角色。就像朱诺斯所说的那样,您可以致电graph api to get directory role信息。

enter image description here

如果您提到的角色是指应用程序角色,则答案为是,您可以在id_token中获取角色信息。 先决条件是您拥有assigned some roles to the user

enter image description here

以下是详细步骤。您也可以参考this article

  1. 编辑清单以添加一些自定义角色。

enter image description here

这样的事情。

{
      "allowedMemberTypes": [
        "User"
      ],
      "displayName": "Test",
      "id": "c200e304-fff3-49f1-a4df-e406741ea680",
      "isEnabled": true,
      "description": "Bla bla",
      "value": "test"
    }

2。assign users to roles。 单击企业应用程序->所有应用程序-> enter image description here

单击您的应用程序->单击“用户和组”->单击“添加用户” enter image description here

角色分配。

enter image description here

这是获取id_token的请求。 enter image description here

您将在id_token中找到这些角色。 enter image description here