2017-01-04 102 views
0

我已經向Microsoft註冊了一個Angular2應用程序,它完全在客戶端訪問Graph API。我啓用了隱式授權流程,並且在登錄和首次授權後,我能夠成功獲得JWT。Microsoft Graph API返回「訪問令牌驗證錯誤」

中的網址片段,甚至說,這是一個承載令牌,就像這樣:

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,它會一直努力,但不會出現這種情況。

任何人都知道我在做什麼錯了?

回答

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服務。雖然命名混亂。

+0

如果你沒有指出,我會花幾個小時看看我的代碼的其他部分;謝謝! –

相關問題