TsgcWSAPIServer_WebAuthn › 事件 › OnWebAuthnAuthenticationOptionsRequest
在 /authenticate/begin 开始时触发;应用程序必须返回为该用户注册的凭证列表,以便服务器构建 PublicKeyCredentialRequestOptions。
property OnWebAuthnAuthenticationOptionsRequest: TsgcWebAuthnOnAuthenticationOptionsRequest;
// TsgcWebAuthnOnAuthenticationOptionsRequest = procedure(Sender: TObject; const aRequest: TsgcWebAuthn_AuthenticationOptions_Request; var CredentialRecords: TsgcWebAuthn_CredentialRecords; var Accept: Boolean) of object
—
身份验证流程的第一个钩子(WebAuthn navigator.credentials.get())。aRequest 包含客户端提供的用户名(可发现凭据流中为空)。处理程序应使用之前为该用户存储的凭据填充 CredentialRecords,服务器将用这些凭据构建 allowCredentials 列表、在验证期间查找公钥并执行传输提示。将 Accept 设为 False 可拒绝该流程(例如,当用户被锁定或未知时)。
procedure TForm1.sgcWSAPIServer_WebAuthn1WebAuthnAuthenticationOptionsRequest(
Sender: TObject; const aRequest: TsgcWebAuthn_AuthenticationOptions_Request;
var CredentialRecords: TsgcWebAuthn_CredentialRecords; var Accept: Boolean);
begin
CredentialRecords := LoadUserCredentials(aRequest.User.Name);
Accept := Length(CredentialRecords) > 0;
end;