JWT를 인증 공급자로 사용
Tier: Free, Premium, Ultimate
Offering: Self-Managed
JWT OmniAuth 제공자를 활성화하려면 JWT에 응용 프로그램을 등록해야 합니다. JWT는 사용할 수 있는 비밀 키를 제공합니다.
-
GitLab 서버에서 구성 파일을 엽니다.
Linux 패키지 설치의 경우:
sudo editor /etc/gitlab/gitlab.rb
자체 컴파일 설치의 경우:
cd /home/git/gitlab sudo -u git -H editor config/gitlab.yml
-
공통 설정을 구성하여
jwt
를 단일 로그인 공급자로 추가합니다. 이를 통해 기존 GitLab 계정이 없는 사용자에 대해 Just-In-Time 계정 프로비저닝이 가능해집니다. -
공급자 구성을 추가합니다.
Linux 패키지 설치의 경우:
gitlab_rails['omniauth_providers'] = [ { name: "jwt", label: "제공자 이름", # 로그인 버튼에 대한 선택적 레이블, 기본값은 "Jwt" args: { secret: "YOUR_APP_SECRET", algorithm: "HS256", # 지원되는 알고리즘: "RS256", "RS384", "RS512", "ES256", "ES384", "ES512", "HS256", "HS384", "HS512" uid_claim: "email", required_claims: ["name", "email"], info_map: { name: "name", email: "email" }, auth_url: "https://example.com/", valid_within: 3600 # 1시간 } } ]
자체 컴파일 설치의 경우:
- { name: "jwt", label: "제공자 이름", # 로그인 버튼에 대한 선택적 레이블, 기본값은 "Jwt" args: { secret: "YOUR_APP_SECRET", algorithm: "HS256", # 지원되는 알고리즘: 'RS256', 'RS384', 'RS512', 'ES256', 'ES384', 'ES512', 'HS256', 'HS384', 'HS512' uid_claim: "email", required_claims: ["name", "email"], info_map: { name: "name", email: "email" }, auth_url: "https://example.com/", valid_within: 3600, # 1시간 }, }
참고: 각 구성 옵션에 대한 자세한 정보는 OmniAuth JWT 사용 설명서를 참조하십시오.
경고: 이러한 설정을 잘못 구성하면 보안이 취약한 인스턴스가 될 수 있습니다.
-
YOUR_APP_SECRET
를 클라이언트 시크릿으로 변경하고,auth_url
을 리디렉션 URL로 설정합니다. - 구성 파일을 저장합니다.
- 변경 사항이 적용되려면:
- GitLab을 설치하는 데 Linux 패키지를 사용한 경우, GitLab을 다시 구성합니다.
- 자체 컴파일로 GitLab을 설치한 경우, GitLab을 다시 시작합니다.
로그인 페이지에는 이제 일반 로그인 양식 아래에 JWT 아이콘이 표시됩니다. 인증 프로세스를 시작하려면 아이콘을 선택합니다. JWT는 사용자에게 로그인하고 GitLab 응용프로그램을 승인할 것을 요청합니다. 모든 것이 잘 되면 사용자 GitLab으로 리디렉션되어 로그인됩니다.