ADFS를 사용한 SAML 설정

SAML 플러그인(GitHub - discourse/discourse-saml: Support for SAML in Discourse · GitHub)을 사용하여 ADFS와 함께 SAML 로그인 지원을 추가하려고 하고 있습니다. 하지만 아직 크게 진전을 보이지 못하겠습니다. 이 과정을 더 잘 이해하게 되면 다른 분들을 위해 더 자세한 사용 방법을 정리해서 공유할 의향이 있습니다.

현재 가장 큰 문제는 “SAML로 로그인” 버튼이 표시되지 않는 것입니다.

이 과정에 대해 더 구체적인 질문은 다음과 같습니다:

  1. SAML 설정은 모두 app.yml을 통해 이루어지는 것이 맞나요? /admin 설정에서 실제로 변경해야 하거나 사용해야 하는 설정은 없나요?
  2. app.yml의 SAML 설정은 env: 섹션에 있어야 하나요?
  3. app.yml에서 DISCOURSE_SAML_CERT_FINGERPRINT와 DISCOURSE_SAML_CERT 값 주위에 이중 인용부호(“”)를 사용해야 하나요?
  4. DISCOURSE_SAML_CERT에 BEGIN/END CERTIFICATE 헤더/푸터를 포함해야 하나요?
  5. DISCOURSE_SAML_CERT 인증서는 한 줄로 작성해야 하나요, 아니면 줄바꿈이 필요하나요?
  6. SAML로 로그인 버튼이 표시되려면 DISCOURSE_SAML_AUTO_CREATE_ACCOUNT가 TRUE 또는 1로 설정되어야 하나요? 메타 포럼에서 이 설정이 필수라는 것을 시사하는 다른 게시글이 있었던 것 같습니다.
  7. 버튼이 표시되지 않는 원인을 파악하기 위해 어떤 로그를 확인해야 하나요?

도움 주셔서 감사합니다. 명확히 하자면, 플러그인을 추가하고 app.yml 설정을 조정했으며 다시 빌드했지만 버튼이 여전히 표시되지 않습니다. /admin/plugins에서 플러그인이 설치되어 있는 것으로 표시되므로 기본 사항은 올바르게 진행한 것 같지만, 분명히 중요한 것을 놓치고 있는 것 같으며 이 과정에 대한 문서를 찾는 데도 어려움을 겪고 있습니다.

네, 그렇게 하는 것이 좋은 관행입니다.

아니요.

한 줄로 작성해야 합니다. 즉 DISCOURSE_SAML_CERT="MII...." 형태여야 합니다.

아니요.

그렇다면 버튼이 표시되지 않는 이유에 대해, 이 게시물에서 언급한 것 외에 app.yml에 어떤 키를 설정했나요?

설명해 주셔서 감사합니다!

이것은 이 과정을 테스트하기 위해 새로 설치한 것이므로 ./discourse-setup가 수행하는 작업 외에 다른 것은 없습니다. 시스템에 설치된 다른 플러그인은 docker_manager뿐입니다.

제 Saml 플러그인 설정 섹션은 다음과 같습니다:

방금 간단한 테스트를 해봤는데, 플러그인만 설치되어 있으면(설정 없이도) 버튼이 표시되기에 충분해야 합니다. (물론 설정이 없으면 기능이 작동하지는 않겠지만요).

따라서 문제가 플러그인 설치 쪽에 있는 것 같습니다.

흥미롭네요, 정보 주셔서 감사합니다. 그럼 /var/discourse를 지우고 처음부터 다시 시작하는 걸로 하겠습니다.

그럼에도 불구하고 모든 설명에 진심으로 감사드립니다.

정확히 말씀드리면, 플러그인 URL은 다음과 같습니다: GitHub - discourse/discourse-saml: Support for SAML in Discourse · GitHub

@RGJ 플러그인을 어떤 버전에서 테스트해 보셨나요? /var/discourse를 삭제하고 다시 빌드했는데도 여전히 로그인 버튼이 보이지 않습니다. .git가 있는 경우와 없는 경우 모두 플러그인 URL을 시도해 보았지만요.

./launcher enter app을 실행하면 플러그인 디렉터리가 있는 것으로 보입니다:

그래도 버튼은 없습니다 :frowning:

모두 안녕하세요, 좋은 아침입니다. 저는 이 플랫폼을 처음 사용하며, 로그인도 처음 해봅니다 :slight_smile:
정말 멋진 플랫폼을 볼 수 있어 기쁩니다.
ADFS 통합에 대해 유용한 문서가 있을까요?
특히 ADFS와 Discourse에서 어떤 속성과 다른 매개변수를 설정해야 하는지 단계별로 알려주시면 좋겠습니다.

이 부분을 잘 아시는 분이 도와주시면 정말 감사하겠습니다. 감사합니다.