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. GitLab 콜백 URL을 https://gitlab.example.com/users/auth/atlassian_oauth2/callback 형식으로 입력하고 변경 사항 저장을 선택합니다.
  7. APIS AND FEATURES 아래의 왼쪽 사이드바에서 + 추가를 선택합니다.
  8. Jira platform 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를 단일 사인온 제공자로 추가합니다. 이렇게 하면 기존 GitLab 계정이 없는 사용자들을 위해 실시간 계정 프로비저닝이 가능해집니다.
  3. Atlassian에 대한 공급자 구성을 추가합니다:

    Linux 패키지 설치의 경우:

    gitlab_rails['omniauth_providers'] = [
      {
        name: "atlassian_oauth2",
        # label: "Provider name", # 필수 로그인 버튼에 대한 선택적 레이블, 기본값은 "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: "Provider name", # 필수 로그인 버튼에 대한 선택적 레이블, 기본값은 "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. 변경 사항이 적용되려면:
    • Linux 패키지를 사용하여 설치한 경우, GitLab 재구성을 수행합니다.
    • 직접 컴파일하여 설치한 경우, GitLab 재시작을 수행합니다.

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

모든 것이 순조롭게 진행되면 사용자는 Atlassian 자격 증명을 사용하여 GitLab에 로그인합니다.