Механизм управления сессиями#
Режимы выдачи маркеров доступа и обновления#
Blitz Identity Provider предоставляет возможность управления сессиями пользователей. Для реализации этого механизма идентификатор сессии пользователя и идентификатор устройства сохраняются в маркерах доступа и маркерах обновления.
Blitz Identity Provider предусматривает два режима выдачи маркеров: online-режим и offline-режим:
При использовании online-маркеров приложение получает актуальные данные пользователя в течение активной сессии. Такие маркеры привязаны к конкретной сессии и устройству входа.
Важно
Время окончания действия маркера доступа не должно превышать время действия сессии.
Когда приложению требуется доступ к данным пользователя за пределами времени действия пользовательской сессии, необходимо использовать offline-маркер доступа и offline-маркер обновления. В отличие от online-маркеров, offline-маркеры привязаны только к устройству, с которого был выполнен вход.
Обновление маркеров в Refresh Token Flow#
При использовании online-маркера обновления система проверяет активность пользовательской сессии. Если сессия недействительна или отсутствует, маркер считается отозванным. В случае успешной проверки Blitz Identity Provider выдает новые online-маркер доступа и online-маркер обновления, которые остаются привязанными к исходной сессии и устройству.
При использовании offline-маркера обновления система проверяет его действительность. Маркер считается отозванным, если:
пользователь заблокирован;
у пользователя были сброшены сессии;
у пользователя были сброшены сессии при смене пароля.
При успешной проверке Blitz Identity Provider выдает новые offline-маркер доступа и offline-маркер обновления, сохраняющие привязку к исходному устройству.
Отзыв online-маркеров#
Online-маркеры автоматически отзываются при следующих событиях:
Событие |
Механизм отзыва |
|---|---|
Выход пользователя из системы (логаут) |
Отзываются все маркеры, выданные в рамках текущей сессии. |
Удаление устройства пользователя через Консоль администратора или REST API |
Отзываются все маркеры, связанные с данным устройством. |
Завершение сессии по истечению срока жизни |
Все маркеры сессии аннулируются. |
Блокировка пользователя через Консоль администратора |
Маркеры всех сессий аннулируются (после разблокировки пользователя маркеры, выданные до блокировки, остаются отозванными). |
Смена пароля пользователя с выбором сброса сессий через Консоль администратора |
Маркеры всех сессий аннулируются. |
Смена пароля пользователя с параметром сброса сессий через REST API |
При вызове REST API:
|
Сброс пароля путем восстановления доступа с выбором выхода со всех устройств |
Маркеры всех сессий, привязанных к этим устройствам, аннулируются. |
Отзыв offline-маркеров#
Offline-маркеры будут отозваны при следующих событиях:
Событие |
Механизм отзыва |
|---|---|
Сброс всех сессий пользователя через Консоль |
Маркеры всех сессий аннулируются. |
Сброс всех сессий пользователя через REST API |
При вызове REST API:
|
Блокировка пользователя через Консоль администратора |
Маркеры всех сессий аннулируются (после разблокировки пользователя маркеры, выданные до блокировки, остаются отозванными). |
Смена пароля пользователя с выбором сброса сессий через Консоль администратора |
Маркеры всех сессий аннулируются. |
Смена пароля пользователя с параметром сброса сессий через REST API |
При вызове REST API:
|
Сброс пароля путем восстановления доступа с выбором выхода со всех устройств |
Маркеры всех сессий, привязанных к этим устройствам, аннулируются. |