Azure AD B2C 注销不会使令牌失效



我们正在使用 MSAL 库并调用 end_session_endpoint URL 进行注销,它不会使访问令牌无效。如果我们在注销后使用相同的令牌,它仍然有效。任何相同的修复。是否有任何特殊方法可以从 Web 应用程序注销

注意:我们在移动设备上也看到了这个问题,以及库react-native-ios-android-appauth-b2c

这是

根据规范。访问令牌无法吊销或失效。

它记录在这里。

"客户端使用访问令牌来访问受保护的资源。访问令牌只能用于用户、客户端和资源的特定组合。访问令牌不能吊销,在到期前有效。已获取访问令牌的恶意参与者可以在其生存期内使用它。调整访问令牌的生存期是在提高系统性能和增加客户端在禁用用户帐户后保留访问权限的时间量之间进行权衡。通过减少客户端需要获取新访问令牌的次数来提高系统性能。默认值为 1 小时 - 1 小时后,客户端必须使用刷新令牌(通常以静默方式(获取新的刷新令牌和访问令牌。

可以撤销刷新令牌。

访问令牌不能失效。它是一种不记名令牌,因此持有它的任何人都可以使用它直到到期。

在您的情况下,可能无需在注销时使令牌失效。您可以简单地删除它,确保它不会保留在任何地方。

你提到的end_session_endpoint终结点只会清除浏览器中的 B2C 会话 Cookie 和 B2C 服务器上的用户状态,这与访问令牌没有直接关系。

您需要创建一个端点来将令牌发送(注销(到黑名单缓存系统(如 redis(中,并保留该密钥直到过期。然后在身份验证之前检查缓存中是否存在密钥。

最新更新