Azure AD v2.0中的OAuth:Azure AD v2.0 id_token中缺少at_hash声明

时间:2017-08-14 19:09:25

标签: azure-active-directory

根据Azure AD documentation,当使用访问令牌发出ID令牌时,Azure AD v2.0 ID令牌应包含访问令牌哈希,protected override void Dispose(bool disposing) { if (disposing && _userManager != null) { _userManager.Dispose(); _userManager = null; } base.Dispose(disposing); } 声明。

但似乎ID令牌中缺少ManageController声明。在调用Azure AD访问令牌请求v2.0端点AccountController之后,尽管发出了访问令牌,但Azure返回的id_token不包含at_hash声明。

Azure AD v2.0返回的响应正文示例:

at_hash

id_token包含以下声明。它不包含https://login.microsoftonline.com/{my_tenant}/oauth2/v2.0/token声明。

at_hash

1 个答案:

答案 0 :(得分:0)

根据上述请求,您使用的是授权代码流。看来这个说法不是由这个流程发布的。但是,当请求使用下面的请求隐式流时,会发出此声明:

POST: https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
response_type=token+id_token
&client_id={client_id}
&redirect_uri={redirect_uri}
&scope=openid+mail.read
&state=123
&nonce=456