Asp.net core 如何通过图传播Azure B2C广告声明更新?
我有一个网站使用Azure B2C广告进行身份验证,并使用Graph API更新用户声明。声明得到了正确的更新,但是,我遇到了一个传播/计时问题 简单地说:前端是.Net core 2 MVC,通过.Net core webapi后端调用,当用户正常登录时,该后端执行所有数据操作等操作?一切都很好。索赔通过Web API传递没有问题(通过承载令牌,通过中间件自动处理,完美) 当我们更新用户声明时,问题就来了——如果我们通过graph API更新声明,然后立即执行质询请求(例如,我们在站点内切换用户配置文件),返回的声明仍然是旧的声明值,而不是更新的声明值。我尝试过的解决方案:Asp.net core 如何通过图传播Azure B2C广告声明更新?,asp.net-core,asp.net-core-webapi,azure-ad-b2c,Asp.net Core,Asp.net Core Webapi,Azure Ad B2c,我有一个网站使用Azure B2C广告进行身份验证,并使用Graph API更新用户声明。声明得到了正确的更新,但是,我遇到了一个传播/计时问题 简单地说:前端是.Net core 2 MVC,通过.Net core webapi后端调用,当用户正常登录时,该后端执行所有数据操作等操作?一切都很好。索赔通过Web API传递没有问题(通过承载令牌,通过中间件自动处理,完美) 当我们更新用户声明时,问题就来了——如果我们通过graph API更新声明,然后立即执行质询请求(例如,我们在站点内切换用
OnTokenValidated
事件,并仅更新用户对象
如果挑战返回的声明与
更新的索赔价值。这会保存到cookie中,因此所有
前端调用现在将看到新的索赔值,但实际上没有
更新承载令牌(其中包含加密的所有声明)
因此web API看不到更新的声明值希望我错过了一些真正愚蠢的事情,有人能指出我在哪里真正愚蠢。那会让我省去很多头痛。你看过这篇文章吗?它讨论了更新索赔问题的多种解决方案。你看过这篇文章了吗?它讨论了更新索赔问题的多种解决方案。