我正在嘗試使OAuth2工作流程正確執行Azure AD。我下面從這個來源的方向: https://login.microsoftonline.com/[app-endpoint-id]/oauth2/authorize?response_type=code&client_id=[client-id]&redirect_uri=[redirect-uri]OAuth2與Azure AD - 未獲得用戶同意
我然後使用授權碼來請求訪問令牌以HTTP POST像這樣:https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx
我可以成功地利用這個請求得到一個授權碼響應(我測試此使用郵差):
POST/[應用端點-ID] /的oauth2 /令牌HTTP/1.1 主機:login.microsoftonline.com 緩存控制:無緩存 郵差令牌: ed098281-9aa4-6e5f-915d-0253d9a876d3 內容類型:應用程序上/ X WWW的窗體-urlencoded
grant_type = authorization_code & CLIENT_ID = [客戶端ID] &代碼= [authorization_code] & REDIRECT_URI = [REDIRECT_URI] & client_secret = [客戶端祕密] &資源= [APP- url]
我從POST請求中收到以下錯誤消息: {「error」:「invalid_grant」,「error_description」:「AADSTS65001:用戶或管理員未同意使用ID爲' ID'。爲此用戶和資源發送交互式授權請求。\ r \ n跟蹤ID:trace-di \ r \ n相關ID:correlation-id \ r \ n時間戳:2016-01-13 17:18:39Z「,」error_codes「: [65001],「timestamp」:「2016-01-13 17:18:39Z」,「trace_id」:「trace-id」,「correlation_id」:「correlation-id」}
如果我清除了緩存並使第一個請求授權代碼我將被重定向到登錄。但是,我沒有得到任何方式來登錄後,像我說的應該在本文檔中授權我的應用程序:
// azure。 microsoft.com/en-us/documentation/articles/active-directory-integrating-applications/
我在做什麼錯在這裏?我試圖得到訪問令牌。
你想要做什麼?即你是否試圖用AAD或移動應用程序獲得WebAPI應用程序,使用哪種語言? – theadriangreen
我正在嘗試使用Java中的AAD來獲得WebAPI應用程序。 – Spensaur
我面臨同樣的問題,但我使用PHP。 –