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 계정이 없는 사용자를 위해 JIT(Just-In-Time) 계정 프로비저닝을 활성화합니다. -
제공자 구성을 추가합니다.
Linux 패키지 설치의 경우:
gitlab_rails['omniauth_providers'] = [ { name: "jwt", label: "Provider name", # 선택 사항, 로그인 버튼에 대한 기본값은 "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: 'Provider name', # 선택 사항, 로그인 버튼에 대한 기본값은 "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로 리디렉션되어 로그인됩니다.