更新后延迟获取自定义属性的新值

Lag in getting the new value of a custom attribute after updating it

我们为我们的应用程序编写了两个自定义策略 - verify_email 和 signup_sign_in 策略。我们向具有 link 到 verify_email 自定义策略的用户发送一封欢迎电子邮件(我们在注册期间不使用 otp 来验证电子邮件)。 link 包含由我们的证书签名的 id_token 提示,verify_email 从 id_token 获取用户主体,从 AAD 获取用户,更新 email_verified自定义属性然后将用户重定向到应用程序。这是一个无缝过程,不会向用户显示任何 UI。该应用程序将无法识别令牌,因为令牌来自 verify_email 策略,因此它将用户重定向到 adb2c 中的 sign_up_sign_in 策略,adb2c 将看到由 [=14= 创建的当前用户会话] 策略并将用户重定向回具有所需声明的应用程序,无需用户显式登录。

我看到的是一半时间,sign_up_sign_in 策略不会获取最近更新的 email_verified 声明的最新值。似乎有延迟,当您将声明写入 azure ad 时,有时会读取它,您得到的是旧值。关于这种滞后,是否可以采取一些措施来确保我始终获得正确的价值?提前致谢。

这是由于区域复制 DC 基础设施中的复制延迟所致。您无法影响此延迟。您需要将此视为 workflows/design 的一部分 - 例如,使用 id 令牌提示旅程让用户登录,不要要求用户立即再次登录。在此旅程中,您将获得所有最新的索赔。