JWT Server
サーバーサイドの JWT 検証コンポーネントです。TsgcHTTP_JWT_Server を TsgcWebSocketHTTPServer に組み込み、リクエストをディスパッチする前に Authorization ベアラートークンを検証できます。
サーバーサイドの JWT 検証コンポーネントです。TsgcHTTP_JWT_Server を TsgcWebSocketHTTPServer に組み込み、リクエストをディスパッチする前に Authorization ベアラートークンを検証できます。
署名鍵(HMAC、RSA、ECDSA、EdDSA)を使用して受信 JWT を検証し、exp/nbf/aud/iss クレームを確認し、不一致のトークンをアプリケーション層向けの型付きイベントで拒否します。
TsgcHTTP_JWT_Server
Windows, macOS, Linux, iOS, Android
Enterprise
TsgcHTTP_JWT_Server を配置し、検証鍵(または JWKS URL)を設定して TsgcWebSocketHTTPServer.JWT に接続するだけで、すべての受信リクエストが自動的に検証されます。
uses
sgcWebSocket, sgcHTTP;
var
Server: TsgcWebSocketHTTPServer;
JWT: TsgcHTTP_JWT_Server;
begin
JWT := TsgcHTTP_JWT_Server.Create(nil);
JWT.JWTOptions.Algorithms.HS.Secret := 'shared-secret';
JWT.JWTOptions.Verify.Issuer := 'auth.example.com';
JWT.JWTOptions.Verify.Audience := 'api.example.com';
Server := TsgcWebSocketHTTPServer.Create(nil);
Server.Port := 8443;
Server.SSL := True;
Server.Authentication.JWT.Enabled := True;
Server.Authentication.JWT.Server := JWT;
Server.Active := True;
end;
// uses: sgcWebSocket, sgcHTTP
TsgcHTTP_JWT_Server *JWT = new TsgcHTTP_JWT_Server(this);
JWT->JWTOptions->Algorithms->HS->Secret = "shared-secret";
TsgcWebSocketHTTPServer *Server = new TsgcWebSocketHTTPServer(this);
Server->Authentication->JWT->Enabled = true;
Server->Authentication->JWT->Server = JWT;
Server->Active = true;
TsgcWebSocketHTTPServer および TsgcWebSocketServer の認証に直接統合するサーバーサイド JWT 検証コンポーネントです。
HS256/384/512、RS256/384/512、ES256/384/512、PS256/384/512、EdDSA をサポートしています。鍵のローテーションのために複数の鍵(kid インデックス付き)を読み込めます。
Verify.Issuer、Verify.Audience、Verify.Subject、Verify.NotBefore、Verify.ExpirationTime はすべて、デフォルトで受信ペイロードに対して検証されます。
発行者の JWKS エンドポイントに JWTOptions.JWKS.URL を指定すると、コンポーネントが公開鍵を取得してキャッシュし、各トークンヘッダーの JWK kid に基づいてローテーションします。
OnAuthError は拒否理由(署名の不一致、有効期限切れ、オーディエンスの不一致)を公開します。401 を返すかフォールバックするかはアプリケーションが決定します。
TsgcWebSocketServer にも対応しています。WebSocket アップグレード時に Authorization ヘッダーが送信され、OnConnect が発火する前に JWT サーバーが検証します。
暗号化された JWE トークンは、設定された秘密鍵(RSA-OAEP、ECDH-ES 鍵ラップ、AES-CBC / AES-GCM コンテンツ暗号化)を使用してインラインでデコードおよび検証されます。
コンポーネントリファレンスへの直接リンク、すぐに実行できるデモプロジェクトの入手、体験版のダウンロードができます。
| オンラインヘルプ — TsgcHTTP_JWT_Server このコンポーネントのプロパティ、メソッド、イベントの完全なリファレンスです。 | 開く | |
| デモプロジェクト — Demos\20.HTTP_Protocol\05.JWT すぐに実行できるサンプルプロジェクトです。sgcWebSockets パッケージに同梱されています。以下から体験版をダウンロードできます。 | 開く | |
| 技術ドキュメント (PDF) このコンポーネントの機能、クイックスタート、Delphi および C++ Builder 向けのコードサンプル、一次資料のリファレンスを掲載しています。 | 開く | |
| ユーザーマニュアル (PDF) ライブラリのすべてのコンポーネントを網羅した総合マニュアルです。 | 開く |