Google Workspace에서 그룹 동기화 활성화

시작하려면 다음 지침에 따라 Google 로그인을 구성하세요:

그 다음, 다음 단계를 따르세요:

  1. OAuth 통합을 위한 Google 대시보드에서 "API 및 서비스"로 이동하고 "Admin SDK

  2. “IAM 및 관리” → “서비스 계정” → "서비스 계정 생성"으로 이동하여 계정을 설정합니다. 두 개의 선택 단계는 필요하지 않으므로 건너뛰세요.

  3. 서비스 계정 목록에서 새로 생성된 계정으로 들어가 나중에 사용할 '고유 ID(unique id)'를 기록한 다음 “키” 탭으로 이동합니다. “JSON” 형식으로 새 키를 생성하고 파일을 나중에 사용하기 위해 저장하세요.

  4. admin.google.com으로 이동하여 ‘보안’ 섹션을 방문합니다. 'API 제어’를 열고 "제3자 앱 액세스 관리"를 선택한 다음 “앱 추가”, "OAuth 앱 이름 또는 클라이언트 ID"를 선택합니다. OAuth 애플리케이션의 클라이언트 ID를 입력하고 목록에서 선택합니다. 단계를 진행하면서 애플리케이션을 “신뢰할 수 있는”(Trusted)으로 설정하는 것을 확인하세요. 그러면 목록에 표시되어야 합니다:

  5. ‘API 제어’ 섹션으로 돌아가 아래로 스크롤한 다음 "도메인 전체 위임 관리"를 선택합니다. "새로 추가"를 선택하고 방금 생성한 서비스 계정의 클라이언트 ID를 입력합니다. 범위(scopes) 아래에 다음 값을 붙여넣으세요

    https://www.googleapis.com/auth/admin.directory.group.readonly
    
  6. Discourse 관리자 패널에서 관리자 > 설정 > 로그인 및 인증 > 인증기로 이동하여 'google oauth2 hd’를 검색합니다. 다음 설정을 구성하세요:

    google oauth2 hd: Google Workspace의 도메인 이름

    google_oauth2_hd_groups_service_account_json: 이전에 생성한 서비스 계정 키 파일의 내용을 붙여넣으세요

    google_oauth2_hd_groups_service_account_admin_email: Google Workspace 관리자 계정의 이메일 주소를 입력하세요. 이 식별자는 서비스 계정이 Google 그룹 정보를 가져올 때 사용됩니다

    google oauth2 hd groups: 활성화됨

사용자가 다음에 로그인할 때, Discourse는 백그라운드에서 Google 그룹 정보를 가져와 저장합니다.

Google 그룹을 Discourse 그룹에 연결하려면 Discourse의 그룹 설정을 방문하고 관리구성원 섹션으로 이동하세요. ‘자동’ 아래에서 Google 그룹을 Discourse 그룹에 여러 개 연결할 수 있는 새 드롭다운 메뉴를 볼 수 있습니다:

이 설정에 대한 변경 사항은 즉시 적용되어야 합니다. Google의 그룹 구성원 변경 사항은 사용자의 다음 로그인 시 적용됩니다.

@angus 님이 이 기능에 대해 수고해 주신 점에 대해 감사드립니다. 가까운 장래에 이 그룹 동기화 시스템을 다른 로그인 방법에도 확장하기를 희망합니다.

8개의 좋아요

이 기능을 “generic oauth2”(구체적으로는 auth0)와 함께 사용하고 싶습니다. 이 관련해서 추적할 수 있는 다른 스레드나 GitHub 이슈가 있을까요?

3개의 좋아요

@david 또는 @angus 6번 항목에 대해 좀 더 자세한 정보를 제공해 주실 수 있나요?

인용문 google oauth2 hd: Google Workspace의 도메인 이름

  1. Workspace 계정이 있는 제 도메인(ebsp.org)을 말씀하시는 건가요? 아니면 Workspace의 실제 도메인을 말씀하시는 건가요?
  2. 단순히 URL만 입력하면 되는 건가요?

인용문 google_oauth2_hd_groups_service_account_json : 이전에 생성한 서비스 계정 키 파일의 내용을 붙여넣으세요

JSON 파일의 전체 내용을 복사해서 붙여넣으면 되는 건가요?

@angus @david 설명에 따라 그대로 진행했습니다. 그룹을 검색하는 상자는 있는데, 그룹 목록이 전혀 표시되지 않습니다. 혹시 아이디어가 있으신가요?

Charlie님, 안녕하세요. google oauth2 hd는 Google OIDC API에서 가져온 값입니다(문서는 여기에서 확인하실 수 있습니다). Google은 이를 다음과 같이 설명합니다.

사용자의 Google Workspace 또는 Cloud 조직과 연관된 도메인

예를 들어, 이 설정을 내부 직원용으로 구성한다면 값을 discourse.org로 설정할 것입니다.

그렇습니다!

Google 그룹은 해당 그룹의 구성원이 Google 계정으로 Discourse에 로그인한 후에야 Discourse에 표시됩니다. 사전에 목록을 보여주는 시스템은 현재 없습니다.

1개의 좋아요

@david 드디어 해결했어요. 몇 가지 설정을 꺼야 했어요. 제 사이트 설정상 사용자가 Google OAuth를 통해 자동으로 로그인되도록 되어 있었거든요. 이 기능과 Discourse Connect를 꺼놓으니 정상적으로 작동했어요. 정확히 어떤 설정이 문제를 일으키던지는 모르겠지만, Google로 직접 로그인을 하니 모든 데이터가 정상적으로 표시됐어요.

1개의 좋아요

Google Groups 읽기는 여전히 실험적인가요? 이 지침이 변경되었나요?

1개의 좋아요

@John_Faig와 마찬가지로, 이 기능이 아직 실험 단계인지 궁금합니다.

방금 이 기능을 알게 되었고, 이전하고 싶은 Google Groups가 세 개 있습니다. 사람들을 "변화"하게 만드는 것은 매우 어렵습니다. 우리는 편안함을 벗어나기 위한 좋은 이유가 필요합니다. 그리고 그 과정에서 걸림돌은 원하지 않습니다. 이미 GG에 익숙한 사람들에게 또 다른 웹사이트에서 (Discourse) 로그인을 생성하게 하는 것은 번거로운 일입니다. 이 기능이 안정적이라면, 잠재적인 걸림돌이 제거되어, 청중이 이전하도록 설득할 수 있는 매력적인 이유를 제공하는 데 집중할 수 있습니다.

감사합니다!