GitHub新增安全密钥时发起authenticatorGetAssertion请求的原因探讨
GitHub FIDO2注册流程异常相关问题解答
- 该行为并不普遍:多数主流代码托管平台(比如GitLab、Bitbucket,以及你提到的Codeberg)都会严格遵循CTAP2规范,在注册新密钥阶段不会针对已注册密钥发起
authenticatorGetAssertion请求来检测存在性,只有在需要用户身份验证时才会发起带合法参数的断言调用。 - 不符合旧版CTAP规范:旧版CTAP1(U2F)的注册流程里没有这类检测已注册密钥的逻辑,仅会处理当前的注册请求;而CTAP2规范明确要求,当设备开启
alwaysUv标志时,发起authenticatorGetAssertion请求必须携带pinUvAuthParam参数,GitHub的行为无论对应哪版规范都不达标。 - 补充说明:这种异常操作大概率是GitHub自身实现的特殊遗留逻辑,可能是早期为兼容某些老旧设备添加的,后续没有随规范更新调整,才会和强制启用用户验证的认证器产生冲突。
内容的提问来源于stack exchange,提问作者r4gus
相关产品推荐
相关产品推荐

