mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-10 15:32:05 -03:30
Mark user session for removal when the user bound to cannot be resolved
Closes #40398 Signed-off-by: Pedro Igor <pigor.craveiro@gmail.com>
This commit is contained in:
parent
173471a1c9
commit
88069cd5fb
@ -585,6 +585,8 @@ public class PersistentUserSessionProvider implements UserSessionProvider, Sessi
|
||||
user = session.users().getUserById(realm, entity.getUser());
|
||||
|
||||
if (user == null) {
|
||||
// mark the user session for removal when the user bound to the session can not be resolved
|
||||
removeUserSession(realm, wrap(realm, entity, offline, null));
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@ -411,6 +411,10 @@ public class LogoutEndpoint {
|
||||
try {
|
||||
userSession = session.sessions().getUserSession(realm, userSessionIdFromIdToken);
|
||||
|
||||
if (userSession == null) {
|
||||
userSession = session.sessions().getOfflineUserSession(realm, userSessionIdFromIdToken);
|
||||
}
|
||||
|
||||
if (userSession == null) {
|
||||
event.event(EventType.LOGOUT);
|
||||
event.error(Errors.SESSION_EXPIRED);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user