WebAuthn Registration | Request

Diese Registrierungsoptionsanfrage ist wesentlich, um die WebAuthn-Registrierung sicher zu starten. Sie fordert den Server auf:

 

 

Der Browser muss Optionen zur Erstellung von Anmeldeinformationen vom Server abrufen, um eine sichere WebAuthn-Registrierung von Anmeldeinformationen zu initiieren. Dies geschieht typischerweise über eine HTTPS-POST-Anfrage vom Browser an einen Server-Endpunkt (z. B. /sgcWebAuthn/Registration/Options), der Parameter wie die Challenge, RP-ID und Benutzerinformationen vorbereitet.

 

Der Anfragetext enthält Daten, die den Benutzer identifizieren und möglicherweise Konfigurationspräferenzen bereitstellen. Er sieht oft wie folgt aus:

 

{
"username": "alice@example.com",
"displayName": "Alice Smith",
"authenticatorSelection": {
"authenticatorAttachment": "platform", // optional: platform or cross-platform
"userVerification": "preferred" // optional: required | preferred | discouraged
},
"attestation": "none", // or "direct", "indirect"
"residentKey": "discouraged" // optional
}

 

Die WebAuthn-Server-Komponente lauscht auf dem in der Eigenschaft EndpointOptions.RegistrationOptions konfigurierten Endpunkt auf die anfängliche Browser-Anfrage, um eine PublicKeyCredentialCreationOptions zu erhalten. Wenn der Server eine neue HTTP-Anfrage empfängt, wird das Ereignis OnWebAuthnRegistrationOptionsRequest aufgerufen, und Sie können auf die vom Client gesendete Anfrage zugreifen und die Anfrage abbrechen, indem Sie den Parameter Accept auf False setzen.

 


procedure OnWebAuthnRegistrationOptionsRequest(Sender: TObject; const aRequest: TsgcWebAuthn_RegistrationOptions_Request; var Accept: Boolean);
begin
  if aRequest.Username = 'anonymous' then
    Accept := False;
end;