如何从azure graph API获取用户列表

S A*_*rew 1 api azure azure-active-directory

我正在尝试使用 graph api 从 azure ad 获取用户列表。我通过使用以下查询获得了访问令牌:

https://login.microsoftonline.com/<tenant-Id>/oauth2/token
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我得到以下回复:

{
    "token_type": "Bearer",
    "expires_in": "3600",
    "ext_expires_in": "3600",
    "expires_on": "1559555742",
    "not_before": "1559551842",
    "resource": "https://graph.microsoft.com",
    "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkFRQUJBQUFBQUFEQ29NcGpKWHJ4VHE5Vkc5dGUtN0ZYUy1XcWZRa2RmUmVnSVJfWE4yLXdYSFZwLXJKdlltcWVzTzAwSmd1V2dJOVVQUVBWbldScjhtZjM1SHhXblhFcWhIMVlWY1Y2NlYS00ZTE1LTQ0NWEtOTM0Ni02YTBhOGQxN2UxOTYvIiwib2lkIjoiYzE0YzFlYmEtYzExMS00ZmMxLTllYjAtYTJmNGMwNjg4MDEyIiwic3ViIjoiYzE0YzFlYmEtYzExMS00ZmMxLTllYjAtYTJkKgCbMg5jElY2I83cKpRos6Jti3SUYIVTYiyF__gMsKzCQWgRZFUWnTi7syaypCrPEExPw_OMRJMNMOrYixTBZjwUi0H6ThGNxQOMt5mXhzvlVYRMdyChdmv4r2-JK-LX9yjBN8BWG78e3FYhWQCRERh5H3zNpdX1ln79QY38mhn-XJViA2vX-VCYqZhoUo-c_iR-_HZ3CLCHxRxgRHtT_oGXuX1Kegxo3F6FsuQ2Vj1WT5VjCRGCi71pY_lU_EROzkLdefS84fur4jBawvd1ccCf8u9U0kYy3xu0m02wNxKPe2Weg"
}
Run Code Online (Sandbox Code Playgroud)

获得令牌后,我将引用此链接并使用以下 url 来获取用户列表:

https://graph.microsoft.com/v1.0/users

并在标头中传递令牌,但出现以下错误:

{
    "error": {
        "code": "InvalidAuthenticationToken",
        "message": "CompactToken parsing failed with error code: 80049217",
        "innerError": {
            "request-id": "f03e6cc4-1888-406d-9ee4-2558b96e7fb4",
            "date": "2019-06-03T09:22:30"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我现在是通过邮递员执行此操作,但稍后必须通过 python 脚本执行此操作。任何人都可以建议这里出了什么问题吗?谢谢

Md *_*ron 7

您似乎正在尝试user list使用 Microsoft Graph 进行获取。为此,请参阅以下步骤:

Azure 门户权限:

转到您的 Azure 门户租户并在“API 权限”菜单上设置以下权限。请参阅下面的屏幕截图:

在此输入图像描述

请参阅应用程序权限,如下所示:

在此输入图像描述

对专用权限执行相同的操作。请参阅下面的专用权限

在此输入图像描述

您的许可应如下所示:

在此输入图像描述

请求令牌:

使用您的凭据将请求发送到您的令牌端点。就像下面这样:

在此输入图像描述

解码令牌并检查权限:

获得令牌后,请确保https://jwt.io/您的令牌包含所需的权限,如下所示:

在此输入图像描述

请求用户列表

在此阶段,将您的令牌添加为Typebearer token将您的令牌粘贴到令牌文本框中,然后单击发送:

在此输入图像描述

获取用户列表:

您将获得如下屏幕截图中指定的用户列表。

在此输入图像描述