Microsoft Graph API 返回 "Access Token Validation Error"
Microsoft Graph API Returning "Access Token Validation Error"
我已经在 Microsoft 注册了一个 Angular2 应用程序,它完全 client-side 可以访问 Graph API。我已经启用了隐式授权流程,并且我能够在登录和 first-time 授权后成功获得 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 请求的 header 中包含了获取的 JWT:
Authorization: Bearer {JWT_TOKEN_HERE}
我收到 401:Access Token Validation Error
我以为自从我成功检索到它告诉我它是一个 Bearer
的令牌后,它就会起作用,但事实似乎并非如此。
有人知道我做错了什么吗?
错误的资源 URI。 Azure AD 图 API 是 https://graph.windows.net
。
Microsoft Graph API 资源 URI 是 https://graph.microsoft.com/
,试试吧。
Azure AD Graph API 是 AAD 的 API,而 Microsoft Graph API 也涵盖 Office 365 服务。虽然命名令人困惑。
我已经在 Microsoft 注册了一个 Angular2 应用程序,它完全 client-side 可以访问 Graph API。我已经启用了隐式授权流程,并且我能够在登录和 first-time 授权后成功获得 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 请求的 header 中包含了获取的 JWT:
Authorization: Bearer {JWT_TOKEN_HERE}
我收到 401:Access Token Validation Error
我以为自从我成功检索到它告诉我它是一个 Bearer
的令牌后,它就会起作用,但事实似乎并非如此。
有人知道我做错了什么吗?
错误的资源 URI。 Azure AD 图 API 是 https://graph.windows.net
。
Microsoft Graph API 资源 URI 是 https://graph.microsoft.com/
,试试吧。
Azure AD Graph API 是 AAD 的 API,而 Microsoft Graph API 也涵盖 Office 365 服务。虽然命名令人困惑。