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. aliuid프로필 체크박스를 선택합니다.
    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를 대체하고 AliCloud 애플리케이션 등록 시 얻은 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 재시작을 실행합니다.