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으로 리디렉션되어 로그인됩니다.