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

问题描述 投票:0回答:3

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

https://login.microsoftonline.com/<tenant-Id>/oauth2/token

enter image description here

我收到以下回复:

{
    "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"
}

一旦获得令牌,我就会引用此链接并使用以下网址来获取用户列表:

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"
        }
    }
}

enter image description here

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

azure api azure-active-directory
3个回答
7
投票

您似乎正在尝试使用 Microsoft Graph 获取

user list
。为此,请参阅以下步骤:

Azure 门户权限:

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

enter image description here

查看申请权限如下:

enter image description here

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

enter image description here

您的许可应如下所示:

enter image description here

请求令牌:

使用您的凭据将请求发送到您的令牌端点。如下:

enter image description here

解码令牌并检查权限:

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

enter image description here索取用户列表

在此阶段,在 https://jwt.io/ 上添加您的令牌为

Type

,将您的令牌粘贴到令牌文本框中,然后单击发送:

enter image description here获取用户列表:

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

enter image description here 您可以按照以下步骤操作。


1
投票
bearer token

->

API permissions

-> 选择

Add a permission
->
Microsoft Graph
->
Application permissions
-> 单击
User.Read.All
-> 单击
Add permissions

2.使用客户端凭据流程获取访问令牌。

3.然后你可以使用步骤2返回的token来调用MS graph api,它应该可以工作。enter image description here

enter image description here 我能够获取令牌,但是当我在 API 中使用它来获取用户列表时,我得到了


0
投票

PS-Users.Read.App 已拥有所有权限。

© www.soinside.com 2019 - 2024. All rights reserved.