오직 oAuth만 활성화했을 때는 정상적으로 작동했습니다. “Auth0로 로그인” 버튼을 사용하여 문제없이 로그인할 수 있었습니다. SSO를 활성화했을 때는 Auth0 페이지로 리다이렉트되지만, "invalid_request: Invalid parameter: client_id must be a string"이라는 오류 페이지만 표시됩니다. 가장 먼저 떠오르는 생각은 "sso_url"을 잘못 입력하고 있다는 것입니다. 실제로 그 자리에 무엇을 입력해야 하는지 정확히 모르기 때문에 "https://.auth0.com/authorize"를 입력해 두었습니다.
Discourse 설정을 처음 하는 사용자로서 SSO 기능을 오해하고 있는 당신의 혼란에 공감합니다. 관련 토픽이 있기는 하지만, 특히 일부 SSO 설정이 Discourse를 SSO 제공자로 사용하는 경우(예: Auth0를 사용하려는 방식)에 적용되는 것이기 때문에, 그 차이를 잘 전달하지는 못했습니다.
SSO 기능에 외부 ID 제공자를 사용하려면 discourse-sso-oidc-bridge와 같은 중개 서비스가 필요합니다. 저는 오늘 Auth0 대신 Keycloak로 이를 성공적으로 설정했는데, 대략적인 과정은 비슷할 것입니다.
Google/Facebook/GitHub와 같은 소셜 로그인처럼 단순히 Auth0를 사용하려는 경우라면, discourse-openid-connect 플러그인을 사용하는 것이 적절할 것입니다. 해당 플러그인을 설치하고 제공되는 설정을 사용해야 하며, 저는 별도의 SSO 기능이 추가되기 전에 Keycloak와 함께 이 방법을 시도해 본 적 있습니다. 이 경우 중간에 브리지가 필요하지 않으며, 원하시는 결과를 얻을 수 있을 것입니다(사용자가 다시 로그인할 때만 Discourse가 계정 세부 정보를 동기화하므로, 로그인 시 계정 정보의 업데이트/동기화를 원하지 않는다면 말이죠).
사용자는 계정 생성을 prompted 받게 되지만, 모든 양식 필드는 인증 제공자에서 자동으로 채워집니다. 이 플러그인의 향후 업데이트에서는 기존 SSO 기능처럼(단일 로그인 옵션인 경우) 계정 생성 과정을 건너뛰고 바로 계정을 생성하도록 할 예정입니다.