Servidor OAuth2 para Delphi

Protector OAuth 2.0 del lado del servidor para los servidores HTTP y WebSocket de sgcWebSockets. Verifica los tokens de acceso mediante validación JWT o introspección RFC 7662.

TsgcHTTP_OAuth2_Server

Componente ligero de resource server — verifica los Bearer tokens entrantes mediante comprobación de firma JWT o introspección de tokens RFC 7662 y expone los claims analizados a tu aplicación.

Clase del componente

TsgcHTTP_OAuth2_Server

Plataformas

Windows, macOS, Linux, iOS, Android

Edición

Enterprise

Suéltalo, conéctalo a tu servidor y acepta tokens

Configura la clave JWT (o la URL de introspección) y asócialo a TsgcWebSocketHTTPServer.OAuth2: las peticiones entrantes se verifican por token antes de que se ejecute tu manejador.

uses
  sgcWebSocket, sgcHTTP;

var
  Server: TsgcWebSocketHTTPServer;
  OAuth2: TsgcHTTP_OAuth2_Server;
begin
  OAuth2 := TsgcHTTP_OAuth2_Server.Create(nil);
  OAuth2.OAuth2Options.JWT.Algorithms.HS.Secret := 'shared-secret';

  Server := TsgcWebSocketHTTPServer.Create(nil);
  Server.Port := 8443;
  Server.SSL  := True;
  Server.Authentication.OAuth2.Enabled := True;
  Server.Authentication.OAuth2.Server  := OAuth2;

  Server.Active := True;
end;
// uses: sgcWebSocket, sgcHTTP
TsgcHTTP_OAuth2_Server *OAuth2 = new TsgcHTTP_OAuth2_Server(this);
OAuth2->OAuth2Options->JWT->Algorithms->HS->Secret = "shared-secret";

TsgcWebSocketHTTPServer *Server = new TsgcWebSocketHTTPServer(this);
Server->Authentication->OAuth2->Enabled = true;
Server->Authentication->OAuth2->Server  = OAuth2;
Server->Active = true;

Qué incluye

Componente resource server que protege endpoints HTTP y WebSocket con access tokens validados por JWT o por introspección.

Validación de JWT

Verificador JWT integrado (HS / RS / ES / EdDSA) contra una clave estática o un endpoint JWKS — sin ida y vuelta al emisor para tokens autocontenidos.

Introspección de tokens

Establece OAuth2Options.IntrospectionURL según RFC 7662 — el componente hace un POST del token entrante al emisor y almacena en caché el resultado activo/inactivo con un TTL.

Aplicación de scopes

Asigna OAuth2Options.RequiredScope para limitar el acceso a los tokens que lleven el scope elegido. OnAuthError informa del motivo del rechazo.

Compatible con WebSocket

Funciona tanto con peticiones HTTP como con upgrades WebSocket — la cabecera Authorization del upgrade (o el token en la query) se verifica antes de OnConnect.

Hook OnVerify

Implementa OnVerify para comprobaciones de claims personalizadas (aud multi-tenant, mapeo dinámico de scopes, estado de la cuenta). Devuelve Accept = False para cortar con un 401.

Proveedor hermano

TsgcHTTP_OAuth2_Server_Provider convierte este componente en un authorization server completo (emisor): endpoints authorize, token y revoke con almacenamiento persistente de clientes y refresh tokens.

Especificaciones y referencias

Fuentes autorizadas de los estándares que implementa este componente.

Documentación y Demos

Enlace directo a la referencia del componente, descarga el proyecto demo listo para ejecutar y la prueba gratuita.

Online Help — TsgcHTTP_OAuth2_Server Referencia completa de propiedades, métodos y eventos de este componente.
Demo Project — Demos\20.HTTP_Protocol\02.OAuth2_Authentication Proyecto de ejemplo listo para ejecutar. Se incluye en el paquete sgcWebSockets — descarga la prueba gratuita más abajo.
Documento técnico (PDF) Características, inicio rápido, ejemplos de código para Delphi y C++ Builder y referencias de fuentes primarias — solo este componente.
Manual de usuario (PDF) Manual completo que cubre todos los componentes de la biblioteca.
La mejor opción: All-AccessTodos los productos de eSeGeCe, con Premium Support incluido, desde €1,059 al año.
Ver precios de All-Access

¿Listo para proteger tus APIs con OAuth 2.0?

Descarga la prueba gratuita y añade la validación de tokens OAuth 2.0 a tus servidores Delphi.