钥匙斗篷 11.0.2
- 有没有办法
UserSessionModel
在自定义身份验证器中分配给当前的 SSO 会话?
我可以采取List<UserSessionModel>
:
List<UserSessionModel> userSessions = context.getSession().sessions().getUserSessions(context.getRealm(), context.getUser());
但我不知道我可以使用哪个过滤属性AutheticationFlowContext
来过滤列表并获取当前 SSO 会话的 UserSessionModel。
现在我通过UserSessionModel.id
从身份验证请求 cookie KEYCLOAK_SESSION
(它的最后一段)中获取进行过滤。也许有一种直接的方法可以以某种方式UserSessionModel.id
使用AuthenticationFlowContext
?
- 我必须使用
UserSessionModel.getNote()
检索以前在同一 SSO 的另一个身份验证流中设置的 UserSessionNotes。
直接方法不适用于我UserSessionNotes
在另一个身份验证流中设置(但在同一个 SSO 中):
@Override
public void authenticate(AuthenticationFlowContext context) {
Map<String,String> sessionNotes = context.getAuthenticationSession().getUserSessionNotes();
// sessionNotes does not reflect notes set in another Authentication flows of the same SSO
...
}
因此,如果有人知道另一种方式来采取UserSessionNotes
w/oUserSessionModel
它也将是解决方案。