WebAuthn / Passkeys

Aggiungi al tuo server Delphi l'autenticazione senza password basata su passkey. Cerimonie di registrazione e autenticazione WebAuthn Level 2 / FIDO2, verifica delle attestation, hook per lo storage delle credenziali.

TsgcWSAPIServer_WebAuthn

Implementa il lato server relying-party di WebAuthn — crea challenge per le credenziali, verifica le risposte di navigator.credentials, parsa gli statement di attestation e convalida le firme di assertion.

Classe del componente

TsgcWSAPIServer_WebAuthn

Piattaforme

Windows, macOS, Linux, iOS, Android

Edizione

Enterprise

Monta il relying party, salva le credenziali

Trascina un TsgcWSAPIServer_WebAuthn su un TsgcWebSocketHTTPServer, configura RpId/RpName e poi gestisci OnRegistrationVerify e OnAuthenticationVerify per persistere le credenziali.

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
    // memorizza 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;

Cosa contiene

Un server relying-party che trasforma un processo Delphi in un endpoint di autenticazione compatibile con le passkey.

Cerimonia di registrazione

OnRegistrationOptions emette le PublicKeyCredentialCreationOptions; il browser invoca navigator.credentials.create(); OnRegistrationVerify convalida l'attestation e restituisce il nuovo record di credenziale.

Cerimonia di autenticazione

OnAuthenticationOptions emette le PublicKeyCredentialRequestOptions con gli ID delle credenziali memorizzate in precedenza; OnAuthenticationVerify convalida la firma di assertion usando la chiave pubblica memorizzata.

Parsing delle attestation

Supporta i formati di statement di attestation none, packed, fido-u2f, tpm, android-key, android-safetynet e apple.

Validazione del counter

Traccia il signCount per credenziale per rilevare authenticator clonati — se il counter regredisce, OnAuthenticationVerify segnala un errore su cui puoi intervenire.

Verifica dell'utente

UserVerification può essere impostato su required, preferred o discouraged per ogni cerimonia — lo step di validazione applica la scelta.

Record delle credenziali

OnAuthenticationOptions ti passa lo user handle in modo che tu restituisca la lista corretta di allowCredentials per il login in corso — lo storage lo progetti tu.

Specifiche e riferimenti

Fonti autorevoli per gli standard implementati da questo componente.

Documentazione e demo

Vai al riferimento del componente, scarica il progetto demo pronto all'uso e prova la versione trial.

Guida online — TsgcWSAPIServer_WebAuthn Riferimento completo di proprietà, metodi ed eventi per questo componente.
Progetto demo — Demos\20.HTTP_Protocol\12.WebAuthn Progetto di esempio pronto all'uso. Incluso nel pacchetto sgcWebSockets — scarica la versione di prova qui sotto.
Documento tecnico (PDF) Funzionalità, guida rapida, esempi di codice per Delphi e C++ Builder e riferimenti alle fonti primarie — solo per questo componente.
Manuale utente (PDF) Manuale completo che copre tutti i componenti della libreria.

Pronto ad aggiungere l'autenticazione con passkey?

Scarica la versione di prova gratuita e porta le passkey WebAuthn / FIDO2 sul tuo server Delphi.