OAuth 2.0 Server

Protetor OAuth 2.0 server-side para servidores HTTP e WebSocket do sgcWebSockets. Verifique access tokens via validação JWT ou introspecção RFC 7662.

TsgcHTTP_OAuth2_Server

Componente leve de resource-server — verifica tokens Bearer de entrada via verificação de assinatura JWT ou introspecção de token RFC 7662 e expõe as claims analisadas para sua aplicação.

Classe do componente

TsgcHTTP_OAuth2_Server

Plataformas

Windows, macOS, Linux, iOS, Android

Edição

Enterprise

Adicione, vincule ao servidor e aceite tokens

Configure a chave JWT (ou URL de introspecção), depois vincule ao TsgcWebSocketHTTPServer.OAuth2 — as requisições de entrada são verificadas por token antes do seu handler ser disparado.

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;

O que está incluído

Componente resource-server que protege endpoints HTTP e WebSocket com access tokens validados por JWT ou introspecção.

Validação JWT

Verificador JWT integrado (HS / RS / ES / EdDSA) contra uma chave estática ou um endpoint JWKS — sem round trip ao emissor para tokens self-contained.

Introspecção de token

Defina OAuth2Options.IntrospectionURL conforme RFC 7662 — o componente faz POST do token recebido ao emissor e armazena em cache o resultado ativo/inativo com TTL.

Aplicação de escopo

Adicione OAuth2Options.RequiredScope para limitar o acesso a tokens que carregam o escopo escolhido. OnAuthError reporta o motivo da rejeição.

Compatível com WebSocket

Funciona tanto com requisições HTTP quanto com upgrades WebSocket — o header Authorization do upgrade (ou token de query) é verificado antes de OnConnect.

Hook OnVerify

Implemente OnVerify para verificações customizadas de claims (aud multi-tenant, mapeamento dinâmico de escopo, status da conta). Retorne Accept = False para retornar 401 imediatamente.

Componente irmão Provider

TsgcHTTP_OAuth2_Server_Provider transforma este componente em um servidor de autorização completo (emissor): endpoints de authorize, token e revoke com armazenamento persistente de clientes/refresh tokens.

Especificações & referências

Fontes oficiais dos padrões que este componente implementa.

Documentação & Demos

Acesse a referência do componente, obtenha o projeto de demo pronto para executar e baixe o trial.

Ajuda Online — TsgcHTTP_OAuth2_Server Referência completa de propriedades, métodos e eventos deste componente.
Projeto de Demo — Demos\20.HTTP_Protocol\02.OAuth2_Authentication Projeto de exemplo pronto para executar. Incluído no pacote sgcWebSockets — baixe o trial abaixo.
Documento Técnico (PDF) Recursos, quick start, exemplos de código para Delphi & C++ Builder e referências primárias — somente este componente.
Manual do Usuário (PDF) Manual abrangente cobrindo todos os componentes da biblioteca.

Pronto para Proteger APIs com OAuth 2.0?

Baixe o trial gratuito e adicione validação de tokens OAuth 2.0 aos seus servidores Delphi.