OAuth 2.0 인증 제공자로서 Auth0 사용
Tier: Free, Premium, Ultimate
Offering: Self-Managed
Auth0 OmniAuth 제공자를 활성화하려면 Auth0 계정과 응용 프로그램을 만들어야 합니다.
- Auth0 콘솔에 로그인합니다. 이 링크를 사용하여 계정을 생성할 수도 있습니다.
- 새로운 앱/API를 선택합니다.
- 응용 프로그램 이름을 입력합니다. 예: ‘GitLab’.
- 응용 프로그램을 만든 후 빠른 시작 옵션을 볼 수 있습니다. 이러한 옵션을 무시하고 대신 설정을 선택합니다.
- 설정 화면 상단에 Auth0 콘솔의 도메인, 클라이언트 ID, 클라이언트 비밀을 볼 수 있어야 합니다. 구성 파일을 완료하기 위해 이러한 설정을 확인하세요.
- 도메인:
test1234.auth0.com
- 클라이언트 ID:
t6X8L2465bNePWLOvt9yi41i
- 클라이언트 비밀:
KbveM3nqfjwCbrhaUy_gDu2dss8TIlHIdzlyf33pB7dEK5u_NyQdp65O_o02hXs2
- 도메인:
-
허용된 콜백 URL을 입력하세요:
-
http://<your_gitlab_url>/users/auth/auth0/callback
(또는) https://<your_gitlab_url>/users/auth/auth0/callback
-
-
허용된 원본(CORS)을 입력하세요:
-
http://<your_gitlab_url>
(또는) https://<your_gitlab_url>
-
-
GitLab 서버에서 구성 파일을 엽니다.
Linux 패키지 설치의 경우:
sudo editor /etc/gitlab/gitlab.rb
직접 컴파일한 경우:
cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml
-
공통 설정을 구성하여
auth0
를 단일 로그인 제공자로 추가합니다. 이렇게 하면 기존 GitLab 계정이 없는 사용자에 대해 즉시 계정 프로비저닝이 가능해집니다. -
제공자 구성 추가:
gitlab_rails['omniauth_providers'] = [ { name: "auth0", # label: "Provider name", # optional label for login button, defaults to "Auth0" args: { client_id: "<your_auth0_client_id>", client_secret: "<your_auth0_client_secret>", domain: "<your_auth0_domain>", scope: "openid profile email" } } ]
자체 컴파일된 설치의 경우:
- { name: 'auth0', # label: 'Provider name', # optional label for login button, defaults to "Auth0" args: { client_id: '<your_auth0_client_id>', client_secret: '<your_auth0_client_secret>', domain: '<your_auth0_domain>', scope: 'openid profile email' } }
-
<your_auth0_client_id>
를 Auth0 콘솔 페이지의 클라이언트 ID로 교체합니다. -
<your_auth0_client_secret>
를 Auth0 콘솔 페이지의 클라이언트 시크릿으로 교체합니다. -
<your_auth0_domain>
을 Auth0 콘솔 페이지의 도메인으로 교체합니다. - 설치 방법에 따라 GitLab을 다시 구성하거나 다시 시작합니다:
- Linux 패키지를 사용하여 설치한 경우, GitLab을 다시 구성합니다.
- 자체 컴파일한 설치의 경우, GitLab을 다시 시작합니다.
로그인 페이지에 일반 로그인 양식 아래에 이제 Auth0 아이콘이 표시됩니다. 아이콘을 선택하여 인증 프로세스를 시작합니다. Auth0는 사용자에게 GitLab 애플리케이션에 로그인하고 권한을 부여하도록 요청합니다. 사용자가 성공적으로 인증되면 사용자는 GitLab로 돌아가서 로그인됩니다.