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

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

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

  1. DingTalk Open Platform에 로그인합니다.

  2. 상단 바에서 Application development > Enterprise internal development를 선택한 후 Create Application을 선택합니다.

    DingTalk 메뉴

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

    • 애플리케이션 명: 아무 이름이 될 수 있습니다. <조직명>'s GitLab, <당신의 이름>'s GitLab 등과 같이 기술적인 것을 고려해보세요.
    • 애플리케이션 설명: 설명을 작성합니다.
    • 애플리케이션 아이콘: 필요한 경우 적합한 아이콘을 업로드합니다.

    DingTalk 애플리케이션 생성

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

  5. 좌측 사이드바에서 DingTalk Application을 선택하여 생성된 애플리케이션을 찾습니다. 선택한 후 애플리케이션 정보 페이지로 이동합니다.

    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: "<your_appkey>",
          app_secret: "<your_appsecret>"
        }
      ]
    

    자체 컴파일된 설치의 경우:

    - { name: 'dingtalk',
        # label: '공급자 이름', # 선택적으로 로그인 버튼의 레이블을 설정합니다. 기본값은 "Ding Talk"입니다.
        app_id: '<your_appkey>',
        app_secret: '<your_appsecret>' }
    
  10. <your_appkey>를 단계 6의 애플리케이션 인증 정보의 AppKey로 대체합니다.

  11. <your_appsecret>를 단계 6의 애플리케이션 인증 정보의 AppSecret로 대체합니다.

  12. 구성 파일을 저장합니다.

  13. 변경사항이 적용되려면, 만약에: