WebAuthn / 通行密钥

为您的 Delphi 服务器添加基于通行密钥的无密码身份验证。WebAuthn Level 2 / FIDO2 注册和认证仪式、证明验证、凭据存储钩子。

TsgcWSAPIServer_WebAuthn

实现 WebAuthn 依赖方服务器端 — 创建凭据挑战、验证 navigator.credentials 响应、解析证明声明并验证断言签名。

组件类

TsgcWSAPIServer_WebAuthn

平台

Windows, macOS, Linux, iOS, Android

版本

Enterprise

挂载依赖方,存储凭据

将 TsgcWSAPIServer_WebAuthn 放置于 TsgcWebSocketHTTPServer 上,配置 RpId/RpName,然后处理 OnRegistrationVerify 和 OnAuthenticationVerify 以持久化凭据。

uses
  sgcWebSocket, sgcWebSocket_Server_APIs;

var
  Server: TsgcWebSocketHTTPServer;
  WebAuthn: TsgcWSAPIServer_WebAuthn;
begin
  Server := TsgcWebSocketHTTPServer.Create(nil);
  Server.Port := 8443;
  Server.SSL  := True;

  WebAuthn := TsgcWSAPIServer_WebAuthn.Create(nil);
  WebAuthn.Server := Server;
  WebAuthn.RelyingParty.Id   := 'example.com';
  WebAuthn.RelyingParty.Name := 'Example RP';

  WebAuthn.OnRegistrationVerify := procedure(Sender: TObject;
    const aRequest: TsgcWebAuthn_RegistrationVerify_Request;
    const aRegistration: TsgcWebAuthn_Registration; const aError: string)
  begin
    // 存储 aRegistration.CredentialId / publicKey / counter / userHandle
  end;

  Server.Active := True;
end;
// uses: sgcWebSocket, sgcWebSocket_Server_APIs
TsgcWebSocketHTTPServer *Server = new TsgcWebSocketHTTPServer(this);
TsgcWSAPIServer_WebAuthn *WebAuthn = new TsgcWSAPIServer_WebAuthn(this);
WebAuthn->Server = Server;
WebAuthn->RelyingParty->Id   = "example.com";
WebAuthn->RelyingParty->Name = "Example RP";
Server->Active = true;

内部功能

将 Delphi 进程变为通行密钥感知身份验证端点的依赖方服务器。

注册仪式

OnRegistrationOptions 颁发 PublicKeyCredentialCreationOptions;浏览器调用 navigator.credentials.create()OnRegistrationVerify 验证证明并返回新凭据记录。

认证仪式

OnAuthenticationOptions 颁发带有先前存储凭据 ID 的 PublicKeyCredentialRequestOptions;OnAuthenticationVerify 使用存储的公钥验证断言签名。

证明解析

支持 nonepackedfido-u2ftpmandroid-keyandroid-safetynetapple 证明声明格式。

计数器验证

跟踪每个凭据的 signCount 以检测克隆的身份验证器 — 如果计数器回退,OnAuthenticationVerify 将报告您可以处理的错误。

用户验证

UserVerification 可按仪式设置为 requiredpreferreddiscouraged — 验证步骤强制执行该选择。

凭据记录

OnAuthenticationOptions 提供用户句柄,使您能为进行中的登录返回正确的 allowCredentials 列表 — 存储方式由您自行设计。

规范与参考

本组件所实现标准的权威来源。

文档与演示

直达组件参考,获取可立即运行的演示项目,并下载试用版。

在线帮助 — TsgcWSAPIServer_WebAuthn 本组件的完整属性、方法和事件参考。
演示项目 — Demos\20.HTTP_Protocol\12.WebAuthn 可立即运行的示例项目,随 sgcWebSockets 包一起提供 — 请从下方下载试用版。
技术文档 (PDF) 仅涵盖本组件的功能、快速入门、Delphi 和 C++ Builder 代码示例及主要参考来源。
用户手册 (PDF) 涵盖库中每个组件的综合手册。

准备好添加通行密钥身份验证了吗?

下载免费试用版,为您的 Delphi 服务器引入 WebAuthn / FIDO2 通行密钥。