sgcAuth OAuth2 y JWT, nativos en Delphi. Y passkeys.

Dos componentes que llevan la parte de tokens de la autenticación moderna a tu aplicación. TsgcHTTP_OAuth2_Client ejecuta las concesiones Authorization Code, PKCE, Client Credentials, Resource Owner Password y Device Code contra cualquier proveedor OAuth2/OIDC. TsgcHTTP_JWT_Client crea, firma y verifica JSON Web Tokens, por sí solo o como fuente del token Bearer para tus clientes WebSocket y HTTP. Independiente, con el runtime Core de sgcWebSockets incluido.

  • OAuth2
  • JWT
  • Passkeys WebAuthn
  • PKCE, Device Code, DPoP
  • Delphi 7 a 13
  • C++ Builder
  • Código fuente completo
  • 2Componentes cliente, OAuth2 y JWT, en una misma página de la paleta
  • 9RFC implementadas: OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE y más
  • 5Plataformas de destino: Windows, macOS, Linux de 64 bits, iOS y Android
  • 1Instalador independiente, con el runtime Core incluido
  • 100%Código fuente incluido en cada licencia
Míralo en marcha

Mira sgcAuth en dos minutos.

JWT, OAuth2 y WebAuthn, del lado del cliente y del lado del servidor, desde Delphi. Narrado y subtitulado. No se descarga nada hasta que pulsas reproducir.

Inicio rápido de sgcAuth

Tokens, autorización delegada y passkeys en un solo paquete.

  1. Tres formas de empezarJWT cuando ya conoces al usuario, OAuth2 cuando un tercero guarda la identidad, WebAuthn cuando no hay contraseña en absoluto.
  2. Firma un JWTDefine el algoritmo y el secreto, rellena los claims estándar y después asocia el componente a un cliente WebSocket o HTTP como token Bearer.
  3. Valídalo en el servidorLa firma, exp y nbf se comprueban, y una petición con un token no válido nunca llega a tu manejador.
  4. OAuth2 en un solo componenteClient id, URL del proveedor, scopes y un tipo de grant. Abre el navegador y ejecuta por ti el servidor local de redirección.
  5. WebAuthn y passkeysEl registro y la aserción los dirige el componente de servidor. La clave privada nunca sale del dispositivo.
Qué incluye el paquete

Un componente por tarea, un único estilo de API.

Suelta un componente en un formulario, define los datos del proveedor o de la clave, conecta los eventos y después llama a Start o Sign. Los nombres son coherentes en ambos, así que un flujo de autenticación se lee igual sea cual sea el grant o el algoritmo que use.

Todos los tipos de grant, un solo componente

TsgcHTTP_OAuth2_Client cubre OAuth2Options.GrantType desde auth2Code para apps de confianza en el servidor, auth2CodePKCE para apps nativas, móviles y de página única, auth2ClientCredentials para demonios y cuentas de servicio, auth2ResourceOwnerPassword, y auth2DeviceCode (RFC 8628) para smart TV, quioscos y otros dispositivos con entrada limitada.

Ver el cliente OAuth2 →

Todo el ciclo de vida del token

Start abre el navegador del sistema y levanta un pequeño servidor HTTP local desde LocalServerOptions para capturar la redirección, y canjea el código por un token mediante HTTPS puro. Refresh, Revoke y Introspect cubren el ciclo de vida del token a partir de ahí, y DPoPOptions añade prueba de posesión (RFC 9449) para los proveedores que la exigen.

Métodos del ciclo de vida →

Firmar, asociar o verificar, a tu elección

TsgcHTTP_JWT_Client publica todo lo que necesita la RFC 7519 mediante JWTOptions: la cabecera JOSE Header, los registrados en Payload como claims (iss, sub, aud, exp, nbf, iat, jti, más claims personalizados) y el material de claves para HMAC, RSA y ECDSA. Llama a Sign para obtener directamente el token en serialización compacta, o define RefreshTokenAfter y deja que el componente vuelva a firmar automáticamente.

Ver el cliente JWT →

Un token Bearer nuevo en cada petición

El componente JWT se conecta directamente a Authentication.Token.JWT en TsgcWebSocketClient, TsgcHTTP1Client y TsgcHTTP2Client, así que cada petición saliente lleva un token Bearer nuevo sin una sola línea de código de cabeceras.

Ver el código →

Passkeys, mediante sgcCustomIndy

El inicio de sesión sin contraseña lo ofrece TsgcWSAPIServer_WebAuthn, un componente de sgcWebSockets Enterprise/All-Access construido sobre la biblioteca Indy parcheada que sgcCustomIndy incluye como complemento. Siempre se incluye al pedir sgcAuth, y también los componentes TOTP, LDAP, SAML, OpenID Connect y Mail OAuth2.

Ver qué puede hacer →

Inicio de sesión, cuentas de servicio y tus propias APIs

Inicia sesión con Google o Microsoft, acceso a APIs de servidor a servidor, smart TV y quioscos, 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 →

HTTPS puro y firma, sin biblioteca nativa

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

La matriz de características →

Cualquier proveedor, con ajustes predefinidos

sgcAuth habla los estándares publicados OAuth2/OIDC y JWT/JWS en lugar de envolver el SDK de un fabricante, así que el proveedor lo eliges tú: Google, Microsoft, Auth0, Okta, Keycloak o cualquier servidor de autorización que cumpla las RFC. Los ajustes predefinidos de Google y Microsoft configuran por ti los endpoints y scopes habituales.

Configuración del proveedor →

Código fuente completo, libre de royalties

sgcAuth es un paquete independiente. Incluye el runtime Core de sgcWebSockets sobre el que se construye, y cada licencia se entrega con el código fuente completo, de modo que los intercambios de tokens se recorren paso a paso en tu propio depurador. El despliegue está libre de royalties.

Ver precios →

Páginas de referencia de cada componente:

El código

Obtén un token, firma un token.

Configura las opciones y llama a un método. Ambos componentes compilan en Delphi 7 a 13 y C++ Builder, y las mismas propiedades se exponen 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;   // opens the browser; the redirect lands on the local server
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);

  // or attach it to a WebSocket / HTTP client directly:
  // 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 →

  1. Suelta un componente en un formularioTsgcHTTP_OAuth2_Client y TsgcHTTP_JWT_Client se encuentran en una misma página de la paleta.
  2. Define el proveedor o la claveURL de autorización y de token, client id y scopes para OAuth2. Algoritmo, secreto o par de claves y claims para JWT.
  3. Conecta los eventosOnAfterAccessToken te entrega el token, y las llamadas de refresco, revocación e introspección siguen el mismo patrón.
  4. Llama a Start o SignO entrega el componente JWT a un cliente WebSocket o HTTP y deja que asocie un token Bearer nuevo a cada petición.
Un vistazo de cerca

Tres vías de entrada, un solo paquete.

Fotogramas del vídeo de inicio rápido de sgcAuth.

Un JWT viaja del componente cliente al servidor como token Bearer, donde se comprueban la firma, exp, nbf, iss y aud

Firmado en el cliente, comprobado en el servidor.

El cliente JWT firma con HMAC, RSA o ECDSA y viaja como cabecera Authorization: Bearer . Al otro lado, la firma se comprueba con el mismo secreto o con la clave pública, se rechazan los tokens caducados y los que aún no son válidos, y una petición con un token no válido nunca llega a tu manejador.

Los tipos de grant de OAuth2 en sgcAuth: authorization code, code con PKCE, client credentials, resource owner password y device code, con refresco, revocación, introspección y DPoP

Elige el grant que encaje con la app.

Authorization Code para apps web con back end, PKCE para apps nativas y móviles, Client Credentials para máquina a máquina, Device Code para televisores y consolas. El refresco, la revocación, la introspección y DPoP también los gestiona el componente.

El flujo WebAuthn entre el navegador, el autenticador y tu servidor: desafío, firma, verificación

Sin contraseña y sin secreto compartido que se pueda filtrar.

El servidor envía un desafío aleatorio, el autenticador lo firma con la clave privada y el servidor lo comprueba con la clave pública almacenada. El usuario inicia sesión con una passkey, una huella o una llave de hardware, y la clave privada nunca sale del dispositivo.

Antes de comprar

Cuatro cosas que conviene saber antes.

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

tarea        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?\nTanto el cliente OAuth2 como el cliente JWT se incluyen en\n  sgcWebSockets desde la edición Standard.\nsgcAuth sirve para licenciar OAuth2 + JWT sin una\n  edición completa de sgcWebSockets.
  1. sgcAuth es independienteEl runtime Core de sgcWebSockets está incluido: la pila de cliente HTTP/TLS por la que ambos componentes envían sus peticiones de token y la maquinaria JSON que analiza las respuestas. Un instalador, con el código fuente completo incluido.
  2. ¿Ya lo tienes en tu edición de sgcWebSockets?Ambos clientes se incluyen en sgcWebSockets desde la edición Standard. sgcAuth existe para el caso contrario: soporte de cliente OAuth2 y JWT sin licenciar una edición completa de sgcWebSockets.
  3. WebAuthn necesita sgcCustomIndyTsgcWSAPIServer_WebAuthn se construye sobre la biblioteca Indy parcheada que sgcCustomIndy incluye como complemento. Siempre se incluye al pedir sgcAuth, y el precio de sgcAuth que ves ya lo cubre.
  4. Delphi y C++ BuildersgcAuth se dirige a Delphi 7 hasta RAD Studio 13 y a C++ Builder. El instalador de prueba gratuito es la versión de prueba All-Access de sgcWebSockets, así que ambos componentes se pueden evaluar hoy mismo.

Los grants, el refresco, la revocación y la firma son métodos y eventos de primera clase, y el código fuente completo significa que nada intermedio es una caja negra. Todos los componentes y propiedades →

Parte de sgcWebSockets

Con licencia propia, o ya incluido en tu edición.

sgcAuth es un paquete de la familia sgcWebSockets. Cómpralo de forma independiente con el runtime Core incluido, u obtén ambos clientes con cualquier edición de sgcWebSockets desde Standard.

sgcAuth

Los clientes OAuth2 y JWT, independientes, con el runtime Core de sgcWebSockets incluido.

€298 / licencia Single
  • Cliente OAuth2: Authorization Code, PKCE, Client Credentials, Device Code
  • Cliente JWT para emitir, firmar y verificar tokens
  • Passkeys WebAuthn, mediante sgcCustomIndy (incluido)
  • TOTP, LDAP, SAML, OpenID Connect y Mail OAuth2, mediante sgcCustomIndy
  • Código fuente completo y 1 año de actualizaciones
Precios de sgcAuth →

Team y Site

El mismo paquete, con licencia para todo un equipo o toda una sede.

Team €498 Site €798
  • Todo lo de la licencia Single
  • El derecho de uso del runtime Core de sgcWebSockets, a coste cero
  • sgcCustomIndy, que WebAuthn requiere, siempre incluido
  • Delphi 7 a 13 y C++ Builder
Comparar licencias →

sgcWebSockets

La biblioteca completa: clientes y servidores WebSocket, HTTP/2, IoT, P2P y componentes de IA. Sus ediciones también incluyen los clientes OAuth2 y JWT.

€380 / Standard
  • Ambos clientes desde la edición Standard
  • Los componentes WebAuthn, TOTP, LDAP, SAML, OpenID Connect y Mail OAuth2 se incluyen en Enterprise
  • Aquí vive el runtime Core
Descubre sgcWebSockets →

Si tienes cualquier edición de sgcWebSockets, ya tienes ambos clientes. sgcAuth es para OAuth2 y JWT sin licenciar una edición completa de sgcWebSockets.

Ver precios y licencias
Testimonios

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

Entrega autenticación, no una biblioteca de tokens.

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

El ecosistema

Otros productos de eSeGeCe

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

sgcWebSockets

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

sgcHTTP

Servidor HTTP, 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.

sgcREST

Servidor REST, servidor OpenAPI y componentes de cliente OpenAPI para Delphi y C++ Builder. Producto independiente, con el runtime sgcWebSockets Core incluido.

sgcMQ

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

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.

sgcSocial

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

sgcHTML

Componentes HTML y de interfaz del lado del servidor sobre Bootstrap 5 y htmx, incluido un componente de interfaz de inicio de sesión WebAuthn.

sgcQUIC

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

sgcOpenAPI

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

sgcSign

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

sgcPDF

Crea, edita, visualiza, firma, redacta y valida archivos PDF en Object Pascal puro, sin ninguna DLL que implementar. Con licencia propia.

sgcBiometrics

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

Paquetes, complementos y más

Lo último del blog

Ver todas las publicaciones →

Estás viendo la vista sgcAuth de eSeGeCe.

Muéstrame otro enfoque →
Garantía de devolución de 30 días¿No estás satisfecho? Solicita un reembolso completo en los 30 días posteriores a la compra. Ver política de reembolso