eSeGeCe — Componentes de Comunicación Empresarial para Delphi y .NET
DESTACADO · sgcAuth

OAuth2 y JWT, nativos en Delphi

Dos componentes ponen el lado de los tokens de la autenticación moderna dentro de tu aplicación. TsgcHTTP_OAuth2_Client ejecuta los grants Authorization Code, PKCE, Client Credentials, Resource Owner Password y Device Code contra cualquier proveedor OAuth2/OIDC. TsgcHTTP_JWT_Client construye, firma y verifica JSON Web Tokens, por sí solo o como fuente del token Bearer para tus clientes WebSocket y HTTP. De forma independiente, incluye el runtime sgcWebSockets Core.

  • 2 componentes cliente
  • OAuth2 · JWT · WebAuthn
  • 9 RFCs implementadas
  • Delphi 7 a 13 · C++ Builder

Dos Componentes, Todo el Ciclo de Vida del Token

sgcAuth es un paquete independiente. Incluye el runtime sgcWebSockets Core sobre el que está construido, y cada licencia se entrega con el código fuente completo, así que puedes recorrer los intercambios de tokens en tu propio depurador.

2 Componentes cliente TsgcHTTP_OAuth2_Client y TsgcHTTP_JWT_Client, en una sola página de paleta.
9 RFCs implementadas OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE y más.
5 Plataformas de destino Windows, macOS, Linux de 64 bits, iOS y Android desde un único árbol de código.
1 Instalador independiente El runtime sgcWebSockets Core y la capa HTTP/TLS se incluyen dentro del paquete.
100% Código fuente incluido Cada licencia incluye el código fuente completo de ambos componentes y del runtime incluido.
sgcAuth

Cliente OAuth2, cliente JWT y soporte de passkeys WebAuthn para Delphi y C++ Builder. Un paquete independiente con el runtime sgcWebSockets Core incluido, código fuente completo y despliegue libre de royalties.

Un Componente por Trabajo, un Mismo Estilo de API

Suelta un componente en un formulario, configura los datos del proveedor o de la clave, conecta los eventos y luego llama a Start o a Sign. La nomenclatura es coherente en ambos, así que un flujo de autenticación se lee igual sea cual sea el grant o el algoritmo que use.

OAuth2

Cinco Tipos de Grant, un Componente

TsgcHTTP_OAuth2_Client controla OAuth2Options.GrantType a través de auth2Code para aplicaciones de servidor de confianza, auth2CodePKCE para aplicaciones nativas, móviles y de una sola página, auth2ClientCredentials para daemons y cuentas de servicio, auth2ResourceOwnerPassword, y auth2DeviceCode (RFC 8628) para smart TVs, kioscos y otros dispositivos con entrada limitada. Start abre el navegador del sistema y levanta un pequeño servidor HTTP local a partir de LocalServerOptions para capturar la redirección, intercambiando el código por un token sobre HTTPS puro. Refresh, Revoke e Introspect cubren el ciclo de vida del token a partir de ahí, y DPoPOptions añade la prueba de posesión (RFC 9449) para los proveedores que la requieren.

Ver el cliente OAuth2 →
JWT

Firma, Adjunta o Verifica, tú Eliges

TsgcHTTP_JWT_Client publica todo lo que necesita RFC 7519 a través de JWTOptions: la cabecera JOSE Header, los claims registrados de Payload (iss, sub, aud, exp, nbf, iat, jti, más claims personalizados), y el material de clave para HMAC, RSA y ECDSA. Llama a Sign para obtener directamente el token en serialización compacta, o configura RefreshTokenAfter y deja que el componente vuelva a firmar automáticamente. El mismo componente se conecta directamente a Authentication.Token.JWT en TsgcWebSocketClient, TsgcHTTP1Client y TsgcHTTP2Client, así que cada petición saliente lleva un token Bearer recién firmado.

Ver el cliente JWT →
WebAuthn

Passkeys, vía sgcCustomIndy

El inicio de sesión sin contraseña lo sirve TsgcWSAPIServer_WebAuthn, un componente de sgcWebSockets Enterprise/All-Access construido sobre la librería Indy parcheada que sgcCustomIndy entrega como add-on. Se añade automáticamente cuando pides sgcAuth.

Descubre lo que puede hacer →
Casos de uso

Inicio de Sesión, Cuentas de Servicio y tus Propias APIs

Inicio de sesión con Google o Microsoft, acceso a API servidor a servidor, smart TVs y kioscos, sesiones largas sin volver a pedir credenciales, y tokens Bearer para tus propias APIs WebSocket y HTTP. Ambos componentes funcionan sin problemas dentro de una aplicación VCL o FMX, un servicio o un proceso de consola.

La matriz de características →
Multiplataforma

HTTPS y Firma Puros, sin Librería Nativa

Ninguno de los dos componentes depende de nada más allá de la pila cliente HTTP del runtime Core y las primitivas criptográficas de la plataforma, así que ambos compilan y se ejecutan en cualquier lugar donde lo haga Delphi. Desde Delphi 7 hasta RAD Studio 13 y en C++ Builder.

La matriz de características →

Páginas de referencia de cada componente:

Obtén un Token, Firma un Token

Configura las opciones y luego llama a un método. Ambos componentes compilan en Delphi 7 a 13 y en C++ Builder, y las mismas propiedades están expuestas en .NET.

uses
  sgcHTTP_OAuth2_Client;
var
  OAuth2: TsgcHTTP_OAuth2_Client;
begin
  OAuth2 := TsgcHTTP_OAuth2_Client.Create(nil);
  OAuth2.OAuth2Options.GrantType := auth2CodePKCE;
  OAuth2.OAuth2Options.ClientId := 'your-client-id';
  OAuth2.AuthorizationServerOptions.AuthURL := 'https://provider.com/oauth2/authorize';
  OAuth2.AuthorizationServerOptions.TokenURL := 'https://provider.com/oauth2/token';
  OAuth2.AuthorizationServerOptions.Scope.Text := 'openid profile';
  OAuth2.LocalServerOptions.IP := '127.0.0.1';
  OAuth2.LocalServerOptions.Port := 8080;

  OAuth2.OnAfterAccessToken := OAuth2AccessToken;
  OAuth2.Start;   // abre el navegador; la redirección llega al servidor local
end;

procedure TForm1.OAuth2AccessToken(Sender: TObject);
begin
  Memo1.Lines.Add('Access token received.');
end;
uses
  sgcHTTP_JWT_Client;
var
  JWT: TsgcHTTP_JWT_Client;
begin
  JWT := TsgcHTTP_JWT_Client.Create(nil);
  JWT.JWTOptions.Header.alg := jwtHS256;
  JWT.JWTOptions.Algorithms.HS.Secret := '79F66F1E-E998-436B-8A0A-3E5DEFA4FD9E';
  JWT.JWTOptions.Payload.iss := 'your-service';
  JWT.JWTOptions.Payload.sub := '1234567890';
  JWT.JWTOptions.Payload.iat := DateTimeToUnix(Now);

  ShowMessage(JWT.Sign);

  // o adjúntalo directamente a un cliente WebSocket / HTTP:
  // Client.Authentication.Token.Enabled := True;
  // Client.Authentication.Token.JWT := JWT;
end;

La misma forma en Object Pascal y en C++ Builder. La matriz de características completa →

Tres Cosas que Conviene Saber Primero

Qué necesita sgcAuth de ti, si ya tienes estos componentes, y qué necesita WebAuthn además. Las tres respuestas son cortas, y las tres están en esta página en lugar de en la letra pequeña.

Componentes y grants
trabajo      componente               grants / algoritmos
OAuth2       TsgcHTTP_OAuth2_Client   Code, PKCE, Client Credentials,
                                       Resource Owner Password, Device Code
JWT          TsgcHTTP_JWT_Client      HS256/384/512, RS256/384/512, ES256/384/512

¿ya lo tienes?
Tanto el cliente OAuth2 como el cliente JWT se entregan
  dentro de sgcWebSockets desde la edición Standard en
  adelante.
sgcAuth existe para licenciar OAuth2 + JWT sin una
  edición completa de sgcWebSockets.

sgcAuth es independiente

De forma independiente, incluye el runtime sgcWebSockets Core: la pila cliente HTTP/TLS con la que ambos componentes envían por POST sus peticiones de token, y la maquinaria JSON que analiza las respuestas. Un solo instalador, código fuente completo en la caja.

¿Ya lo tienes en tu edición de sgcWebSockets?

Tanto el cliente OAuth2 como el cliente JWT se entregan dentro de sgcWebSockets desde la edición Standard en adelante, así que si ya tienes cualquier edición de sgcWebSockets ya dispones de ambos componentes. sgcAuth existe para el caso contrario: soporte de cliente OAuth2 y JWT sin licenciar una edición completa de sgcWebSockets.

WebAuthn necesita sgcCustomIndy

El inicio de sesión sin contraseña con WebAuthn lo sirve TsgcWSAPIServer_WebAuthn, un componente de sgcWebSockets Enterprise/All-Access construido sobre la librería Indy parcheada que sgcCustomIndy entrega como add-on. WebAuthn requiere el add-on sgcCustomIndy, que se añade automáticamente cuando pides sgcAuth. ¿Ya tienes una licencia de sgcCustomIndy? Elimina la línea añadida automáticamente de tu carrito antes de pagar, no hay coste extra en ningún caso.

Delphi y C++ Builder

sgcAuth apunta a Delphi 7 hasta RAD Studio 13 y a C++ Builder. El instalador de la prueba gratuita es la prueba de sgcWebSockets All-Access, así que ambos componentes pueden evaluarse hoy mismo.

PKCE Device Code DPoP HMAC · RSA · ECDSA Código fuente completo

Cada componente y propiedad →

sgcAuth habla los estándares publicados OAuth2/OIDC y JWT/JWS en lugar de envolver un SDK de terceros, así que el proveedor es tu elección: Google, Microsoft, Auth0, Okta, Keycloak, o cualquier servidor de autorización compatible con RFC. Los grants, el refresco, la revocación y la firma son todos métodos y eventos de primera clase, y el código fuente completo significa que nada de por medio es una caja negra.

Doce Librerías, una Caja de Herramientas

sgcAuth es una de las doce librerías de componentes de eSeGeCe para Delphi, C++ Builder y .NET. Comparten convenciones, se entregan con código fuente completo y se despliegan libres de royalties.

sgcAuth

Cliente OAuth2, cliente JWT y soporte de WebAuthn para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcHTTP

Cliente HTTP/2, cliente gRPC y clientes de Google Cloud Pub/Sub, Calendar y FCM para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, IA y más de 30 integraciones de APIs para Delphi, C++ Builder, Lazarus y .NET. Aquí es donde vive el runtime Core.

Más información →

sgcMQ

Componentes cliente de MQTT, AMQP 0.9.1 y 1.0, Apache Kafka y STOMP para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcSocial

Componentes cliente de Telegram y WhatsApp Business para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcHTML

Componentes HTML y de UI en servidor sobre Bootstrap 5 y htmx, incluyendo un componente de UI de inicio de sesión WebAuthn.

Más información →

sgcQUIC

Transporte QUIC puro y un cliente y servidor HTTP/3, con WebTransport. Un complemento de sgcWebSockets Enterprise.

Más información →

sgcAI

Componentes de IA, LLM y MCP para Delphi y C++ Builder. Siete proveedores de LLM tras un único componente, más MCP, embeddings y voz. Producto independiente, con el runtime sgcWebSockets Core incluido.

Más información →

sgcOpenAPI

Parser de OpenAPI 3.x, generador nativo de SDK Pascal, componente servidor OpenAPI y más de 1.195 SDK de nube preconstruidos.

Más información →

sgcSign

XAdES, PAdES, CAdES y ASiC para documentos, Authenticode, ClickOnce, NuGet y VSIX para código.

Más información →

sgcBiometrics

Windows Hello, sensores de huella dactilar y el Windows Biometric Framework para Delphi y C++ Builder.

Más información →

sgcIndy

Componentes Indy TCP/IP actualizados con TLS moderno, IPv6 y HTTP/2 para Delphi 7 a 13.

Más información →

Ver precios y licencias Descargar la prueba gratuita

Qué Dicen los Desarrolladores

La confianza de desarrolladores de Delphi, C++ Builder, Lazarus y .NET en todo el mundo.

Vuestra librería sgcWebSockets es muy útil y fácil de configurar. ¡Seguid así!

Simone Moretti Desarrollador Delphi

sgcWebSockets es increíble y vuestro soporte es el mejor.

Christian Meyer Fundador y CTO

Muchas gracias por vuestra ayuda y soporte, me encantan vuestros componentes.

Mark Steinfeld CTO

Estás viendo la vista de Autenticación de eSeGeCe.

Muéstrame otro enfoque →

Lanza Autenticación, no una Librería de Tokens

OAuth2 y JWT en un solo paquete, con el runtime sgcWebSockets Core incluido y el código fuente completo en la caja.