SSO 제공업체를 변경할 수 있나요?

약 2년 전부터 Discourse를 사용 중이며, 인증 제공자로 메인 백오피스 시스템의 SSO를 사용하고 있습니다. 이 시스템은 외부 ID(GUID)를 사용합니다.

현재 메인 백오피스 시스템을 다른 벤더의 시스템으로 변경할 준비를 하고 있습니다. 새 시스템은 OAuth2/OpenID를 지원하지만, 이 시스템으로 전환하면 사용자의 외부 ID(GUID)가 변경됩니다. 따라서 다른 분들도 이와 같은 상황을 겪어보셨는지, 그리고 현재 Discourse에 저장된 외부 ID를 일괄 업데이트해야 하는지 궁금합니다.

사용자의 이메일 주소가 동일하게 유지되는 한 문제가 없어야 합니다.

감사합니다. 불행히도, 새로운 SSO 제공자를 테스트할 때 "주요 이메일이 이미 사용 중입니다"라는 오류가 발생합니다.

다음과 같은 설정을 적용해 두었습니다:

image

이미 계정이 존재하기 때문에 로그인해야 하는 상황에서 가입을 시도하고 있기 때문입니다.

하지만 저는 가입을 시도하는 것이 아닙니다. 홈페이지에 도착한 후 '로그인’을 클릭하면 SSO 제공업체의 로그인 페이지로 이동합니다. 여기서 비밀번호를 입력하면 인증은 성공적으로 이루어지지만, 이후에는 ‘계정을 생성하세요’ 페이지로 이동합니다. 그런데 저는 '가입’을 클릭한 적이 없습니다.

나도 적절한 설정이라고 생각되는 아래 설정들을 적용해 두었습니다.

문제 해결을 위해 필수 설정만으로 시작해 보겠습니다. 해당 이메일이 양쪽에 모두 존재하는지 확인해 주세요.

해당 이메일은 Discourse에서 수동으로 입력한 것인가요, 아니면 SSO 서버에 의해 자동으로 입력된 것인가요?

제가 생각하기에, 아마도 이메일이 Discourse에서 다른 사용자 이름과 연결되어 있고, SSO 서버가 새로운 사용자 이름을 보내면서 충돌이 발생하고 있는 것 같습니다.

Discourse 로그에 SSO와 관련된 항목이 있나요? 이 문제의 정확한 원인을 파악하는 데 도움이 될 수 있습니다.

감사합니다. Discourse에서 SSO/OpenID를 비활성화하면 해당 이메일 주소로 Discourse에 로그인할 수 있음을 확인했습니다. 또한 동일한 자격 증명이 SSO 제공업체에서도 정상적으로 작동하는지 확인했습니다.

Discourse에서 OpenID를 다시 활성화하면 SSO 제공업체를 통해 인증은 성공적으로 이루어지지만, 여전히 계정 생성을 요청하는 Discourse 화면으로 이동합니다. 해당 화면의 세 가지 값(이메일, 사용자 이름, 전체 이름)은 모두 SSO 제공업체에 의해 자동으로 입력됩니다.

위에서 언급한 모든 설정을 꺼보았지만, 이 동작에는 변화가 없습니다.

discourse.example.com/logs에 가서 SSO와 관련된 경고나 오류가 있는지 확인해 주시겠어요?

감사합니다. 네, SSO 오류도 없고 OIDC 오류도 없어요. 그리고 OpenID의 상세 로깅도 켜져 있습니다.

죄송합니다. 지금은 제안할 것이 없습니다. 무언가를 찾으면 다시 답변드리겠습니다.