JWT Client
Delphi/C++Builder から JSON Web Token の生成、署名、検証ができます。HMAC、RSA、ECDSA 署名、PASETO スタイルの暗号化 JWE、自動リフレッシュ、TsgcHTTP2Client / TsgcHTTPComponentClient との簡単な統合を提供します。
Delphi/C++Builder から JSON Web Token の生成、署名、検証ができます。HMAC、RSA、ECDSA 署名、PASETO スタイルの暗号化 JWE、自動リフレッシュ、TsgcHTTP2Client / TsgcHTTPComponentClient との簡単な統合を提供します。
HS256/HS384/HS512、RS256/RS384/RS512、ES256/ES384、EdDSA トークンの署名、受信 JWT のデコード、期限切れ前の自動リフレッシュができます。Authentication.Token.JWT で HTTP および HTTP/2 クライアントと組み合わせて使用できます。
TsgcHTTP_JWT_Client
Windows, macOS, Linux, iOS, Android
Professional / Enterprise
Header.alg、Payload.iss / iat / exp を設定し、署名キーを読み込んだ後、JWT クライアントをベアラートークンソースとして HTTP / HTTP/2 / WebSocket コンポーネントに添付してください。
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 署名を持つ型付き JWT 生成・検証コンポーネントです。自動リフレッシュと HTTP / HTTP/2 / WebSocket コンポーネントへのクリーンな引き渡しを提供します。
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 は成功/失敗と解析済みペイロードとともに発火します。
RFC 7516 に基づく暗号化 JWT(JWE)をサポートしています。AES-CBC、AES-GCM、RSA-OAEP、ECDH-ES のキーラッピングに対応しています。
Authentication.Token.JWT を設定することで TsgcHTTP2Client または TsgcHTTPComponentClient と組み合わせて使用できます。すべての送信リクエストに新しく署名されたベアラートークンが付与されます。
コンポーネントリファレンスへの直接リンク、すぐに実行できるデモプロジェクトの入手、体験版のダウンロードができます。
| オンラインヘルプ — TsgcHTTP_JWT_Client このコンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。 | 開く | |
| デモプロジェクト — Demos\20.HTTP_Protocol\05.JWT すぐに実行できるサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。以下から体験版をダウンロードできます。 | 開く | |
| 技術ドキュメント (PDF) このコンポーネントの機能、クイックスタート、Delphi および C++ Builder 向けのコードサンプル、一次資料のリファレンスを掲載しています。 | 開く | |
| ユーザーマニュアル (PDF) ライブラリのすべてのコンポーネントを網羅した総合マニュアルです。 | 開く |