2016-09-30 69 views
1

我有一個很難通過天青AD B2C的OAuth 2.0 API接收的access_tokenrefresh_token的的oauth2/2.0 /令牌端點。404未找到爲天青AD B2C

我正在關注描述OAuth 2.0授權碼流程的official guide

收到一個authorization_token通過Microsoft提供的交互式登錄網站工作正常(網址:https://login.microsoftonline.com/[MY_TENANT]/oauth2/v2.0/authorize?client_id=[CLIENT_ID]&response_type=code&response_mode=query&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob&scope=[CLIENT_ID]%20offline_access&p=[MY_SIGNUP_SIGNIN_POLICY])。

然而,試圖如文檔中表示通過一個簡單的POST請求得到一個的access_token的時候,我發現了一個404以下POST請求未找到:

URL: https://login.microsoftonline.com/[MY_TENANT]/oauth2/v2.0/token?p=B2C_1_sign_in 
Header: Content-Type application/x-www-form-urlencoded 
Payload: grant_type=authorization_code&client_id=[CLIENT_ID]&scope=[CLIENT_ID]%20offline_access&code=[AUTHORIZATION_CODE]&redirect_uri=urn:ietf:wg:oauth:2.0:oob 

是文檔錯誤在那時候?

注意:由於框架原因,我無法使用任何提供此登錄過程的現有.NET或Java庫。一個C++庫會做。

所以我非常希望他們能夠實現一個符合標準的方式通常完整無頭的OAuth2協議...

回答

1

的問題是我的文檔的誤解。

策略(查詢參數p)在所有情況下都必須相同。因此,對於POST請求的URL必須是:

https://login.microsoftonline.com/[MY_TENANT]/oauth2/v2.0/token?p=MY_SIGNUP_SIGNIN_POLICY 

哪裏MY_SIGNUP_SIGNIN_POLICY是完全一樣的登錄網址。