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 scope

  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 계정이 없는 사용자에 대한 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을 재시작합니다.