DingTalk을 OAuth 2.0 인증 공급자로 사용하기

Tier: Free, Premium, Ultimate Offering: Self-Managed

당신은 DingTalk 계정을 사용하여 GitLab에 로그인할 수 있습니다. DingTalk 오픈 플랫폼에 로그인하여 애플리케이션을 생성합니다. DingTalk은 사용할 수 있도록 클라이언트 ID와 시크릿 키를 생성합니다.

  1. DingTalk 오픈 플랫폼에 로그인합니다.

  2. 상단 바에서 Application 개발 > Enterprise 내부 개발을 선택한 후 애플리케이션 생성을 선택합니다.

    DingTalk 메뉴

  3. 애플리케이션 세부 정보를 입력합니다:

    • 애플리케이션 이름: 아무 이름이나 가능합니다. <기관명> GitLab, <당신의 이름> GitLab 등 기술적인 이름을 고려해보세요.
    • 애플리케이션 설명: 설명을 작성합니다.
    • 애플리케이션 아이콘: 필요한 경우 적합한 아이콘을 업로드합니다.

    DingTalk 애플리케이션 생성

  4. 확인하고 생성을 선택합니다.

  5. 왼쪽 사이드바에서 DingTalk 애플리케이션을 선택하고 애플리케이션을 찾습니다. 선택한 다음 애플리케이션 정보 페이지로 이동합니다.

    DingTalk 나의 애플리케이션

  6. 애플리케이션 자격 증명 섹션에서 AppKeyAppSecret을 기록합니다. 이 값들은 나중에 사용됩니다.

    DingTalk 자격 증명

  7. GitLab 서버에서 설정 파일을 엽니다.

    Linux 패키지 설치의 경우:

    sudo editor /etc/gitlab/gitlab.rb
    

    직접 컴파일한 설치의 경우:

    cd /home/git/gitlab
    
    sudo -u git -H editor config/gitlab.yml
    
  8. 공통 설정 을 구성하여 dingtalk을 단일 로그인 공급자로 추가합니다. 이를 통해 기존 GitLab 계정이 없는 사용자들을 위해 즉각적인 계정 프로비저닝이 가능해집니다.

  9. 공급자 구성을 추가합니다.

    Linux 패키지 설치의 경우:

      gitlab_rails['omniauth_providers'] = [
        {
          name: "dingtalk",
          # label: "공급자 이름", # 선택 사항, 로그인 버튼의 기본값은 "Ding Talk"
          app_id: "<당신의_앱키>",
          app_secret: "<당신의_앱시크릿>"
        }
      ]
    

    직접 컴파일한 설치의 경우:

    - { name: 'dingtalk',
        # label: '공급자 이름', # 선택 사항, 로그인 버튼의 기본값은 "Ding Talk"
        app_id: '<당신의_앱키>',
        app_secret: '<당신의_앱시크릿>' }
    
  10. <당신의_앱키>를 6단계의 애플리케이션 자격 증명에서의 AppKey로 대체합니다.

  11. <당신의_앱시크릿>를 6단계의 애플리케이션 자격 증명에서의 AppSecret로 대체합니다.

  12. 설정 파일을 저장합니다.

  13. 변경 사항을 적용하려면: