AliCloud을 OmniAuth 인증 공급자로 사용하기

Tier: Free, Premium, Ultimate Offering: GitLab.com, Self-managed

당신은 AliCloud OAuth 2.0 OmniAuth 공급자를 활성화하고 AliCloud 계정을 사용하여 GitLab에 로그인할 수 있습니다.

AliCloud 애플리케이션 생성

AliCloud 플랫폼에 로그인하여 애플리케이션을 만드세요. AliCloud는 사용할 클라이언트 ID와 비밀 키를 생성합니다.

  1. AliCloud 플랫폼에 로그인.

  2. OAuth 애플리케이션 관리 페이지로 이동합니다.

  3. 애플리케이션 생성을 선택합니다.

  4. 애플리케이션 세부 정보를 입력하세요:

    • 애플리케이션 이름: 원하는 이름을 사용할 수 있습니다.
    • 표시 이름: 원하는 이름을 사용할 수 있습니다.
    • 콜백 URL: 이 URL은 'GitLab 인스턴스 URL' + '/users/auth/alicloud/callback' 형식으로 포맷되어야 합니다. 예를 들어, http://test.gitlab.com/users/auth/alicloud/callback.

    저장을 선택합니다.

  5. 애플리케이션 세부 페이지에서 OAuth 스코프를 추가하세요:

    1. 애플리케이션 이름 열 아래에서 만든 애플리케이션의 이름을 선택합니다. 애플리케이션의 세부 페이지가 열립니다.
    2. 애플리케이션 OAuth 스코프 탭 아래에서 OAuth 스코프 추가를 선택합니다.
    3. aliuidprofile 확인란을 선택합니다.
    4. 확인을 선택합니다.

    AliCloud OAuth 스코프

  6. 애플리케이션 세부 페이지에서 비밀을 생성하세요:

    1. 앱 비밀 탭 아래에서 비밀 생성을 선택합니다.
    2. 생성된 SecretValue를 복사합니다.

GitLab에서 AliCloud OAuth 활성화

  1. GitLab 서버에서 구성 파일을 엽니다.

    • Linux 패키지 설치의 경우:

      sudo editor /etc/gitlab/gitlab.rb
      
    • 직접 컴파일한 설치의 경우:

      cd /home/git/gitlab
      
      sudo -u git -H editor config/gitlab.yml
      
  2. 공통 설정을 구성하여 alicloud를 단일 사이인 인 공급자로 추가합니다. 이를 통해 기존 GitLab 계정이 없는 사용자를 위해 JIT(Just-In-Time) 계정 프로비저닝이 가능해집니다.

  3. 공급자 구성을 추가하세요. 애플리케이션 세부 페이지에서 얻은 ID로 YOUR_APP_ID를, SecretValueYOUR_APP_SECRET을 대체합니다.

    • Linux 패키지 설치의 경우:

        gitlab_rails['omniauth_providers'] = [
          {
            name: "alicloud",
            app_id: "YOUR_APP_ID",
            app_secret: "YOUR_APP_SECRET"
          }
        ]
      
    • 직접 컴파일한 설치의 경우:

      - { name: 'alicloud',
          app_id: 'YOUR_APP_ID',
          app_secret: 'YOUR_APP_SECRET' }
      
  4. 구성 파일을 저장하세요.

  5. Linux 패키지를 사용하여 설치한 경우 GitLab 다시 구성을 진행하세요. 직접 컴파일한 경우 GitLab을 다시 시작하세요.