JWT Client
Twórz, podpisuj i weryfikuj JSON Web Tokens w Delphi/C++ Builder. Podpisy HMAC, RSA i ECDSA, szyfrowane JWE w stylu PASETO, automatyczne odświeżanie i łatwa integracja z TsgcHTTP2Client / TsgcHTTPComponentClient.
Twórz, podpisuj i weryfikuj JSON Web Tokens w Delphi/C++ Builder. Podpisy HMAC, RSA i ECDSA, szyfrowane JWE w stylu PASETO, automatyczne odświeżanie i łatwa integracja z TsgcHTTP2Client / TsgcHTTPComponentClient.
Podpisuje tokeny HS256/HS384/HS512, RS256/RS384/RS512, ES256/ES384, EdDSA; dekoduje przychodzące JWT; automatycznie odświeża przed wygaśnięciem; integruje się z klientami HTTP i HTTP/2 przez Authentication.Token.JWT.
TsgcHTTP_JWT_Client
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Ustaw Header.alg, Payload.iss / iat / exp, załaduj klucz podpisujący, a następnie dołącz klienta JWT do swojego komponentu HTTP / HTTP/2 / WebSocket jako źródło tokenu 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);
Typowany komponent do tworzenia i weryfikacji JWT z podpisami HMAC, RSA, ECDSA i EdDSA, automatycznym odświeżaniem i bezproblemową integracją z komponentami HTTP / HTTP/2 / WebSocket.
JWTOptions.Header.alg wybiera HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 lub EdDSA. Klucze są ładowane z PEM, P8 lub strumieni w pamięci.
JWTOptions.Payload.iss, sub, aud, exp, nbf, iat, jti są typowanymi właściwościami zgodnymi z RFC 7519 — plus swobodne CustomClaims dla rozszerzeń dostawcy.
RefreshTokenAfter nakazuje komponentowi wygenerować nowy JWT po N sekundach — przydatne dla tokenów APNs ES256, które Apple oczekuje rotowanych w ciągu godziny.
Decode(token) parsuje przychodzący JWT i weryfikuje podpis względem skonfigurowanych kluczy; OnVerify jest wywoływane z wynikiem sukcesu/błędu i sparsowanym ładunkiem.
Szyfrowane JWT (JWE) zgodnie z RFC 7516 są obsługiwane: zawijanie kluczy AES-CBC, AES-GCM, RSA-OAEP i ECDH-ES.
Połącz z TsgcHTTP2Client lub TsgcHTTPComponentClient przez ustawienie Authentication.Token.JWT — każde wychodzące żądanie otrzymuje świeży podpisany token bearer.
Przejdź bezpośrednio do dokumentacji komponentu, pobierz gotowy do uruchomienia projekt demonstracyjny i pobierz wersję próbną.
| Pomoc online — TsgcHTTP_JWT_Client Pełna dokumentacja właściwości, metod i zdarzeń tego komponentu. | Otwórz | |
| Projekt demonstracyjny — Demos\20.HTTP_Protocol\05.JWT Gotowy do uruchomienia projekt przykładowy. Dostarczany w pakiecie sgcWebSockets — pobierz wersję próbną poniżej. | Otwórz | |
| Dokument techniczny (PDF) Funkcje, szybki start, przykłady kodu dla Delphi i C++ Builder oraz odniesienia do źródeł — tylko ten komponent. | Otwórz | |
| Podręcznik użytkownika (PDF) Kompleksowy podręcznik obejmujący każdy komponent biblioteki. | Otwórz |