You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

WebAuthn演示在Mac端Safari无法创建凭证问题求助

WebAuthn演示在Mac端Safari无法创建凭证问题求助

看起来你遇到了Safari上WebAuthn创建凭证的棘手问题——明明Chrome还能正常运行那些演示,Safari却在创建两个凭证后彻底没法生成新的,而且你没改任何设置,这确实让人头大。我帮你梳理几个可能的原因和解决方向:

  • 钥匙串访问异常:Safari会把WebAuthn凭证存在系统钥匙串里,说不定是钥匙串里的相关条目出了问题。你可以打开「钥匙串访问」应用,搜索“WebAuthn”或者对应的网站域名,看看有没有锁定、重复或者异常的凭证条目,尝试删除旧的测试凭证后再重试。

  • Safari隐私设置隐性变化:虽然你说没改设置,但有时候系统更新、自动同步可能会悄悄调整相关选项。去「Safari设置-隐私与安全性」里检查这几个点:

    • 确认「允许网站请求使用Touch ID或面容ID」是开启状态;
    • 试试暂时关闭「阻止跨网站跟踪」,再测试demo是否正常;
    • 进入「管理网站数据」,删掉那些WebAuthn demo网站的数据,重启Safari后重试。
  • WebAuthn创建参数兼容性问题:Safari对某些credentials.create()的参数兼容性可能和Chrome有差异,你可以尝试调整这些选项:

    • userVerification设为"preferred"或者"discouraged"(如果之前是"required"的话),避免生物识别验证环节触发异常;
    • attestation设为"none",减少不必要的验证流程;
    • 检查excludeCredentials是否正确包含了之前创建的凭证ID,如果漏了可能导致冲突(不过演示一般会自动处理,但也不妨手动验证下)。
  • 缓存或扩展干扰:试试用Safari的无痕模式测试demo,如果无痕模式能正常创建,说明是正常模式下的缓存或者第三方扩展(比如隐私类、广告拦截类)影响了WebAuthn请求。可以逐一禁用扩展排查,或者清空Safari的全部缓存。

  • 系统或Safari版本bug:如果最近自动更新了macOS或者Safari,可能遇到了版本特有的WebAuthn bug。试试重启你的Mac,或者检查有没有最新的系统更新包安装,更新后再测试。

如果以上方法都不行,还可以尝试重置Safari的所有设置(注意备份书签等数据),或者联系Apple支持反馈这个特定场景的问题。

备注:内容来源于stack exchange,提问作者Randusr

火山引擎 最新活动