首页 > 解决方案 > 如何从 Azure 活动目录获取邮递员中的用户角色声明?

问题描述

我有几个用户添加到我的 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 中没有用户角色。

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

我需要采取什么方法?

标签: azureazure-active-directory

解决方案


如果您提到的角色是指目录角色,答案是否定的,不会在令牌中返回。就像juunas说的,可以调用graph api来获取目录角色信息。

在此处输入图像描述

如果你提到的角色是指应用角色,答案是肯定的,你可以在id_token中获取角色信息。前提是您已经为用户分配了一些角色

在此处输入图像描述

以下是详细步骤。你也可以参考这篇文章

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

在此处输入图像描述

像这样的东西。

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

2.为用户分配角色。点击企业应用->所有应用-> 在此处输入图像描述

单击您的应用程序->单击用户和组->单击添加用户 在此处输入图像描述

角色分配。

在此处输入图像描述

这是获取 id_token 的请求。 在此处输入图像描述

您将在 id_token 中找到角色。 在此处输入图像描述


推荐阅读