JWTBearerOAuth2AccessTokenProvider
JWTBearerOAuth2AccessTokenProvider (JWT Bearer OAuth2 액세스 토큰 제공자)
HTTP 요청의 Bearer 인증 헤더로 사용할 수 있는 OAuth 2.0 액세스 토큰을 제공하는 서비스예요. 이 컨트롤러 서비스는 OAuth 2.0 JWT Bearer Flow를 구현하기 위한 것이에요.
출처: 문서
본문
설명
HTTP 요청에서 Bearer 인증 헤더로 사용할 수 있는 OAuth 2.0 액세스 토큰을 제공해요. 이 컨트롤러 서비스는 OAuth 2.0 JWT Bearer Flow를 구현하기 위한 것이에요.
태그
access token, authorization, hjwt, oauth2, provider
속성 (Properties)
아래 목록에서 필수 속성은 별표(*)로 표시했어요. 그 외 속성은 선택 사항이고, 표에는 기본값과 NiFi Expression Language 지원 여부도 함께 나와 있어요.
| 표시 이름 | API 이름 | 기본값 | 허용 값 | 설명 |
|---|---|---|---|---|
| Assertion Parameter Name * | Assertion Parameter Name | assertion |
토큰 엔드포인트로의 요청에서 JWT assertion에 사용할 파라미터 이름이에요. | |
| Audience | Audience | JWT의 audience 클레임(aud)이에요. 여러 audience를 기대하면 공백으로 구분된 목록이에요. | ||
| Grant Type * | Grant Type | urn:ietf:params:oauth:grant-type:jwt-bearer |
토큰 엔드포인트로의 요청에서 grant_type 파라미터에 설정할 값이에요. | |
| Issuer | Issuer | JWT의 issuer 클레임(iss)이에요. | ||
| JWT Expiration Time * | JWT Expiration Time | 1 hour |
JWT의 해당 클레임을 설정하는 데 사용하는 만료 시간이에요. 반환된 액세스 토큰에 만료 시간이 포함되지 않으면, 이 값이 refresh window와 함께 새 액세스 토큰을 다시 얻는 데 사용돼요. | |
| JWT ID | JWT ID | "jti"(JWT ID) 클레임은 JWT에 고유 식별자를 제공해요. 식별자 값은 같은 값이 다른 데이터 객체에 우연히 할당될 확률이 무시할 만하도록 배정해야 해요. 앱이 여러 issuer를 사용하면 서로 다른 issuer가 만든 값 사이에서도 충돌을 방지해야 해요. "jti" 값은 대소문자를 구분하는 문자열이에요. 설정하면 ${UUID()}로 설정하는 것을 권장해요. |
||
| Key ID | Key ID | JWT 서명에 사용된 공개 키의 ID예요. JWT에서 kid 헤더로 사용돼요. | ||
| Private Key Service * | Private Key Service | JWT 서명에 사용할 개인 키 서비스예요. | ||
| Refresh Window * | Refresh Window | 5 minutes |
서비스는 refresh window 내에 만료되는 토큰을 갱신하려 시도하며, 토큰 만료에서 설정된 기간을 뺀 값을 사용해요. | |
| SSL Context Service * | SSL Context Service | x5t 헤더를 설정하는 데 사용할 인증서로 설정된 SSLContextProvider 인스턴스예요. RSA 알고리즘을 사용해야 해요. | ||
| Scope | Scope | JWT의 scope 클레임(scope)이에요. | ||
| Set JWT Header X.509 Cert Thumbprint * | Set JWT Header X.509 Cert Thumbprint | false |
true false |
true면 JWT 헤더 x5t 필드를 X.509 인증서 DER 인코딩의 base64url 인코딩 SHA-256 지문으로 설정해요. true로 설정하면 RSA 알고리즘을 사용하는 인증서로 SSLContextProvider 인스턴스를 설정해야 해요. |
| Signing Algorithm * | Signing Algorithm | PS256 |
RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, Ed25519 | JWT 서명에 사용할 알고리즘이에요. |
| Subject | Subject | JWT의 subject 클레임(sub)이에요. | ||
| Token Endpoint URL * | Token Endpoint URL | OAuth2 토큰 엔드포인트의 URL이에요. | ||
| Web Client Service * | Web Client Service | 토큰 엔드포인트를 호출하는 데 사용할 Web Client Service예요. |
상태 관리
이 컴포넌트는 상태를 저장하지 않아요.
제한 사항 (Restricted)
이 컴포넌트는 제한되지 않아요.
시스템 리소스 고려 사항
이 컴포넌트는 시스템 리소스 고려 사항을 지정하지 않아요.