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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Монополия Санкт-Петербург
от 87 000 до 87 000 ₽
Enqo Москва
от 200 000 ₽
25 апр. 2024, в 19:42
49000 руб./за проект
25 апр. 2024, в 19:41
2000 руб./за проект
25 апр. 2024, в 19:22
18000 руб./за проект