mirror of
https://github.com/keycloak/keycloak.git
synced 2026-06-08 00:04:10 -04:00
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
2 changed files with 6 additions and 0 deletions
|
|
@ -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…
Reference in a new issue