跳到正文
MuoCeon 文档中心
v1auth 上下文凭据管理

通行密钥

注册 WebAuthn 通行密钥:签发挑战与提交 attestation。

通行密钥是抗钓鱼的登录方式:私钥留在设备的安全芯片里,认证时只出示签名。注册同样分两步。

端点

方法路径说明提权
POST/v1/auth/credentials/passkey/options签发注册挑战max_age=300
POST/v1/auth/credentials/passkey提交 attestation 落库无

第一步:签发挑战

参数类型必填说明
user_verificationpreferred | required可选缺省 preferred
{ "success": true, "options": { "challenge": "...", "rp": { "id": "id.example.com" } }, "expires_in": 300 }

user_verification: required 会让认证器强制校验(PIN 或生物识别),而不是仅仅确认「有人按了一下」。缺省 preferred 是为了兼容没有 UV 能力的实体安全密钥。

挑战保存在服务端。已注册的凭据会出现在 excludeCredentials 里,避免同一台设备被重复注册。

第二步:提交 attestation

参数类型必填说明
responseobject✅RegistrationResponseJSON,原样透传给 WebAuthn 校验
labelstring可选设备名,1–64 字符
{ "success": true, "credential": { "id": "cred_...", "type": "passkey", "display": "MacBook" } }

挑战在验签之前就被消费

失败必须重新走第一步,不能拿同一个挑战重试。这是刻意的:挑战若可复用,一次注册请求就能被重放到多台设备上。

label 建议填:没有它,多把通行密钥在列表里全是同一句文案,用户无法判断该删哪一把。

相关

本页目录