用户在太短的时间内登录失败次数过多后;有没有办法让 Keycloak 登录屏幕告诉用户他们被临时锁定,以便他们知道他们必须等待并稍后重试?
目前它继续告诉他们他们的密码错误,所以他们可能会继续尝试,最终可能会被告知他们的正确密码不正确。
理想情况下,我希望只需更改登录主题即可完成此操作,而无需进行额外的 API 调用。
最佳答案
是的,可在 UserRepresentation 中获得返回
GET /{realm}/users/{id}
您也可以查看 brute force status在GET /{realm}/attack-detection/brute-force/users/{userId}
后者只会显示它是否被暂时禁用您可以在没有任何额外 API 调用的情况下使用
Admin REST APIs (Get Users and Get Representation Of User)
它返回在最大登录失败后启用的属性值不一致”尝试超过
说明
超过最大登录失败次数后,以下两个管理 REST API 请求之间参数“启用”(对于给定{uid})的不同返回值。
GET /admin/realms/{realm}/users/{id} => "enabled":false
2.1 GET /admin/realms/{realm}/users => "enabled":true
2.2 GET /admin/realms/{realm}/users?search={string} => "enabled":true
GET /admin/realms/{realm}/attack-detection/brute-force/usernames/{username} => ("disabled":true)
注意:GUI 管理控制台在最大登录失败尝试后返回 user=disabled 和锁定。
关于single-sign-on - Keycloak:表示用户被临时锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41467004/