JWT를 인증 공급자로 사용
Just-In-Time 사용자 프로비저닝이 있는 JWT 기반 SSO를 GitLab에서 구성합니다.
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: "Provider name" , # optional label for login button, defaults to "Jwt" args: { secret: "YOUR_APP_SECRET" , algorithm: "HS256" , # Supported algorithms: "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 hour } } ] 직접 컴파일 설치의 경우: - { name: 'jwt' , label: 'Provider name' , # optional label for login button, defaults to "Jwt" args: { secret: 'YOUR_APP_SECRET' , algorithm: 'HS256' , # Supported algorithms: '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 hour } } 각 구성 옵션에 대한 자세한 내용은 OmniAuth JWT 사용 문서 를 참조하세요. [!warning] 이러한 설정을 잘못 구성하면 인스턴스가 안전하지 않게 될 수 있습니다. YOUR_APP_SECRET 을 클라이언트 비밀로 변경하고 auth_url 을 리다이렉트 URL로 설정합니다. 구성 파일을 저장합니다. 변경 사항이 적용되도록: Linux 패키지를 사용하여 GitLab을 설치한 경우 GitLab을 재구
