目录

认证服务登录状态是否有时效

问题现象

  1. HarmonyOS 开发者中心云开发认证服务的华为账号登录,登录后如果没有登出,登录的状态是不是有时效的?
  2. 如果登录状态是有时效的,失效后是不是就不能对云数据库数据进行更新操作?
  3. 如果登录状态是有时效的,该如何去判断已失效,并重新登录?

解决方案

  1. 即使未主动登出,通过HarmonyOS 开发者中心云开发认证服务进行的华为账号登录状态也是有时效的。

    详细信息请参考官方文档。

  2. 一旦HarmonyOS 开发者中心认证信息失效,端侧用户将暂时失去“认证用户”身份,此时对云数据库的更新(upsert)权限会立即被收回,无法再执行任何需要“认证用户”身份的数据更新操作。详细请参考权限管理。
  3. 判断失效的核心方法推荐“主动+被动”双保险做法。

    主动检测:(App启动或写库前)先取currentUser,再调silentSignIn()拉起华为帐号授权页。

    被动兜底:(调用云端接口时)捕获executeUpsert()等接口返回的401/403或PERMISSION_DENIED。