Самоудаление аккаунта с входом только через SSO не перенаправляет на `logout redirect`, а ведет на URL авторизации, вызывая цикл

КОНТЕКСТ: При отключенном локальном входе и анонимном доступе, а также при добавлении провайдера OAuth2 через базовый плагин OAuth, URL-адрес «перенаправления при выходе» соблюдается, когда пользователь нажимает кнопку выхода.

ОШИБКА: Однако при попытке пользователя самостоятельно удалить свою учётную запись его не перенаправляют на URL-адрес «перенаправления при выходе», а возвращают на базовый URL форума, который, в свою очередь, перенаправляет на URL аутентификации SSO без каких-либо подсказок, поскольку анонимный просмотр отключён. Поскольку пользователь всё ещё аутентифицирован у провайдера SSO, это немедленно приводит к созданию его учётной записи заново.

Я считаю, что самым простым и быстрым исправлением будет соблюдение настройки «перенаправление при выходе» после самостоятельного удаления учётной записи.

Дополнительным улучшением могло бы стать сохранение списка пользователей, удаливших свои учётные записи самостоятельно, и при последующем создании учётной записи с теми же данными отображение им подсказки, объясняющей, что они пытаются воссоздать ранее удалённую учётную запись, что позволит им избежать этого. Ещё лучше, если администратор сможет выбрать требование ручной активации таких воссозданных учётных записей сотрудниками.

2 лайка

Просто для уточнения — речь идет об этом плагине?

Кстати — возвращаюсь к OAuth, но, полагаю, мне нужно настроить локального провайдера OAuth2 для тестирования этого? Правильно ли я понимаю? И есть ли тот, который вы рекомендуете? @nat

Отлично!

Инструкция в readme того плагина, который вы поделились здесь, — отличное место для начала.

1 лайк

Привет, Крис,

Да, в моём случае я использовал указанный вами плагин с провайдером Authentik, и всё работает как задумано, за исключением повторной регистрации при удалении аккаунта из-за описанного цикла перенаправления.

С наилучшими пожеланиями

1 лайк

Это объединено. redirect to /login after account delete to prevent recreation of sso account by marstall · Pull Request #22575 · discourse/discourse · GitHub

2 лайка