Сеанс единого входа с закрытием ключа Max = 0?

#single-sign-on #keycloak

Вопрос:

Можно ли аннулировать сеанс единого входа с ключом, когда пользователь закрывает свой браузер/вкладку?

Согласно документам, я должен быть в состоянии сделать это, установив значение SSO Session Idle и значение SSO Session Max 0 .

Однако при установке этого 0 значения я не могу сохранить настройки. Что я здесь неправильно понимаю? И возможно ли выйти из системы пользователя, когда он закрывает свой браузер/вкладку?

Ответ №1:

Keycloak не может завершить сеанс на стороне сервера при закрытии браузера, так как он не знает, что браузер закрыт. Но поскольку ваш файл cookie единого входа является файлом cookie сеанса, ваш браузер удалит файл cookie при закрытии браузера. Без этого файла cookie вам придется повторно войти в систему при повторном подключении вашего браузера. Просто убедитесь, что вы не включили функцию «Запомнить меня» на Realm settings -> Login .

Однако, насколько я знаю, это не поддерживается при закрытии вкладки.

Комментарии:

1. Я думаю, в этом-то и проблема. Файл cookie единого входа не является файлом cookie сеанса. Срок его действия составляет 10 часов. Я хотел бы установить срок действия равным 0, чтобы он обрабатывался как файл cookie сеанса.

2. Я не уверен, о каком файле cookie вы говорите. KEYCLOAK_IDENTITY и AUTH_SESSION_ID являются сессионными файлами cookie, если вы не включили опцию «запомнить меня». Вы имеете в виду файл cookie KEYCLOAK_SESSION? Какова была бы цель установки времени жизни на 0? С помощью этого вы бы в основном отключили единый вход.