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

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

당신의 GitLab 인스턴스를 Salesforce와 통합하여 사용자들이 Salesforce 계정으로 GitLab 인스턴스에 로그인할 수 있도록 할 수 있습니다.

Salesforce 연결 앱 만들기

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

  1. Salesforce에 로그인합니다.

  2. 설정에서 “App Manager”를 빠른 찾기 상자에 입력한 후 App Manager를 선택한 다음 New Connected App을 선택합니다.

  3. 다음 필드에 애플리케이션 세부 정보를 입력합니다:
    • Connected App NameAPI Name: <Organization>'s GitLab, <Your Name>'s GitLab 또는 서술적인 다른 값으로 설정하지만 어떤 값을 사용할지 고려합니다.
    • Contact Email: Salesforce가 당신이나 지원 팀에 연락할 때 사용할 연락 이메일을 입력합니다.
    • Description: 애플리케이션 설명

    Salesforce 앱 세부 정보

  4. API (Enable OAuth Settings)을 선택하고 Enable OAuth Settings를 선택합니다.
  5. 다음 필드에 애플리케이션 세부 정보를 입력합니다:
    • Callback URL: 당신의 GitLab 설치의 콜백 URL입니다. 예를 들어 https://gitlab.example.com/users/auth/salesforce/callback.
    • Selected OAuth Scopes: Access your basic information (id, profile, email, address, phone)Allow access to your unique identifier (openid)를 오른쪽 열로 이동합니다.

    Salesforce OAuth 앱 세부 정보

  6. Save를 선택합니다.

  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: "Provider name", # optional label for login button, defaults to "Salesforce"
        app_id: "SALESFORCE_CLIENT_ID",
        app_secret: "SALESFORCE_CLIENT_SECRET"
      }
    ]
    

    자체 컴파일 설치의 경우:

    - { name: 'salesforce',
        # label: 'Provider name', # optional label for login button, defaults to "Salesforce"
        app_id: 'SALESFORCE_CLIENT_ID',
        app_secret: 'SALESFORCE_CLIENT_SECRET'
    }
    
  10. SALESFORCE_CLIENT_ID를 Salesforce 연결 애플리케이션 페이지에서 받은 Consumer Key로 변경합니다.
  11. SALESFORCE_CLIENT_SECRET를 Salesforce 연결 애플리케이션 페이지에서 받은 Consumer Secret로 변경합니다.

    Salesforce 앱 시크릿 세부 정보

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

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

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

note
GitLab은 각 새로운 사용자의 이메일 주소를 요구합니다. Salesforce를 통해 사용자가 로그인한 후, GitLab은 사용자를 프로필 페이지로 리디렉션하여 이메일을 제공하고 이메일을 검증해야 합니다.