Microsoft Graph API 的访问令牌立即过期

Tom*_*han 2 oauth-2.0 azure-active-directory microsoft-graph-api

我正在按照本指南对 Microsoft Graph API 进行身份验证,并使用 Postman 我可以POST/token端点上成功获取令牌:

发布以获取令牌

现在,复制该令牌并将其粘贴到 中Authorization: Bearer {{token}},我尝试向 发出请求https://graph.windows.net/my-tenant/me?api-version=1.6/,但得到的响应说

{
    "odata.error": {
        "code": "Authentication_ExpiredToken",
        "message": {
            "lang": "en",
            "value": "Your access token has expired. Please renew it before submitting the request."
        },
        "date": "2018-05-23T08:05:10",
        "requestId": "f56bcd26-4314-41c6-81b6-e6540aa7b0ae",
        "values": null
    }
}
Run Code Online (Sandbox Code Playgroud)

我刚刚创建的token怎么会过期?

juu*_*nas 6

我怀疑令牌是否已过期,消息似乎已关闭。

您正在尝试使用 MS Graph API 的令牌调用 Azure AD Graph API。将范围更改为https://graph.windows.net/.default,或调用https://graph.microsoft.com/v1.0/me

此外,您无法/me在使用客户端凭据流后调用端点。没有登录用户。你必须使用/users/object-id-or-upn

  • 谢谢!我之前曾尝试更改端点,但显然后来我调用了 graph.*windows*.com 而不是 graph.*microsoft*.com,当这不起作用时,我放弃了它并尝试了其他方法。现在它起作用了。我也明白为什么 `/me` 在这种情况下不能工作;不过,`/users` 端点现在可以工作了,所以我很高兴 :) (2认同)