JWT 클라이언트

Delphi/C++ Builder에서 JSON Web Token을 발급, 서명, 검증해요. HMAC, RSA, ECDSA 서명, PASETO 스타일 암호화 JWE, 자동 갱신, TsgcHTTP2Client / TsgcHTTPComponentClient와의 쉬운 통합을 제공해요.

TsgcHTTP_JWT_Client

HS256/HS384/HS512, RS256/RS384/RS512, ES256/ES384, EdDSA 토큰에 서명해요. 수신된 JWT를 디코드하고, 만료 근처에서 자동 갱신하며, Authentication.Token.JWT를 통해 HTTP 및 HTTP/2 클라이언트와 페어링해요.

컴포넌트 클래스

TsgcHTTP_JWT_Client

프로토콜

RFC 7519 (JWT)

플랫폼

Windows, macOS, Linux, iOS, Android

에디션

Professional / Enterprise

헤더 + 페이로드 구성, 서명, 첨부

Header.alg, Payload.iss / iat / exp를 설정하고 서명 키를 로드한 다음, JWT 클라이언트를 HTTP / HTTP/2 / WebSocket 컴포넌트에 bearer 토큰 소스로 첨부하세요.

uses
  sgcHTTP, sgcBase_Helpers;

var
  JWT: TsgcHTTP_JWT_Client;
begin
  JWT := TsgcHTTP_JWT_Client.Create(nil);
  JWT.JWTOptions.Header.alg := jwtES256;
  JWT.JWTOptions.Header.kid := 'apple-key-id';
  JWT.JWTOptions.Payload.iss := 'team-id';
  JWT.JWTOptions.Payload.iat := StrToInt64(GetDateTimeUnix(Now, False));
  JWT.JWTOptions.Algorithms.ES.PrivateKey.LoadFromFile('AuthKey_XXX.p8');
  JWT.JWTOptions.RefreshTokenAfter := 40 * 60; // auto-mint every 40 min

  ShowMessage(JWT.Token);
end;
// uses: sgcHTTP
TsgcHTTP_JWT_Client *JWT = new TsgcHTTP_JWT_Client(this);
JWT->JWTOptions->Header->alg = jwtES256;
JWT->JWTOptions->Header->kid = "apple-key-id";
JWT->JWTOptions->Payload->iss = "team-id";
JWT->JWTOptions->Algorithms->ES->PrivateKey->LoadFromFile("AuthKey_XXX.p8");

ShowMessage(JWT->Token);

내부 구성

HMAC, RSA, ECDSA, EdDSA 서명, 자동 갱신, HTTP / HTTP/2 / WebSocket 컴포넌트로의 깔끔한 전달을 갖춘 타입화된 JWT 발급-검증 컴포넌트예요.

알고리즘

JWTOptions.Header.alg가 HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 또는 EdDSA를 선택해요. 키는 PEM, P8 또는 메모리 내 스트림에서 로드해요.

표준 클레임

JWTOptions.Payload.iss, sub, aud, exp, nbf, iat, jti는 RFC 7519에 맞는 타입화된 속성이에요 — 벤더 확장을 위한 자유 형식 CustomClaims도 제공해요.

자동 갱신

RefreshTokenAfter는 N초 후에 새 JWT를 발급하도록 컴포넌트에 지시해요 — Apple이 1시간 이내에 교체를 기대하는 APNs ES256 토큰에 유용해요.

디코드 및 검증

Decode(token)은 수신된 JWT를 파싱하고 구성된 키에 대해 서명을 검증해요. OnVerify는 성공/실패 및 파싱된 페이로드와 함께 발생해요.

JWE 지원

RFC 7516에 따른 암호화된 JWT(JWE)가 지원돼요: AES-CBC, AES-GCM, RSA-OAEP, ECDH-ES 키 래핑.

HTTP/2 드롭인

Authentication.Token.JWT를 설정하여 TsgcHTTP2Client 또는 TsgcHTTPComponentClient와 페어링하세요 — 모든 송신 요청에 새로 서명된 bearer 토큰이 첨부돼요.

사양 및 참조

이 컴포넌트가 구현하는 표준의 공식 출처예요.

문서 및 데모

컴포넌트 레퍼런스 링크, 즉시 실행 가능한 데모 프로젝트, 체험판 다운로드를 제공해요.

온라인 도움말 — TsgcHTTP_JWT_Client 이 컴포넌트의 전체 속성, 메서드, 이벤트 레퍼런스예요.
Demo Project — Demos\20.HTTP_Protocol\05.JWT 즉시 실행 가능한 예제 프로젝트예요. sgcWebSockets 패키지에 포함돼 있어요 — 아래에서 체험판을 다운로드하세요.
기술 문서 (PDF) 이 컴포넌트의 기능, 빠른 시작, Delphi 및 C++ Builder 코드 샘플, 기본 출처 참조를 포함해요.
사용자 매뉴얼 (PDF) 라이브러리의 모든 컴포넌트를 다루는 종합 매뉴얼이에요.

서명된 JWT 발급을 시작할 준비가 됐나요?

무료 체험판을 다운로드하고 Delphi 애플리케이션에 JWT 서명을 추가하세요.