JWT Sunucusu

Sunucu tarafı JWT doğrulaması. İstekleri dağıtmadan önce Authorization Bearer token'larını doğrulamak için TsgcHTTP_JWT_Server'ı bir TsgcWebSocketHTTPServer'a takın.

TsgcHTTP_JWT_Server

Gelen JWT'leri imzalama anahtarlarınıza (HMAC, RSA, ECDSA, EdDSA) karşı doğrular, exp/nbf/aud/iss claim'lerini denetler ve eşleşmeyen token'ları uygulama katmanı için tipli bir olayla reddeder.

Bileşen sınıfı

TsgcHTTP_JWT_Server

Protokol

RFC 7519 (JWT)

Platformlar

Windows, macOS, Linux, iOS, Android

Sürüm

Enterprise

Bırakın, sunucuya ekleyin, her istekte doğrulayın

Bir TsgcHTTP_JWT_Server bırakın, doğrulama anahtarlarını (veya bir JWKS URL'sini) yapılandırın ve TsgcWebSocketHTTPServer.JWT'ye ekleyin — gelen tüm istekler otomatik olarak doğrulanır.

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;

İçeriğinde neler var

TsgcWebSocketHTTPServer ve TsgcWebSocketServer kimlik doğrulamasıyla doğrudan entegre olan sunucu tarafı JWT doğrulayıcısı.

Çoklu algoritma doğrulaması

HS256/384/512, RS256/384/512, ES256/384/512, PS256/384/512 ve EdDSA'yı destekler. Anahtar döndürme için birden çok anahtar (kid-indeksli) yüklenebilir.

Standart claim denetimleri

Verify.Issuer, Verify.Audience, Verify.Subject, Verify.NotBefore, Verify.ExpirationTime varsayılan olarak gelen yüke karşı uygulanır.

JWKS uç noktası

JWTOptions.JWKS.URL değerini bir verici JWKS uç noktasına yönlendirin — bileşen genel anahtarları getirir, önbelleğe alır ve her token başlığındaki JWK kid değerine göre döndürür.

Başarısızlık olayı

OnAuthError reddetme nedenini (imza uyuşmazlığı, sona ermiş, audience uyuşmazlığı) açığa çıkarır; uygulamanız 401 döndürmeye mi yoksa geri dönmeye mi karar verir.

WebSocket kancaları

TsgcWebSocketServer için de çalışır — WebSocket yükseltmesi Authorization başlığını taşır, JWT sunucusu OnConnect tetiklenmeden önce doğrular.

JWE desteği

Şifreli JWE token'ları yapılandırılan özel anahtar kullanılarak satır içinde çözülür ve doğrulanır (RSA-OAEP, ECDH-ES anahtar sarmalama; AES-CBC / AES-GCM içerik şifreleme).

Spesifikasyonlar ve referanslar

Bu bileşenin uyguladığı standartlar için yetkili kaynaklar.

Belgeler ve Demolar

Bileşen referansına doğrudan bağlanın, kullanıma hazır demo projesini alın ve denemeyi indirin.

Çevrimiçi Yardım — TsgcHTTP_JWT_Server Bu bileşen için tam özellik, metot ve olay referansı.
Demo Projesi — Demos\20.HTTP_Protocol\05.JWT Kullanıma hazır örnek proje. sgcWebSockets paketi içinde gelir — aşağıdan denemeyi indirin.
Teknik Belge (PDF) Delphi ve C++ Builder için özellikler, hızlı başlangıç, kod örnekleri ve birincil kaynak referansları — yalnızca bu bileşen.
Kullanıcı Kılavuzu (PDF) Kütüphanedeki her bileşeni kapsayan kapsamlı kılavuz.

JWT'leri Sunucu Tarafında Doğrulamaya Hazır mısınız?

Ücretsiz denemeyi indirin ve Delphi sunucularınıza JWT doğrulaması ekleyin.