이전 버전에서는 “로그인” 버튼이 표시되는 랜딩 페이지가 나타났습니다. 이 버튼을 클릭하면 SAML 로그인 페이지가 표시되었습니다.
개인적으로 이러한 동작을 매우 좋아했습니다. 하지만 현재 버전 2.4.2에서는 SAML 로그인 페이지가 즉시 표시되어 더 이상 이렇게 할 수 없습니다.
이것을 설정할 수 있나요?
이전 버전에서는 “로그인” 버튼이 표시되는 랜딩 페이지가 나타났습니다. 이 버튼을 클릭하면 SAML 로그인 페이지가 표시되었습니다.
개인적으로 이러한 동작을 매우 좋아했습니다. 하지만 현재 버전 2.4.2에서는 SAML 로그인 페이지가 즉시 표시되어 더 이상 이렇게 할 수 없습니다.
이것을 설정할 수 있나요?
잘 이해가 안 되는데, ‘SAML로 로그인’ 버튼 하나만 있는 모달을 표시했다는 말씀인가요?
누군가 도와줄 수 있나요? @eviltrout 님은요?
저는 의도적으로 이 부분을 변경하지 않았습니다. 변경 시점을 파악해 주시면 해당 맥락을 살펴볼 수 있으니 도움이 될 것입니다.
보안상의 이유로 변경되었을 수도 있습니다.
omniauth 로그인 방법이 하나뿐인 경우, omniauth가 실제 SSO처럼 작동하도록 하자는 요구가 오랫동안 있어 왔던 개선 사항입니다.
무엇을 도와드릴까요?
힌트 하나: "로컬 로그인"을 활성화하면 "로그인 버튼과 함께 랜딩 페이지"가 표시됩니다.
확인 페이지가 정말 필요하다면, 사용자를 /login으로 연결할 수 있습니다(홈페이지가 아닌). 이렇게 하면 로그인이 자동으로 트리거되지 않습니다.
다만, 이는 실제로 지원되는 기능이 아니며, 구현상의 특이사항일 뿐 언제든 변경될 수 있습니다.
새로운 동작 방식이 더 우수하며 SSO 로그인과 일치합니다. 로그인 전에 메시지가 필요한 경우 Identity Provider에서 구현할 수 있습니다.
아, 좋은 정보네요.
2가지 이유를 알고 있습니다:
이러한 동작을 구성할 수 있을까요?
이것을 변경하려면 플러그인을 개발해 줄 개발자를 고용해야 합니다. 현재로서는 새로운 시스템에 대한 불만이 몇 달 만에 처음 듣는 것입니다.
저는 개발자입니다
(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
감사합니다. 정말 감사드립니다!
참고로, 디스코스를 정말 잘 운영하고 계시네요.