Salesforce를 OAuth 2.0 인증 공급자로 사용하기
Salesforce와 GitLab 인스턴스를 통합하여 사용자가 Salesforce 계정으로 GitLab 인스턴스에 로그인할 수 있도록 할 수 있습니다.
Salesforce 연동 앱 생성
Salesforce OmniAuth 공급자를 활성화하려면 GitLab 인스턴스에 Salesforce의 자격 증명을 사용해야 합니다.
자격 증명(클라이언트 ID 및 클라이언트 비밀)을 얻으려면 Salesforce에서 연동 앱을 생성해야 합니다.
-
Salesforce에 로그인합니다.
-
설정에서 빠른 검색 상자에
앱 관리자
를 입력한 후, 앱 관리자를 선택한 후 새로운 연동 앱을 선택합니다. - 다음 필드에 애플리케이션 세부 정보를 입력합니다:
-
연동 앱 이름 및 API 이름:
<조직의 GitLab>
,<귀하의 이름>의 GitLab
또는 설명적인 다른 값으로 설정하되 고려해야 합니다. - 연락 이메일: Salesforce가 귀하나 지원팀에 연락할 때 사용할 연락 이메일을 입력합니다.
- 설명: 애플리케이션에 대한 설명.
-
연동 앱 이름 및 API 이름:
-
API(Enable OAuth Settings)을 선택하고 OAuth 설정 활성화를 선택합니다.
- 다음 필드에 애플리케이션 세부 정보를 입력합니다:
-
콜백 URL: GitLab 설치의 콜백 URL입니다. 예를 들어,
https://gitlab.example.com/users/auth/salesforce/callback
. -
선택한 OAuth 범위:
기본 정보에 대한 액세스 (ID, 프로필, 이메일, 주소, 전화번호)
와고유 식별자에 대한 액세스 허용 (openid)
를 오른쪽 열로 이동합니다.
-
콜백 URL: GitLab 설치의 콜백 URL입니다. 예를 들어,
-
저장을 선택합니다.
-
GitLab 서버에서 구성 파일을 엽니다.
Linux 패키지 설치의 경우:
sudo editor /etc/gitlab/gitlab.rb
직접 컴파일한 설치의 경우:
cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml
-
공통 설정을 구성하여
salesforce
를 단일 사이인 기능 공급자로 추가합니다. 이를 통해 기존의 GitLab 계정이 없는 사용자를 위한 Just-In-Time 계정 프로비저닝이 가능해집니다. -
공급자 구성을 추가합니다.
Linux 패키지 설치의 경우:
gitlab_rails['omniauth_providers'] = [ { name: "salesforce", # label: "Provider name", # 선택적인 로그인 버튼 레이블, 기본값은 "Salesforce" app_id: "SALESFORCE_CLIENT_ID", app_secret: "SALESFORCE_CLIENT_SECRET" } ]
직접 컴파일한 설치의 경우:
- { name: 'salesforce', # label: 'Provider name', # 선택적인 로그인 버튼 레이블, 기본값은 "Salesforce" app_id: 'SALESFORCE_CLIENT_ID', app_secret: 'SALESFORCE_CLIENT_SECRET' }
-
SALESFORCE_CLIENT_ID
를 Salesforce 연동 애플리케이션 페이지의 소비자 키로 변경합니다. -
SALESFORCE_CLIENT_SECRET
를 Salesforce 연동 애플리케이션 페이지의 소비자 비밀로 변경합니다. -
구성 파일을 저장합니다.
- 변경 사항이 적용되려면:
- Linux 패키지를 사용하여 설치한 경우, GitLab을 다시 구성하세요.
- 직접 컴파일하여 설치한 경우, GitLab을 다시 시작하세요.
로그인 페이지에서 이제 일반적인 로그인 양식 아래에 Salesforce 아이콘이 표시됩니다.
아이콘을 선택하여 인증 프로세스를 시작합니다. Salesforce는 사용자에게 로그인하고 GitLab 애플리케이션을 승인하도록 요청합니다.
모든 것이 잘 되면 사용자는 GitLab로 돌아오고 로그인됩니다.
Salesforce를 사용하여 사용자가 로그인한 후, GitLab은 사용자를 프로필 페이지로 리디렉션하며 거기서 이메일을 제공하고 이메일을 검증해야 합니다.