小编And*_*ole的帖子

Keycloak 操作令牌:当用户请求多个操作(例如重置密码)时,如何使用户之前的操作无效

我希望能够使身份验证流程中用户的任何操作令牌无效。

该场景是用户发送重置密码并收到带有关联操作令牌的电子邮件。然后,用户发送另一个重置密码并收到另一封带有不同操作令牌的电子邮件。对于第一个操作令牌到期时间的长度,用户可以利用两封电子邮件中的链接 - 但是我希望能够在我的自定义重置密码身份验证流程中识别出用户正在请求重复的操作请求并使他们之前的操作无效操作令牌,以便只有最新的重置密码链接才有效。

我一直在查看以下对象,但没有找到与所有用户活动关联的操作令牌存储,而不仅仅是与当前经过身份验证的会话关联。

AuthenticationFlowContext context;

            List<UserSessionModel> sessions = context.getSession().sessions().getUserSessions(context.getRealm(), user);

            RootAuthenticationSessionModel parentSessions = context.getAuthenticationSession().getParentSession();

            ActionTokenStoreProvider actionTokenStore = session.getProvider(ActionTokenStoreProvider.class);
Run Code Online (Sandbox Code Playgroud)

提前致谢。

authentication token single-sign-on keycloak

5
推荐指数
1
解决办法
1392
查看次数

标签 统计

authentication ×1

keycloak ×1

single-sign-on ×1

token ×1