【问题标题】:Microsoft Graph API Returning "Access Token Validation Error"Microsoft Graph API 返回“访问令牌验证错误”
【发布时间】:2017-05-19 06:29:57
【问题描述】:

我已经向 Microsoft 注册了一个 Angular2 应用程序,它完全是客户端来访问 Graph API。我启用了隐式授权流程,并且在登录和首次授权后能够成功获取 JWT。

URL 片段甚至说它是不记名令牌,如下所示:

http://localhost:4200/loginRedirect#access_token={JWT_TOKEN_HERE}&token_type=Bearer&expires_in=3600&session_state={state_guid}

我的身份验证重定向,供参考,如下所示:

window.location.href = "https://login.microsoftonline.com/common/oauth2/authorize?resource=" + encodeURIComponent('https://graph.windows.net') + "&response_type=token&client_id=" + this._config.clientId + "&redirect_uri=" + encodeURIComponent(this._config.redirectUri);

尽管在我的 Graph API 请求的标头中包含了获取的 JWT:

Authorization: Bearer {JWT_TOKEN_HERE}

我收到 401:Access Token Validation Error

我认为,由于我成功检索到它告诉我的令牌是 Bearer,所以它会起作用,但情况似乎并非如此。

有人知道我做错了什么吗?

【问题讨论】:

    标签: azure angular oauth jwt azure-ad-graph-api


    【解决方案1】:

    错误的资源 URI。 Azure AD Graph API 是 https://graph.windows.net

    Microsoft Graph API 资源 URI 是 https://graph.microsoft.com/,试试吧。

    Azure AD Graph API 是 AAD 的 API,而 Microsoft Graph API 也涵盖 Office 365 服务。虽然命名令人困惑。

    【讨论】:

    • 如果您没有指出这一点,我会花几个小时查看我的代码的其他部分;谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 2021-01-04
    • 2021-03-21
    • 1970-01-01
    • 2023-04-07
    相关资源
    最近更新 更多