Auth0을 OAuth 2.0 인증 제공자로 사용하기
Tier: Free, Premium, Ultimate
Offering: Self-Managed
Auth0 OmniAuth 제공자를 활성화하려면 Auth0 계정과 애플리케이션을 생성해야 합니다.
- Auth0 콘솔에 로그인합니다. 동일한 링크를 사용하여 계정을 생성할 수도 있습니다.
- New App/API를 선택합니다.
- Application Name을 입력합니다. 예: ‘GitLab’.
- 애플리케이션을 생성한 후 Quick Start 옵션이 표시됩니다. 이 옵션을 무시하고 대신 Settings를 선택합니다.
- 설정 화면 상단에 Auth0 콘솔에서 Domain, Client ID, Client Secret을 확인할 수 있습니다. 이 설정을 나중에 구성 파일 완성을 위해 메모해 둡니다. 예:
- Domain:
test1234.auth0.com
- Client ID:
t6X8L2465bNePWLOvt9yi41i
- Client Secret:
KbveM3nqfjwCbrhaUy_gDu2dss8TIlHIdzlyf33pB7dEK5u_NyQdp65O_o02hXs2
- Domain:
-
Allowed Callback URLs을 입력합니다:
-
http://<your_gitlab_url>/users/auth/auth0/callback
(또는) https://<your_gitlab_url>/users/auth/auth0/callback
-
-
Allowed Origins (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 계정이 없는 사용자를 위해 JIT(Just-In-Time) 계정 프로비저닝을 활성화합니다. -
제공자 구성을 추가합니다:
Linux 패키지 설치의 경우:
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로 반환되어 로그인됩니다.