WebAuthn / Passkeys

Ajoute de l'authentification sans mot de passe basée sur passkeys à ton serveur Delphi. Cérémonies d'enregistrement et d'authentification WebAuthn Level 2 / FIDO2, vérification des attestations, hooks de stockage des credentials.

TsgcWSAPIServer_WebAuthn

Implémente le côté serveur relying-party WebAuthn — crée des challenges de credentials, vérifie les réponses navigator.credentials, parse les attestation statements et valide les signatures d'assertion.

Classe du composant

TsgcWSAPIServer_WebAuthn

Plateformes

Windows, macOS, Linux, iOS, Android

Édition

Enterprise

Monte le relying party, stocke les credentials

Pose un TsgcWSAPIServer_WebAuthn sur un TsgcWebSocketHTTPServer, configure RpId/RpName, puis gère OnRegistrationVerify et OnAuthenticationVerify pour persister les credentials.

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;

Ce qu’il y a à l’intérieur

Un serveur relying-party qui transforme un processus Delphi en endpoint d'authentification compatible passkeys.

Cérémonie d'enregistrement

OnRegistrationOptions émet des PublicKeyCredentialCreationOptions ; le navigateur invoque navigator.credentials.create() ; OnRegistrationVerify valide l'attestation et retourne le nouvel enregistrement de credential.

Cérémonie d'authentification

OnAuthenticationOptions émet des PublicKeyCredentialRequestOptions avec les IDs de credentials précédemment stockés ; OnAuthenticationVerify valide la signature d'assertion avec la clé publique stockée.

Parsing des attestations

Prend en charge les formats d'attestation statement none, packed, fido-u2f, tpm, android-key, android-safetynet et apple.

Validation du counter

Suit le signCount par credential pour détecter les authentificateurs clonés — si le compteur recule, OnAuthenticationVerify rapporte une erreur sur laquelle tu peux agir.

Vérification utilisateur

UserVerification peut être réglé sur required, preferred ou discouraged par cérémonie — l'étape de validation applique le choix.

Enregistrements de credentials

OnAuthenticationOptions te passe le user handle pour que tu retournes la bonne liste allowCredentials pour la connexion en cours — le stockage est à ta charge.

Spécifications et références

Sources de référence pour les standards implémentés par ce composant.

Documentation et démos

Lien direct vers la référence du composant, récupère le projet de démo prêt à exécuter et télécharge l’essai.

Aide en ligne — TsgcWSAPIServer_WebAuthn Référence complète des propriétés, méthodes et événements de ce composant.
Projet de démo — Demos\20.HTTP_Protocol\12.WebAuthn Projet d’exemple prêt à exécuter. Livré dans le paquet sgcWebSockets — télécharge l’essai ci-dessous.
Document technique (PDF) Features, quick start, code samples for Delphi & C++ Builder and primary-source references — this component only.
Manuel utilisateur (PDF) Manuel exhaustif couvrant chaque composant de la bibliothèque.

Prêt à ajouter l'authentification par passkey ?

Télécharge l'essai gratuit et apporte les passkeys WebAuthn / FIDO2 à ton serveur Delphi.