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

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

Atlassian OmniAuth 제공자를 활성화하여 비밀번호 없는 인증을 위해 Atlassian과 애플리케이션을 등록해야 합니다.

Atlassian 애플리케이션 등록

  1. Atlassian 개발자 콘솔로 이동하여 Atlassian 계정으로 로그인하여 애플리케이션을 관리합니다.
  2. 새 앱 만들기를 선택합니다.
  3. ‘GitLab’과 같은 앱 이름을 선택하고 만들기를 선택합니다.
  4. GitLab 구성 단계를 위해 Client IDSecret를 확인합니다.
  5. APIS AND FEATURES 아래의 왼쪽 사이드바에서 OAuth 2.0 (3LO)를 선택합니다.
  6. https://gitlab.example.com/users/auth/atlassian_oauth2/callback와 같은 형식으로 GitLab 콜백 URL을 입력하고 변경 사항 저장을 선택합니다.
  7. APIS AND FEATURES 아래의 왼쪽 사이드바에서 + 추가를 선택합니다.
  8. Jira 플랫폼 REST API에 대해 추가를 선택하고 구성을 선택합니다.
  9. 다음 스코프 옆의 추가를 선택합니다:
    • Jira 이슈 데이터 보기
    • 사용자 프로필 보기
    • 이슈 생성 및 관리

GitLab 구성

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

    Linux 패키지 설치의 경우:

    sudo editor /etc/gitlab/gitlab.rb
    

    자체 컴파일 설치의 경우:

    sudo -u git -H editor /home/git/gitlab/config/gitlab.yml
    
  2. 공통 설정을 구성하여 atlassian_oauth2를 싱글 사인온(Single Sign-On) 제공자로 추가합니다. 이렇게 함으로써 기존 GitLab 계정이 없는 사용자들을 위해 즉각적인 계정 프로비저닝을 가능하게 합니다.
  3. Atlassian에 대한 제공자 구성을 추가합니다:

    Linux 패키지 설치의 경우:

    gitlab_rails['omniauth_providers'] = [
      {
        name: "atlassian_oauth2",
        # label: "제공자 이름", # 로그인 버튼에 대한 선택적 라벨, 기본값은 "Atlassian"
        app_id: "<your_client_id>",
        app_secret: "<your_client_secret>",
        args: { scope: "offline_access read:jira-user read:jira-work", prompt: "consent" }
      }
    ]
    

    자체 컴파일 설치의 경우:

    - { name: "atlassian_oauth2",
        # label: "제공자 이름", # 로그인 버튼에 대한 선택적 라벨, 기본값은 "Atlassian"
        app_id: "<your_client_id>",
        app_secret: "<your_client_secret>",
        args: { scope: "offline_access read:jira-user read:jira-work", prompt: "consent" }
     }
    
  4. <your_client_id><your_client_secret>애플리케이션 등록 중에 받은 클라이언트 자격 증명으로 변경합니다.
  5. 구성 파일을 저장합니다.

  6. 변경 사항이 적용되려면:

로그인 페이지에서 이제 일반 로그인 양식 아래에 Atlassian 아이콘이 있습니다. 인증 프로세스를 시작하려면 아이콘을 선택하세요.

모든 것이 제대로 되면 사용자는 Atlassian 자격 증명을 사용하여 GitLab에 로그인합니다.