TsgcWSAPIServer_WebAuthn › イベント › OnWebAuthnAuthenticationSuccessful
アサーション署名が有効な場合に /authenticate/verify の終わりで発生します。アプリケーションはサインカウンターを更新し、セッションを確立する必要があります。
property OnWebAuthnAuthenticationSuccessful: TsgcWebAuthnOnAuthenticationSuccessful;
// TsgcWebAuthnOnAuthenticationSuccessful = procedure(Sender: TObject; const aRequest: TsgcWebAuthn_AuthenticationVerify_Request; const aAuthentication: TsgcWebAuthn_Authentication; var Accept: Boolean) of object
—
認証セレモニー成功の最終フックです。aRequest はクライアントから送信された検証ペイロードで、aAuthentication は検証されたユーザー ID、一致する認証情報レコード、オーセンティケーターから報告された新しいサインカウンターを保持します。更新されたサインカウンターとバックアップ/使用フラグを永続化し、サーバーがセッショントークンを発行できるように Accept を true に設定します。リスクエンジンがログインを拒否する場合など、最後の段階で中断するには Accept を false に設定します。その場合、クライアントは成功レスポンスの代わりに認証エラーを受け取ります。
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;