TsgcWSAPIServer_WebAuthn › イベント › OnWebAuthnRegistrationValidateCredentialId
/register/verify 中に発火し、アプリケーションが新しいクレデンシャル ID がユーザーストアで一意であることを確認できるようにします。
property OnWebAuthnRegistrationValidateCredentialId: TsgcWebAuthnOnRegistrationValidateCredentialId;
// TsgcWebAuthnOnRegistrationValidateCredentialId = procedure(Sender: TObject; const aCredentialId: String; var Accept: Boolean) of object
—
認証応答を検証する際に、クレデンシャルが受け入れられる前に発生します。aCredentialId は認証子によって生成された base64url エンコードされたクレデンシャル ID です。アプリケーションがこのクレデンシャル ID をすでに知っている場合(衝突、リプレイ、盗まれたクレデンシャルなど)は Accept を false に設定してください。サーバーは登録を検証エラーで拒否します。このイベントを使用して、ユーザーデータベースを基にしたグローバルな一意性制約を適用します。
procedure TForm1.sgcWSAPIServer_WebAuthn1WebAuthnRegistrationValidateCredentialId(
Sender: TObject; const aCredentialId: String; var Accept: Boolean);
begin
Accept := not CredentialExists(aCredentialId);
end;