1

我想在 AD 中查看有关我的用户(组中的用户等)的完整信息一切正常。工作台 API 有一个用户端点,但信息有限,它有名字、姓氏、电子邮件等......我想知道更多。

当尝试使用我已经拥有的不记名令牌调用https://graph.microsoft.com/v1.0/me端点时,它是无效的,我得到:

{

    "odata.error": {

    "code": "Authentication_MissingOrMalformed",

    "message": {

        "lang": "en",

        "value": "Access Token missing or malformed."

    },

    "requestId": "47322d1e-24d5-4170-ace5-947a8725ec1c",

    "date": "2019-03-13T08:14:37"

    }

}

我也尝试了不同的方法。我有一个服务主体,并为该服务主体提供了有关用户权限的 Windows Active Directory 基本信息。我还给了它一个 Microsoft Graph 权限和 mu 区块链应用程序的权限(不确定我是否需要)。

我使用客户端凭据正文调用https://login.microsoftonline.com/ {{tenant-id}}/oauth2/token 并获得一个不记名令牌。现在有了这个不记名令牌,我得到:

{

    "error": {

        "code": "Authorization_RequestDenied",

        "message": "Insufficient privileges to complete the operation.",

        "innerError": {

            "request-id": "2a7febaa-a6db-4770-a323-1971fa0bf863",

            "date": "2019-03-17T13:54:57"

        }

    }

}
4

1 回答 1

3

需要为 Microsoft Graph API 获取访问令牌作为资源。

在第一种方法中,您已经拥有的用于 Workbench api 的令牌将不适用于 Microsoft Graph,因为该令牌适用于 Workbench API。您可以通过查看aud该令牌的声明来检查这一点。您可以使用https://jwt.ms解码令牌

在第二种方法中,令牌应该可以工作,只要您指定要获取令牌的资源是https://graph.microsoft.com而不是工作台 API。如果您仍然遇到问题,请分享您用于获取令牌或解码令牌本身的代码(减去任何敏感信息)

于 2019-03-18T01:04:35.040 回答