TsgcWSAPIServer_WebAuthn › Ereignisse › OnWebAuthnAuthenticationSuccessful
Wird am Ende von /authenticate/verify ausgelöst, wenn die Assertion-Signatur gültig ist; die Anwendung sollte den Sign-Zähler aktualisieren und die Sitzung herstellen.
property OnWebAuthnAuthenticationSuccessful: TsgcWebAuthnOnAuthenticationSuccessful;
// TsgcWebAuthnOnAuthenticationSuccessful = procedure(Sender: TObject; const aRequest: TsgcWebAuthn_AuthenticationVerify_Request; const aAuthentication: TsgcWebAuthn_Authentication; var Accept: Boolean) of object
—
Letzter Hook einer erfolgreichen Authentifizierungszeremonie. aRequest ist die vom Client gesendete Verify-Nutzlast; aAuthentication enthält die verifizierte Benutzer-ID, den passenden Credential-Datensatz und den neuen Sign-Counter, der vom Authenticator gemeldet wurde. Persistieren Sie den aktualisierten Sign-Counter und alle Backup-/Usage-Flags und setzen Sie dann Accept auf true, damit der Server sein Sitzungstoken ausgibt. Setzen Sie Accept auf false, um im letzten Moment abzubrechen — zum Beispiel, wenn Ihre Risiko-Engine die Anmeldung ablehnt —, in welchem Fall der Client einen Authentifizierungsfehler statt einer Erfolgsantwort erhält.
procedure TForm1.sgcWSAPIServer_WebAuthn1WebAuthnAuthenticationSuccessful(
Sender: TObject; const aRequest: TsgcWebAuthn_AuthenticationVerify_Request;
const aAuthentication: TsgcWebAuthn_Authentication; var Accept: Boolean);
begin
UpdateSignCounter(aAuthentication.CredentialId, aAuthentication.SignCount);
Accept := True;
end;