WebAuthn / Passkeys

Adicione autenticação sem senha baseada em passkey ao seu servidor Delphi. Cerimônias de registro e autenticação WebAuthn Level 2 / FIDO2, verificação de attestation e hooks de armazenamento de credenciais.

TsgcWSAPIServer_WebAuthn

Implementa o lado servidor da relying-party WebAuthn — crie desafios de credencial, verifique respostas de navigator.credentials, parse attestation statements e valide assinaturas de assertion.

Classe do componente

TsgcWSAPIServer_WebAuthn

Plataformas

Windows, macOS, Linux, iOS, Android

Edição

Enterprise

Configure a relying party e armazene credenciais

Adicione um TsgcWSAPIServer_WebAuthn a um TsgcWebSocketHTTPServer, configure RpId/RpName e trate OnRegistrationVerify e OnAuthenticationVerify para persistir credenciais.

uses
  sgcWebSocket, sgcWebSocket_Server_APIs;

var
  Server: TsgcWebSocketHTTPServer;
  WebAuthn: TsgcWSAPIServer_WebAuthn;
begin
  Server := TsgcWebSocketHTTPServer.Create(nil);
  Server.Port := 8443;
  Server.SSL  := True;

  WebAuthn := TsgcWSAPIServer_WebAuthn.Create(nil);
  WebAuthn.Server := Server;
  WebAuthn.RelyingParty.Id   := 'example.com';
  WebAuthn.RelyingParty.Name := 'Example RP';

  WebAuthn.OnRegistrationVerify := procedure(Sender: TObject;
    const aRequest: TsgcWebAuthn_RegistrationVerify_Request;
    const aRegistration: TsgcWebAuthn_Registration; const aError: string)
  begin
    // store aRegistration.CredentialId / publicKey / counter / userHandle
  end;

  Server.Active := True;
end;
// uses: sgcWebSocket, sgcWebSocket_Server_APIs
TsgcWebSocketHTTPServer *Server = new TsgcWebSocketHTTPServer(this);
TsgcWSAPIServer_WebAuthn *WebAuthn = new TsgcWSAPIServer_WebAuthn(this);
WebAuthn->Server = Server;
WebAuthn->RelyingParty->Id   = "example.com";
WebAuthn->RelyingParty->Name = "Example RP";
Server->Active = true;

O que está incluído

Um servidor relying-party que transforma um processo Delphi em um endpoint de autenticação com suporte a passkeys.

Cerimônia de registro

OnRegistrationOptions emite PublicKeyCredentialCreationOptions; o navegador invoca navigator.credentials.create(); OnRegistrationVerify valida o attestation e retorna o novo registro de credencial.

Cerimônia de autenticação

OnAuthenticationOptions emite PublicKeyCredentialRequestOptions com os IDs de credencial previamente armazenados; OnAuthenticationVerify valida a assinatura de assertion usando a chave pública armazenada.

Parsing de attestation

Suporta os formatos none, packed, fido-u2f, tpm, android-key, android-safetynet e apple.

Validação de contador

Rastreia o signCount por credencial para detectar autenticadores clonados — se o contador regredir, OnAuthenticationVerify reporta um erro para que você possa agir.

Verificação de usuário

UserVerification pode ser definido como required, preferred ou discouraged por cerimônia — a etapa de validação aplica a escolha.

Registros de credencial

OnAuthenticationOptions fornece o user handle para que você retorne a lista correta de allowCredentials para o login em andamento — o armazenamento é de sua responsabilidade.

Especificações & referências

Fontes oficiais dos padrões implementados por este componente.

Documentação & Demos

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

Ajuda Online — TsgcWSAPIServer_WebAuthn Referência completa de propriedades, métodos e eventos deste componente.
Projeto de Demo — Demos\20.HTTP_Protocol\12.WebAuthn 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 Adicionar Autenticação com Passkey?

Baixe o trial gratuito e traga as passkeys WebAuthn / FIDO2 para o seu servidor Delphi.