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

是否应将Refresh Tokens与FIDO2认证结合使用?

原生应用中Refresh Token与FIDO2认证结合的合理性探讨

针对原生应用的OpenID Connect认证流程,可选择性返回能安全存储在设备上的长效Refresh Token。用户后续只需用密码或生物特征解锁存储的Refresh Token,就能通过令牌交换完成身份验证——本质上,Refresh Token让用户不用再输入用户名+密码/OTP,仅靠密码或生物特征就能完成验证,以此提升用户体验(CX)。

而在FIDO2认证中,用户是通过平台认证器完成验证的,比如Touch ID、Face ID或Windows Hello,具体取决于设备和平台。

从用户体验角度看,用平台认证器验证和用密码/生物特征解锁Refresh Token的作用类似。那么,将Refresh Token与FIDO2认证结合使用是否合理?

支持理由

  • Access Token通常有效期较短(比如15分钟),如果用户会话时长超过这个期限,应用可以用已解锁的Refresh Token交换获取新令牌。当然也有无需Refresh Token的替代方案,比如采用PKCE流程的静默认证,或是在认证请求中使用prompt=none参数。
  • 相比FIDO2认证,用密码或生物特征解锁Refresh Token的用户体验略好:用户不需要离开原生应用,而遵循原生应用认证最佳实践(BCP)的FIDO2认证,仍需要打开外部浏览器(或应用内浏览器标签页)访问授权服务器。
  • 部分用户可能更倾向使用外部认证器,而且不是所有用户的设备都内置平台认证器——我们不该对用户的使用场景做任何预设。

反对理由

  • 不用处理Refresh Token可以减少部分安全风险。
  • 能实现更一致的身份验证用户体验(UX)。
  • 可以让原生应用和Web应用的身份验证体验保持一致(Web应用通常不使用Refresh Token)。
  • 配置Refresh Token需要额外的工作量,比每次直接访问授权服务器更繁琐。

我认为将Refresh Token与FIDO2认证结合使用仍具备合理性,欢迎大家分享各自的见解。

内容的提问来源于stack exchange,提问作者Ryan.Bartsch

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:50:12