繁体   English   中英

Azure AD B2C 访问令牌声明在刷新令牌后不更新

[英]Azure AD B2C Access token claims do not update after refreshing token

我们在我们的应用程序中使用 Azure AD B2C。 我们授权用户使用 API

https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/authorize?client_id=<client-id-uuid>
&nonce=defaultNonce&redirect_uri=http%3A%2F%2Flocalhost%3A4200%2Findex.html
&scope=openid%20offline_access%20https%3A%2F%2F{tenant}.onmicrosoft.com%2F<client-id-uuid>%2FUser.all
&response_type=code&prompt=login

使用上面我们获取授权码。

此身份验证代码用于通过应用程序对用户进行身份验证,并使用获取access_tokenrefresh_tokenid_token

POST /{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/token HTTP/1.1
Host: {tenant}.b2clogin.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

grant_type=authorization_code&code={auth code received in previous step}
&scope=openid%20offline_access%20https%3A%2F%2F{tenant}.onmicrosoft.com%2F<client-id-uuid>%2FUser.all
&client_id={client id}&redirect_uri=localhost%253A4200%252Flogin.html%3A

验证后,该代码用于访问各种端点和 azure 功能。 在 hte 过程中,我们需要用户在唱歌时输入的用户属性,如 email、display_name、国家等信息。 除了默认属性外,我们还有一些自定义属性,例如team_name ,它特定于我们的 Web 应用程序用例。 这些属性随时间而变化。

例如:一个人可以换队。 因此我们使用 Graph API 在用户属性中修改它。 所以在这种情况下,如果属性team_name = 'Team ABC' 现在更改为team_name = 'Team XYZ'

但是属性更改后,属性不会反映access_token / refresh_tokenid_token中的新值。 有没有一种方法可以在不重新授权用户的情况下获取令牌中的刷新值?

目前我们从 Graph API 中获取用户属性,但如果我们在令牌中获得刷新值,它会更快、更方便。

自定义策略没有公开记录的机制来在刷新令牌流中获取新的访问令牌声明。 所以你所观察到的是预期的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM