Посадочная страница для входа через SAML

В предыдущих версиях отображалась целевая страница, на которой появлялась кнопка «Войти». При нажатии на эту кнопку открывалась страница входа SAML.

Лично мне такое поведение очень нравилось. В текущей версии 2.4.2 это больше невозможно, так как страница входа SAML отображается сразу.

Можно ли это настроить?

Я не совсем понимаю, вы имеете в виду, что мы показали модальное окно с одной кнопкой «Войти через SAML»?

Нет.
В предыдущей версии (кажется, это была 2.3.6) всё было так:

После нажатия на кнопку «Anmelden» открывалось окно входа через SAML.

Если я включаю «локальный вход», снова появляется стартовая страница с кнопкой входа, но мне не нужен локальный вход, поэтому мне нужно его отключить.

Кто-нибудь может помочь? Может быть, @eviltrout?

Я точно не менял это намеренно. Если бы вы могли помочь нам отследить, когда это произошло, это было бы полезно, так как мы могли бы изучить контекст.

Возможно, это изменение было сделано по соображениям безопасности.

Это долгожданное улучшение, призванное заставить omniauth вести себя как настоящий SSO, когда количество методов входа через omniauth равно одному.

Чем я могу помочь?

Одна подсказка: если вы включите «Локальный вход», будет отображена «Страница входа вместе с кнопкой входа».

Если вам действительно нужна страница подтверждения, вы можете перенаправить пользователя на /login (вместо главной страницы). Это не вызовет автоматический вход.

Однако имейте в виду, что это не поддерживается официально — это лишь особенность реализации, которая может измениться в любой момент.

Новое поведение лучше и согласуется с входом через SSO. Если сообщение необходимо до входа, его можно реализовать в провайдере идентификации.

А, хорошо знать.
Я знаю 2 причины:

  • показать очень приятную целевую страницу с основной информацией вместо «скучного» окна входа
  • «безопасность» (я знаю, это не слишком серьёзное препятствие). Дешёвые скрипты для взлома на главном URL (без целевой страницы), надеюсь, не сработают, так как сначала нужно нажать кнопку входа.

Возможно ли настроить такое поведение?

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

Я разработчик :slight_smile: (см. мои изменения в discourse_saml)

Примете ли вы PR, который добавляет опцию конфигурации (по умолчанию: новое поведение)?

Автоматическое перенаправление не должно создавать уязвимостей безопасности. Если вы обнаружили способ эксплуатации, пожалуйста, сообщите нам через нашу программу раскрытия информации: discourse/docs/SECURITY.md at main · discourse/discourse · GitHub

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

Вы можете переопределить это в плагине, исправив этот метод:

Так что, я думаю, вам стоит упростить функцию до следующего вида:

def redirect_to_login
  dont_cache_page
  cookies[:destination_url] = destination_url
  redirect_to path("/login")
end

Спасибо. Очень ценно!
Кстати: Вы отлично справляетесь с Discourse.