WebAuthn-Server (TsgcWSAPIServer_WebAuthn) — sgcWebSockets | eSeGeCe

WebAuthn / Passkeys

Fügen Sie Ihrem Delphi-Server eine passwortlose Authentifizierung auf Passkey-Basis hinzu. WebAuthn Level 2 / FIDO2 Registrierungs- und Authentifizierungsabläufe, Attestierungsverifizierung und Hooks für die Anmeldedaten-Speicherung.

TsgcWSAPIServer_WebAuthn

Implementiert die WebAuthn-Serverseite der vertrauenden Partei (Relying Party) — erstellt Anmeldedaten-Challenges, verifiziert navigator.credentials-Antworten, parst Attestierungsanweisungen und validiert Assertion-Signaturen.

Komponentenklasse

TsgcWSAPIServer_WebAuthn

Plattformen

Windows, macOS, Linux, iOS, Android

Edition

Enterprise

Relying Party einbinden, Anmeldedaten speichern

Platzieren Sie einen TsgcWSAPIServer_WebAuthn auf einem TsgcWebSocketHTTPServer, konfigurieren Sie RpId/RpName und behandeln Sie anschließend OnRegistrationVerify und OnAuthenticationVerify, um die Anmeldedaten zu speichern.

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;

Was steckt drin

Ein Relying-Party-Server, der einen Delphi-Prozess in einen Passkey-fähigen Authentifizierungs-Endpunkt verwandelt.

Registrierungsablauf

OnRegistrationOptions stellt PublicKeyCredentialCreationOptions aus; der Browser ruft navigator.credentials.create() auf; OnRegistrationVerify validiert die Attestierung und gibt den neuen Anmeldedaten-Datensatz zurück.

Authentifizierungsablauf

OnAuthenticationOptions stellt PublicKeyCredentialRequestOptions mit den zuvor gespeicherten Anmeldedaten-IDs aus; OnAuthenticationVerify validiert die Assertion-Signatur mithilfe des gespeicherten öffentlichen Schlüssels.

Attestierungs-Parsing

Unterstützt die Attestierungs-Anweisungsformate none, packed, fido-u2f, tpm, android-key, android-safetynet und apple.

Zähler-Validierung

Verfolgt den signCount pro Anmeldedatum, um geklonte Authentifikatoren zu erkennen — wenn der Zähler zurückgeht, meldet OnAuthenticationVerify einen Fehler, auf den Sie reagieren können.

Benutzerverifizierung

UserVerification kann pro Ablauf auf required, preferred oder discouraged gesetzt werden — der Validierungsschritt erzwingt die Auswahl.

Anmeldedaten-Datensätze

OnAuthenticationOptions übergibt Ihnen das User-Handle, sodass Sie die richtige Liste von allowCredentials für den laufenden Login zurückgeben — die Speicherung gestalten Sie selbst.

Spezifikationen und Referenzen

Maßgebliche Quellen für die Standards, die diese Komponente implementiert.

Dokumentation & Demos

Springe direkt zur Komponentenreferenz, lade das einsatzbereite Demo-Projekt herunter und teste die Testversion.

Online-Hilfe — TsgcWSAPIServer_WebAuthn Vollständige Eigenschaften-, Methoden- und Ereignisreferenz für diese Komponente.
Demo-Projekt — Demos\20.HTTP_Protocol\12.WebAuthn Einsatzbereites Beispielprojekt. Im sgcWebSockets-Paket enthalten — lade unten die Testversion herunter.
Technisches Dokument (PDF) Funktionen, Schnellstart, Codebeispiele für Delphi & C++ Builder und Primärquellenreferenzen — nur für diese Komponente.
Benutzerhandbuch (PDF) Umfassendes Handbuch zu jeder Komponente der Bibliothek.

Bereit, Passkey-Authentifizierung hinzuzufügen?

Laden Sie die kostenlose Testversion herunter und bringen Sie WebAuthn / FIDO2 Passkeys auf Ihren Delphi-Server.