Salesforce를 OAuth 2.0 인증 공급자로 사용하기
Salesforce를 사용하여 GitLab 인스턴스를 연동하여 사용자가 Salesforce 계정으로 GitLab 인스턴스에 로그인할 수 있도록 할 수 있습니다.
Salesforce 연결 앱 생성
Salesforce의 자격 증명을 사용하여 GitLab 인스턴스에 Salesforce OmniAuth 제공자를 활성화해야 합니다. 자격 증명(클라이언트 ID 및 클라이언트 비밀)을 얻으려면 Salesforce에서 연결 앱을 생성해야 합니다.
-
Salesforce에 로그인합니다.
-
설정에서 “앱 관리자”를 빠른 검색 상자에 입력한 후 앱 관리자를 선택한 다음 새 연결된 앱을 선택합니다.
- 다음 필드에 애플리케이션 세부 정보를 입력합니다.
-
연결된 앱 이름 및 API 이름:
<Organization>'s GitLab
,<Your Name>'s GitLab
등과 같은 설명적인 값을 설정하지만, 해당 값을 고려합니다. - 연락 이메일: Salesforce가 당신이나 지원 팀에 연락할 때 사용할 연락 이메일을 입력합니다.
- 설명: 애플리케이션에 대한 설명
-
연결된 앱 이름 및 API 이름:
- API(Enable OAuth Settings)를 선택하고 OAuth 설정 사용을 선택합니다.
- 다음 필드에 애플리케이션 세부 정보를 입력합니다.
-
콜백 URL: GitLab 설치의 콜백 URL입니다. 예:
https://gitlab.example.com/users/auth/salesforce/callback
. -
선택한 OAuth 스코프:
기본 정보에 액세스(아이디, 프로필, 이메일, 주소, 전화)
및고유 식별자에 액세스 허용(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 계정이 없는 사용자를 위해 즉시 계정 프로비저닝이 가능해집니다. -
제공자 구성을 추가합니다.
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' }
-
SALESFORCE_CLIENT_ID
를 Salesforce 연결된 애플리케이션 페이지의 소비자 키로 변경합니다. -
SALESFORCE_CLIENT_SECRET
를 Salesforce 연결된 애플리케이션 페이지의 소비자 비밀로 변경합니다. -
구성 파일을 저장합니다.
- 변경 사항이 적용되려면:
- Linux 패키지를 사용하여 설치한 경우 GitLab을 다시 구성합니다.
- 직접 컴파일하여 설치한 경우 GitLab을 다시 시작합니다.
로그인 페이지에는 이제 일반 로그인 양식 아래에 Salesforce 아이콘이 있어야 합니다. 아이콘을 선택하여 인증 프로세스를 시작합니다. Salesforce는 사용자에게 로그인하고 GitLab 애플리케이션을 승인할 것을 요청합니다. 모든 것이 잘 진행되면 사용자는 GitLab로 돌아가서 로그인됩니다.
참고: GitLab은 각 새 사용자의 이메일 주소를 필요로 합니다. Salesforce를 사용하여 사용자가 로그인한 후에 GitLab은 사용자를 프로필 페이지로 리디렉션하여 이메일을 제공하고 이메일을 확인해야 합니다.