2016-06-11 273 views
0

我試圖在多租戶應用程序中實現OAuth 2.0 Authorization Code Flow無法從OAuth 2.0獲取訪問令牌授權碼流程

我第一請求授權「的OpenID輪廓電子郵件」範圍在login.microsoftonline.com/organizations/oauth2/v2.0/authorize ,然後用於我與 grant_type=authorization_code獲得沿着代碼,CLIENT_IDclient_secretREDIRECT_URI訪問令牌在login.microsoftonline.com/organizations/oauth2/v2.0/token

我收到的答覆只包含id_tokentoken_type=Bearer。爲什麼我不給access_tokenexpired_at字段?

我試圖在令牌調用中再次提供作用域,但響應返回相同。 spec表示它應該包含訪問令牌。我也嘗試過/共同的終點,但事情是一樣的。

+0

不記名令牌是訪問令牌。 – BenV

回答

1

您正在使用Azure AD v2.0端點。你可以通過這個事實告訴你,你的網址有 v2.0

在v2.0端點中,如果您只要求包含在id_token(即openid配置文件電子郵件)中的範圍,並且不要求任何其他範圍(即https://outlook.office.com/contacts.read),則只會返回一個id_token。這是由於您基本上告訴Azure AD您只需要配置文件信息並且不與任何apis交談,因此不需要訪問令牌。另一方面,如果你包含一個api的作用域(即https://outlook.office.com/contacts.read),你將得到一個access_code。

+0

我想訪問Discovery API和Drop Box for Business API,但似乎從https://azure.microsoft.com/zh-CN/documentation/articles/active-directory-v2 -limitations /看起來我必須改用v1.0端點。 – bugzpodder

相關問題