Задать вопрос

Как принудительно разлогинить пользователя в случе бана?

В приложении asp.net core 7.0, если пользователь уже залогинился, а после этого его учетную запись заблокировали на OpenID Connect сервере, как принудительно завершить его сеанс?

Поставщик авторизации AddOpenIdConnect
  • Вопрос задан
  • 102 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
1. Заводишь какую-нибудь табличку для бан-листа, в которую записываешь идентификаторы каждого клиента, которые забанены. (Предварительно тебе бы следовало как-нибудь запомнить, что клиент с таким-то идентификатором от некоторого oidc-провайдера является таким-то пользователем в твоей системе.)

2. Вносишь его токен в чёрный список до тех пор, пока у токена не истечёт время жизни. (для списка таких токенов тоже следует завести табличку)

3. Естественно, во всех местах ты должен проверять, что токен не внесён в чёрный список, не отозван, и что сам пользователь не забанен. В случае провала такой проверки - кидай 403 код ошибки, а на фронте при получении такого кода - выводи какое-нибудь сообщение.
Ответ написан
Комментировать
Zarinov
@Zarinov Автор вопроса
Правильно ли я понимаю, что если установить небольшой срок жизни токена (или куки), то при его протухании произойдет повторное обращение к серверу авторизации и его уже не авторизуют, или такой номер не пройдет?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы