eSeGeCe — Componentes de comunicação de nível empresarial para Delphi e .NET
DESTAQUE · sgcAuth

OAuth2 e JWT, nativos no Delphi

Dois componentes cliente trazem o lado do token da autenticação moderna para a sua aplicação. O TsgcHTTP_OAuth2_Client executa os fluxos Authorization Code, PKCE, Client Credentials, Resource Owner Password e Device Code contra qualquer provedor OAuth2/OIDC. O TsgcHTTP_JWT_Client constrói, assina e verifica JSON Web Tokens, seja sozinho ou como a fonte de Bearer token dos seus clientes WebSocket e HTTP. Autônomo, o runtime sgcWebSockets Core está incluído.

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

Dois Componentes, Todo o Ciclo de Vida do Token

O sgcAuth é um pacote autônomo. Ele inclui o runtime sgcWebSockets Core sobre o qual é construído, e toda licença vem com código-fonte completo, então as trocas de token são depuradas passo a passo no seu próprio debugger.

2 Componentes cliente TsgcHTTP_OAuth2_Client e TsgcHTTP_JWT_Client, em uma única página de paleta.
9 RFCs implementadas OAuth2, PKCE, DPoP, Device Code, JWT/JWS/JWE e mais.
5 Plataformas de destino Windows, macOS, Linux 64-bit, iOS e Android a partir de uma única árvore de código-fonte.
1 Instalador autônomo O runtime sgcWebSockets Core e a camada HTTP/TLS vêm juntos dentro do pacote.
100% Código-fonte incluído Toda licença carrega o código-fonte completo dos dois componentes e do runtime embutido.
sgcAuth

Cliente OAuth2, cliente JWT e suporte a passkeys WebAuthn para Delphi e C++ Builder. Um pacote autônomo com o runtime sgcWebSockets Core incluído, código-fonte completo e implantação sem royalties.

Um Componente por Função, Um Estilo de API

Solte um componente em um formulário, defina os detalhes do provedor ou da chave, conecte os eventos e então chame Start ou Sign. A nomenclatura é consistente entre os dois, então um fluxo de autenticação lê igual, seja qual for a concessão ou algoritmo que ele use.

OAuth2

Cinco Tipos de Concessão, Um Componente

O TsgcHTTP_OAuth2_Client conduz OAuth2Options.GrantType por auth2Code para aplicações server-side confiáveis, auth2CodePKCE para aplicativos nativos, móveis e single-page, auth2ClientCredentials para daemons e contas de serviço, auth2ResourceOwnerPassword, e auth2DeviceCode (RFC 8628) para smart TVs, quiosques e outros dispositivos com entrada limitada. Start abre o navegador do sistema e sobe um pequeno servidor HTTP local a partir de LocalServerOptions para capturar o redirecionamento, trocando o código por um token via HTTPS puro. Refresh, Revoke e Introspect cobrem o ciclo de vida do token depois disso, e DPoPOptions adiciona prova de posse (RFC 9449) para provedores que exigem isso.

Ver o cliente OAuth2 →
JWT

Assine, Anexe ou Verifique, Você Escolhe

O TsgcHTTP_JWT_Client publica tudo o que a RFC 7519 exige através de JWTOptions: o Header JOSE, as claims registradas do Payload (iss, sub, aud, exp, nbf, iat, jti, mais claims personalizadas), e o material de chave para HMAC, RSA e ECDSA. Chame Sign para obter o token em serialização compacta diretamente, ou defina RefreshTokenAfter e deixe o componente reassinar automaticamente. O mesmo componente se conecta diretamente a Authentication.Token.JWT em TsgcWebSocketClient, TsgcHTTP1Client e TsgcHTTP2Client, então toda requisição de saída carrega um Bearer token fresco.

Ver o cliente JWT →
WebAuthn

Passkeys, via sgcCustomIndy

O login sem senha é servido pelo TsgcWSAPIServer_WebAuthn, um componente do sgcWebSockets Enterprise/All-Access construído sobre a biblioteca Indy corrigida que o sgcCustomIndy entrega como complemento. Ele é adicionado automaticamente quando você pede o sgcAuth.

Veja o que ele faz →
Casos de uso

Login, Contas de Serviço e as Suas Próprias APIs

Login com Google ou Microsoft, acesso a API servidor a servidor, smart TVs e quiosques, sessões longas sem pedir login de novo, e Bearer tokens para as suas próprias APIs WebSocket e HTTP. Os dois componentes rodam bem dentro de uma aplicação VCL ou FMX, um serviço ou um processo de console.

A matriz de recursos →
Multiplataforma

HTTPS Puro e Assinatura, Sem Biblioteca Nativa

Nenhum dos dois componentes depende de nada além da pilha de cliente HTTP do runtime Core e das primitivas de criptografia da plataforma, então os dois compilam e rodam onde quer que o Delphi rode. Do Delphi 7 ao RAD Studio 13 e no C++ Builder.

A matriz de recursos →

Páginas de referência de cada componente:

Obtenha um Token, Assine um Token

Configure as opções, então chame um método. Os dois componentes compilam do Delphi 7 ao 13 e no C++ Builder, e as mesmas propriedades são expostas no .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 o navegador; o redirecionamento cai no servidor local
end;

procedure TForm1.OAuth2AccessToken(Sender: TObject);
begin
  Memo1.Lines.Add('Access token recebido.');
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);

  // ou anexe-o a um cliente WebSocket / HTTP diretamente:
  // Client.Authentication.Token.Enabled := True;
  // Client.Authentication.Token.JWT := JWT;
end;

A mesma forma em Object Pascal e em C++ Builder. A matriz completa de recursos →

Três Coisas Que Vale Saber Antes

O que o sgcAuth precisa de você, se você já possui estes componentes, e o que o WebAuthn precisa a mais. As três respostas são curtas, e as três estão nesta página, não nas letras miúdas.

Componentes e concessões
função       componente               concessões / 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

já possui isso?
Tanto o cliente OAuth2 quanto o cliente JWT vêm dentro do
  sgcWebSockets a partir da edição Standard.
O sgcAuth existe para licenciar OAuth2 + JWT sem uma
  edição completa do sgcWebSockets.

O sgcAuth é autônomo

Autônomo, o runtime sgcWebSockets Core está incluído: a pilha de cliente HTTP/TLS pela qual os dois componentes enviam as suas requisições de token, e a maquinaria JSON que interpreta as respostas, tudo em um único instalador, com código-fonte completo na caixa.

Já está na sua edição do sgcWebSockets?

Tanto o cliente OAuth2 quanto o cliente JWT vêm dentro do sgcWebSockets a partir da edição Standard, então se você já possui qualquer edição do sgcWebSockets, já tem os dois componentes. O sgcAuth existe para o caso oposto: suporte aos clientes OAuth2 e JWT sem licenciar uma edição completa do sgcWebSockets.

O WebAuthn precisa do sgcCustomIndy

O login sem senha com WebAuthn é servido pelo TsgcWSAPIServer_WebAuthn, um componente do sgcWebSockets Enterprise/All-Access construído sobre a biblioteca Indy corrigida que o sgcCustomIndy entrega como complemento. O WebAuthn exige o complemento sgcCustomIndy, que é adicionado automaticamente quando você pede o sgcAuth. Já possui uma licença do sgcCustomIndy? Remova a linha adicionada automaticamente do seu carrinho antes do checkout, sem custo extra em nenhum dos dois casos.

Delphi e C++ Builder

O sgcAuth tem como alvo o Delphi 7 até o RAD Studio 13 e o C++ Builder. O instalador de avaliação gratuita é o trial All-Access do sgcWebSockets, então os dois componentes podem ser avaliados hoje mesmo.

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

Cada componente e propriedade →

O sgcAuth fala os padrões publicados OAuth2/OIDC e JWT/JWS, em vez de encapsular um SDK de fornecedor, então o provedor é sua escolha: Google, Microsoft, Auth0, Okta, Keycloak, ou qualquer servidor de autorização compatível com a RFC. Concessões, atualização, revogação e assinatura são todos métodos e eventos de primeira classe, e o código-fonte completo significa que nada no meio do caminho é uma caixa-preta.

Doze Bibliotecas, Uma Caixa de Ferramentas

O sgcAuth é uma das doze bibliotecas de componentes da eSeGeCe para Delphi, C++ Builder e .NET. Elas compartilham convenções, vêm com código-fonte completo e são implantadas sem royalties.

sgcAuth

Cliente OAuth2, cliente JWT e suporte a WebAuthn para Delphi e C++ Builder. Autônomo, com o runtime sgcWebSockets Core incluído.

Saiba mais →

sgcHTTP

Cliente HTTP/2, cliente gRPC e clientes Google Cloud Pub/Sub, Calendar e FCM para Delphi e C++ Builder. Autônomo, com o runtime sgcWebSockets Core incluído.

Saiba mais →

sgcWebSockets

WebSocket, HTTP/2, MQTT, AMQP, WebRTC, IA e mais de 30 integrações de API para Delphi, C++ Builder, Lazarus e .NET. É aqui que vive o runtime Core.

Saiba mais →

sgcMQ

Componentes cliente de MQTT, AMQP 0.9.1 e 1.0, Apache Kafka e STOMP para Delphi e C++ Builder. Autônomo, com o runtime sgcWebSockets Core incluído.

Saiba mais →

sgcSocial

Componentes cliente de Telegram e WhatsApp Business para Delphi e C++ Builder. Autônomo, com o runtime sgcWebSockets Core incluído.

Saiba mais →

sgcHTML

Componentes de HTML e interface do lado do servidor, sobre Bootstrap 5 e htmx, incluindo um componente de UI de login WebAuthn.

Saiba mais →

sgcQUIC

Transporte QUIC bruto e um cliente e servidor HTTP/3, com WebTransport. Um complemento do sgcWebSockets Enterprise.

Saiba mais →

sgcAI

Componentes de IA, LLM e MCP para Delphi e C++ Builder. Sete provedores de LLM por trás de um único componente, além de MCP, embeddings e fala. Autônomo, com o runtime sgcWebSockets Core incluído.

Saiba mais →

sgcOpenAPI

Analisador OpenAPI 3.x, gerador nativo de SDK Pascal, componente servidor OpenAPI, e mais de 1.195 SDKs de nuvem pré-compilados.

Saiba mais →

sgcSign

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

Saiba mais →

sgcBiometrics

Windows Hello, sensores de impressão digital e o Windows Biometric Framework para Delphi e C++ Builder.

Saiba mais →

sgcIndy

Componentes Indy TCP/IP atualizados com TLS moderno, IPv6 e HTTP/2, do Delphi 7 ao 13.

Saiba mais →

Ver preços e licenças Baixar a versão de avaliação gratuita

O Que os Desenvolvedores Dizem

Confiado por desenvolvedores Delphi, C++ Builder, Lazarus e .NET ao redor do mundo.

A biblioteca sgcWebSockets de vocês é muito útil e fácil de configurar. Continuem com o ótimo trabalho!

Simone Moretti Desenvolvedor Delphi

O sgcWebSockets é incrível e o suporte de vocês é o melhor!

Christian Meyer Fundador & CTO

Muito obrigado pela ajuda e pelo suporte, eu adoro os componentes de vocês.

Mark Steinfeld CTO

Você está vendo a visão de Autenticação da eSeGeCe.

Mostre outro ângulo →

Entregue Autenticação, Não uma Biblioteca de Tokens

OAuth2 e JWT em um único pacote, com o runtime sgcWebSockets Core incluído e código-fonte completo na caixa.