找不到404 ADA B2的oauth2 / v2.0 /令牌端点404

时间:2016-09-30 05:25:29

标签: azure oauth azure-active-directory

我很难通过Azure AD B2C的OAuth 2.0 API接收 access_token refresh_token

我关注描述OAuth 2.0授权代码流的official guide

通过Microsoft提供的交互式登录网站接收 authorization_token 工作正常(网址: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 Not Found以及以下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 个答案:

答案 0 :(得分:1)

问题在于我对文档的误解。

策略(查询参数p)在所有情况下都必须相同。因此,POST请求的URL必须是:

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

MY_SIGNUP_SIGNIN_POLICY与登录网址完全相同。