You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

苹果设备Safari清除缓存后Passkey重复创建及登录问题咨询

Safari清除缓存后重复创建Passkey的问题解答

是否正常?

这种情况是完全正常的,符合WebAuthn标准和苹果Passkey的设计逻辑。

原因解析

  • Passkey不存储于Safari缓存:Passkey保存在苹果设备的iCloud钥匙串(未开启同步则存在本地钥匙串)中,和Safari的普通缓存属于完全独立的存储区域,清除缓存不会删除已创建的Passkey。
  • 浏览器本地关联状态丢失:清除缓存后,浏览器丢失了与服务端关联的会话信息、已注册Passkey的本地绑定记录。此时调用navigator.credentials.create()时,客户端无法识别当前服务端(RP ID)下已有可用Passkey,再加上服务端可能因为会话丢失未验证出用户已注册身份,就会触发新的Passkey创建流程。
  • Passkey唯一性判定规则:Passkey的唯一性由服务端依赖方ID(RP ID)、用户ID、凭证类型共同决定。如果服务端在用户清除缓存后未正确识别其身份状态,就会允许创建新的凭证,最终导致同一用户同一服务端下存在多个Passkey。

清除缓存后的登录操作说明

清除Safari缓存后执行Passkey登录时:

  • 浏览器仍可从钥匙串中检索到所有已创建的Passkey,你会看到对应服务端的多个Passkey选项。
  • 选择任意一个Passkey都能完成登录,因为所有Passkey都绑定了同一用户身份和服务端ID,服务端会正常验证凭证合法性并通过。
  • 若想避免生成多个Passkey,建议在调用navigator.credentials.create()前,先调用navigator.credentials.get()检查是否已有可用凭证,或者确保服务端先完成用户身份验证,再发起Passkey创建请求。

内容的提问来源于stack exchange,提问作者Bartosz M.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 13:27:41