Active directory 调用图形API时,承载令牌无效

Active directory 调用图形API时,承载令牌无效,active-directory,azure-active-directory,microsoft-graph-api,microsoft-graph-sdks,Active Directory,Azure Active Directory,Microsoft Graph Api,Microsoft Graph Sdks,我想在广告中看到我的用户的完整信息(分组用户等) 我已经有了一个登录到AD的应用程序,然后我得到了一个可以访问我的azure区块链工作台API的承载令牌,一切正常。 workbench API有一个用户端点,但信息有限,它有名字、姓氏、电子邮件等。。。我想知道更多 当尝试使用我已经拥有的承载令牌调用端点时,该令牌无效,我得到: { "odata.error": { "code": "Authentication_MissingOrMalformed", "messa

我想在广告中看到我的用户的完整信息(分组用户等) 我已经有了一个登录到AD的应用程序,然后我得到了一个可以访问我的azure区块链工作台API的承载令牌,一切正常。 workbench API有一个用户端点,但信息有限,它有名字、姓氏、电子邮件等。。。我想知道更多

当尝试使用我已经拥有的承载令牌调用端点时,该令牌无效,我得到:

{

    "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区块链应用程序特权(不确定是否需要)

我使用客户机凭证主体调用{{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"

        }

    }

}

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

在第一种方法中,您已经拥有的workbench api令牌将不适用于Microsoft Graph,因为该令牌是用于workbench api的。。您可以通过查看该令牌的
aud
声明来检查这一点。您可以使用


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

最终第二种方法成功了,我只需授予更多与用户相关的访问权限,谢谢