Salesforce를 OAuth 2.0 인증 공급자로 사용하기

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

Salesforce를 사용하여 GitLab 인스턴스를 연동하여 사용자가 Salesforce 계정으로 GitLab 인스턴스에 로그인할 수 있도록 할 수 있습니다.

Salesforce 연결 앱 생성

Salesforce의 자격 증명을 사용하여 GitLab 인스턴스에 Salesforce OmniAuth 제공자를 활성화해야 합니다. 자격 증명(클라이언트 ID 및 클라이언트 비밀)을 얻으려면 Salesforce에서 연결 앱을 생성해야 합니다.

  1. Salesforce에 로그인합니다.

  2. 설정에서 “앱 관리자”를 빠른 검색 상자에 입력한 후 앱 관리자를 선택한 다음 새 연결된 앱을 선택합니다.

  3. 다음 필드에 애플리케이션 세부 정보를 입력합니다.
    • 연결된 앱 이름API 이름: <Organization>'s GitLab, <Your Name>'s GitLab 등과 같은 설명적인 값을 설정하지만, 해당 값을 고려합니다.
    • 연락 이메일: Salesforce가 당신이나 지원 팀에 연락할 때 사용할 연락 이메일을 입력합니다.
    • 설명: 애플리케이션에 대한 설명

    Salesforce 앱 세부 사항

  4. API(Enable OAuth Settings)를 선택하고 OAuth 설정 사용을 선택합니다.
  5. 다음 필드에 애플리케이션 세부 정보를 입력합니다.
    • 콜백 URL: GitLab 설치의 콜백 URL입니다. 예: https://gitlab.example.com/users/auth/salesforce/callback.
    • 선택한 OAuth 스코프: 기본 정보에 액세스(아이디, 프로필, 이메일, 주소, 전화)고유 식별자에 액세스 허용(openid)를 오른쪽 열로 이동합니다.

    Salesforce OAuth 앱 세부 정보

  6. 저장를 선택합니다.

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

    Linux 패키지 설치의 경우:

    sudo editor /etc/gitlab/gitlab.rb
    

    직접 컴파일하여 설치한 경우:

    cd /home/git/gitlab
    sudo -u git -H editor config/gitlab.yml
    
  8. 공통 설정을 구성하여 salesforce를 단일 사인온 공급자로 추가합니다. 이렇게 하면 기존 GitLab 계정이 없는 사용자를 위해 즉시 계정 프로비저닝이 가능해집니다.

  9. 제공자 구성을 추가합니다.

    Linux 패키지 설치의 경우:

    gitlab_rails['omniauth_providers'] = [
      {
        name: "salesforce",
        # label: "제공자 이름", # 로그인 버튼의 선택적 레이블, 기본값은 "Salesforce"
        app_id: "SALESFORCE_CLIENT_ID",
        app_secret: "SALESFORCE_CLIENT_SECRET"
      }
    ]
    

    직접 컴파일하여 설치한 경우:

    - { name: 'salesforce',
        # label: '제공자 이름', # 로그인 버튼의 선택적 레이블, 기본값은 "Salesforce"
        app_id: 'SALESFORCE_CLIENT_ID',
        app_secret: 'SALESFORCE_CLIENT_SECRET'
    }
    
  10. SALESFORCE_CLIENT_ID를 Salesforce 연결된 애플리케이션 페이지의 소비자 키로 변경합니다.
  11. SALESFORCE_CLIENT_SECRET를 Salesforce 연결된 애플리케이션 페이지의 소비자 비밀로 변경합니다.

    Salesforce 앱 비밀 세부 정보

  12. 구성 파일을 저장합니다.

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

로그인 페이지에는 이제 일반 로그인 양식 아래에 Salesforce 아이콘이 있어야 합니다. 아이콘을 선택하여 인증 프로세스를 시작합니다. Salesforce는 사용자에게 로그인하고 GitLab 애플리케이션을 승인할 것을 요청합니다. 모든 것이 잘 진행되면 사용자는 GitLab로 돌아가서 로그인됩니다.

참고: GitLab은 각 새 사용자의 이메일 주소를 필요로 합니다. Salesforce를 사용하여 사용자가 로그인한 후에 GitLab은 사용자를 프로필 페이지로 리디렉션하여 이메일을 제공하고 이메일을 확인해야 합니다.