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

时间:2018-05-23 08:12:35

标签: oauth-2.0 azure-active-directory microsoft-graph

我正在关注this guide对Microsoft Graph API进行身份验证,并使用Postman我POST /token端点成功获取令牌:

post to get 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
    }
}

我刚创建的令牌如何过期?

2 个答案:

答案 0 :(得分:3)

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

您正尝试使用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

答案 1 :(得分:0)

对于将来遇到此问题的其他人:如果您的初始令牌请求中有一个带有大写字母的 GUID,也会发生此问题。端点将接受并发出令牌,但对于任何资源,比较都会中断。所以,在你的 guid 中使用小型大写字母 :)