Обратный вызов SSO закрывает соединение (0 байт отправлено сервером); использованное ранее вход в систему от имени другого пользователя

(Примечание: это также было сообщено здесь: Connection lost during callback · Issue #28 · habi-dat/discoursesso · GitHub)

Здравствуйте,

у нас возникает очень странная проблема с нашим Discourse SSO. С тех пор как один пользователь вышел из режима имперсонации, он не может войти снова. Вот что происходит сейчас, если он пытается войти: (ранее пользователь был авторизован в Nextcloud).

Сервер просто закрывает соединение. Мне не удаётся найти никаких записей об ошибках в логах: ни в прокси-серверах nginx, ни в Discourse, ни в Nextcloud.

Интересно, что проблема не связана с сетью или устройством. Не может войти только этот конкретный пользователь.

Я также пробовал очистить данные SSO в Discourse и изменить адрес электронной почты, чтобы принудительно создать новую учётную запись в Discourse. Проблема сохраняется.

Я подозреваю, что это проблема с плагином Nextcloud, однако меня удивляет отсутствие каких-либо сообщений об ошибках со стороны Discourse. (Я очистил логи и попробовал снова, но никаких записей не появилось.)

Вы включили verbose_discourse_connect_logging в разделе Администрирование → Настройки → Вход?

Я только что это сделал. Единственная запись:

Подробный лог SSO: Запущен процесс SSO

add_groups: 
admin: 
moderator: 
avatar_force_update: 
avatar_url: 
bio: 
card_background_url: 
confirmed_2fa: 
email: 
external_id: 
groups: 
locale: 
locale_force_update: 
location: 
logout: 
name: 
no_2fa_methods: 
nonce: <удалено>
profile_background_url: 
remove_groups: 
require_2fa: 
require_activation: 
return_sso_url: https://hub.diehumanisten.de/session/sso_login
suppress_welcome_message: 
title: 
username: 
website: 

Эта проблема всё ещё актуальна, @simon.michalke?

Да, мы только что снова это проверили, и проблема всё ещё сохраняется.

Хорошо, теперь у нас возникла РЕАЛЬНАЯ проблема. Похоже, что проблема распространяется на других пользователей. И второй пользователь не является администратором, поэтому не может использовать обходное решение.

Если я хочу связаться с платной поддержкой, с кем мне следует говорить в моем случае?

В итоге это оказался правильный ответ на вашу проблему? :crossed_fingers:

Да. Nextcloud SSO поддерживает только GET-запросы, а не вход через POST. Наш прокси-сервер nginx молча отбрасывал запросы, так как количество групп заполняло заголовок запроса.

Наше текущее решение — вручную модифицировать плагин, чтобы он не включал группы:

Вскоре мы перейдём на Keycloak для аутентификации.