密码重置后 Azure B2C 会话不会过期

Azure B2C session not expire after password reset

我使用我的应用程序在两个不同的网络浏览器上打开了两个浏览器 window。 我注意到我是否正在使用本地 Azure AD 帐户,并且我在第一次打开 window 时重置了我的密码。另一个 window 中的会话保持登录状态,即使我刷新 window。 为什么B2C使用previous authentication?我该如何更改?

这很危险,因为用户无法从所有会话中注销,以防万一他忘记在图书馆、学校等处注销

当然存在解决方案,每次用户打开新的时候都要注销window,但是保持登录的方法是用户友好的。

这是因为登录选项卡未使用会话 cookie 或刷新令牌执行任何操作。它正在使用无法撤销的访问令牌。一旦访问令牌过期,并且使用了刷新令牌,那么这将失败。然后将使用会话 cookie,这可能会或可能不会取决于它是否已过期。

您可以使用此 sample 来撤销会话。

示例根据刷新令牌有效 date-time 撤销 cookie,在执行密码重置时自动设置为 'current time'。

这意味着,所有用户设备将在访问令牌过期后注销。