JWT 服务器

服务器端 JWT 验证。将 TsgcHTTP_JWT_Server 接入 TsgcWebSocketHTTPServer,在分发请求前验证 Authorization Bearer 令牌。

TsgcHTTP_JWT_Server

针对您的签署密钥(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.IssuerVerify.AudienceVerify.SubjectVerify.NotBeforeVerify.ExpirationTime 默认均针对传入载荷执行。

JWKS 端点

JWTOptions.JWKS.URL 指向颁发者 JWKS 端点 — 组件获取公钥,缓存并按每个令牌标头中的 JWK kid 轮换。

失败事件

OnAuthError 公开拒绝原因(签名不匹配、已过期、受众不匹配);您的应用程序决定是返回 401 还是回退。

WebSocket 钩子

也适用于 TsgcWebSocketServer — WebSocket 升级携带 Authorization 标头,JWT 服务器在 OnConnect 触发前进行验证。

JWE 支持

使用已配置的私钥内联解码和验证加密的 JWE 令牌(RSA-OAEP、ECDH-ES 密钥包装;AES-CBC / AES-GCM 内容加密)。

规范与参考

本组件所实现标准的权威来源。

文档与演示

直达组件参考,获取可立即运行的演示项目,并下载试用版。

在线帮助 — TsgcHTTP_JWT_Server 本组件的完整属性、方法和事件参考。
演示项目 — Demos\20.HTTP_Protocol\05.JWT 可立即运行的示例项目,随 sgcWebSockets 包一起提供 — 请从下方下载试用版。
技术文档 (PDF) 仅涵盖本组件的功能、快速入门、Delphi 和 C++ Builder 代码示例及主要参考来源。
用户手册 (PDF) 涵盖库中每个组件的综合手册。

准备好在服务器端验证 JWT 了吗?

下载免费试用版,为您的 Delphi 服务器添加 JWT 验证功能。