새 사용자가 카테고리 링크를 클릭하면 「이 포럼은 초대만으로 접근 가능합니다」라는 메시지가 표시되고 OAuth2 로그인도 되지 않음

안녕하세요,

저희 Discourse 인스턴스에는 특정 사용자 그룹으로 제한된 비공개 카테고리가 있습니다. 새 사용자가 OAuth2로 로그인한 후 이 카테고리에 접근할 수 있도록 링크를 생성했습니다.

하지만 아직 Discourse 계정이 없는 새 사용자가 이 링크를 클릭하면 다음과 같은 메시지가 표시됩니다:

“죄송합니다. 이 포럼은 초대만 가능합니다.”

이로 인해 OAuth2 로그인 플로우로 진행할 수 없고, 결국 카테고리에 도달하지 못합니다. 기존 사용자는 정상적으로 접근할 수 있습니다.

저희는 새 사용자가 OAuth2로 로그인한 후 적절한 그룹에 추가되어 카테고리를 볼 수 있기를 원합니다. 하지만 현재 Discourse가 로그인 전에 사용자를 차단하고 있습니다.

도움이 필요한 사항

  • 새 사용자의 OAuth2 로그인을 허용하고 싶은데 왜 사이트가 “초대 전용”이라고 표시되는 것일까요?

  • 조정해야 하는 oauth2 allow uninvited users 또는 invite only와 같은 설정이 있나요?

  • 다음과 같은 구성을 원할 때 올바른 설정은 무엇일까요?

    • 사이트가 초대 전용이 아닌 상태,
    • OAuth2 사용자가 새 계정으로 로그인 가능,
    • 로그인 후 그룹 권한으로 카테고리 접근을 제한?

OAuth2 + 그룹 기반 카테고리 제한을 올바르게 구성하는 방법에 대한 안내를 부탁드립니다.

안녕하세요 — Discourse 사이트 설정의 invite only 항목을 확인해 주시고, 활성화되어 있다면 비활성화해 주시겠어요?

invite only를 비활성화하면 새 사용자가 OAuth2를 통해 로그인하거나 가입할 수 있습니다.
사용자가 로그인한 후에는 그룹 멤버십 규칙(자동화 또는 수동 지정)을 사용하여 비공개 카테고리에 대한 접근 권한을 부여할 수 있습니다.

초대 전용(Invite Only)을 비활성화하고 비공개 카테고리에 대한 그룹 초대 링크를 생성했습니다. 새 사용자가 링크를 클릭하면 우리의 OAuth2 SSO를 통해 로그인하지만, 자동으로 그룹에 추가되지 않아 여전히 카테고리를 볼 수 없습니다.

그룹 초대 링크가 왜 새로운 SSO 사용자를 그룹에 추가하지 않는지 이해하는 데 도움이 필요하며, 초대 링크를 사용할 때 새로운 OAuth2 SSO 사용자가 자동으로 추가되도록 하는 방법을 알고 싶습니다.

여기 있는 토론을 확인해 주시겠습니까:

그리고 로그의 “add groups”, “groups”, “remove groups” 필드의 값들을 검토해 주시겠습니까?

최근에 비슷한 문제를 경험했으며, OpenID Connect 플러그인 설정에서 “이메일로 OpenID Connect 매칭” 옵션을 비활성화하여 해결했습니다.

우리의 경우 주요 차이는 SSO로 자체 호스팅된 Authentik 인스턴스를 사용하고 있다는 점입니다. 또한, 새 사용자의 Authentik 계정이 설정되면 Discourse 계정을 생성하는 Authentik 웹훅이 있습니다. 이 웹훅에서는 먼저 Discourse 계정이 생성된 후, 해당 Authentik 계정이 접근할 수 있는 그룹에 따라 Discourse 그룹에 추가됩니다.

기본값과 다른, 현재 적용 중인 기타 관련 설정은 다음과 같습니다:

로그인 설정:

  • 로그인 필수
  • 초대 전용
  • 로컬 로그인 활성화 (비활성화됨)
  • 이메일을 통한 로컬 로그인 활성화 (비활성화됨)
  • 가입 CTA 활성화 (비활성화됨)
  • 인증 시 계정 생성 확인 스킵 (활성화됨)

OpenID Connect 플러그인 설정:

  • OpenID Connect 승인 범위 (email openid profile)
  • 이메일로 OpenID Connect 매칭 (비활성화됨)