Apple的uid过期后是否会变更?Flutter接入苹果登录关联Firebase的uidToken到期会重发吗?
首先明确你提到的「uidToken」需要分两种场景讨论,两种的更新逻辑完全不同:
苹果原生返回的identity token
- 该令牌默认有效期为10分钟,苹果侧不会主动下发新的令牌,也不支持后台静默刷新,只有用户再次主动触发苹果登录授权流程时才能获取到新的有效令牌
- 该令牌仅适合用于首次登录时校验用户身份合法性、完成账号注册/绑定逻辑,不建议长期存储用于后续的身份校验
Firebase Auth生成的ID Token
- 通过Firebase苹果登录后拿到的uidToken通常指的是这一类,默认有效期为1小时,Firebase SDK会自动在后台完成令牌刷新逻辑,不需要你手动处理刷新流程
- 你需要调用时直接执行
FirebaseAuth.instance.currentUser?.getIdToken()即可获取到当前最新的有效令牌,哪怕上一次的令牌已经到期,该方法也会自动触发刷新返回新令牌 - 仅当用户主动登出、账号被Firebase后台禁用/删除时,才会出现令牌刷新失败、无法获取有效令牌的情况
补充建议:如果你的服务端用户管理逻辑需要绑定唯一用户标识,直接存储Firebase返回的固定uid即可,不需要长期存储动态变化的令牌,令牌仅用于每次接口请求时的身份校验即可。
内容的提问来源于stack exchange,提问作者김민진
相关产品推荐
相关产品推荐

