greenPro/uni_modules/uni-id/readme.md

1.8 KiB
Raw Blame History

文档已移至uni-id文档

一般uni-id升级大版本时为不兼容更新从低版本迁移到高版本请参考uni-id迁移指南

重要升级说明

uni-id 3.x版本搭配的uniCloud admin版本需大于1.2.10。

缓存角色权限

uni-id 3.0.0支持在token内缓存用户的角色权限默认开启此功能各登录接口的needPermission参数不再生效。如需关闭请在config内配置"removePermissionAndRoleFromToken": true

为什么要缓存角色权限?要知道云数据库是按照读写次数来收取费用的,并且读写数据库会拖慢接口响应速度。未配置"removePermissionAndRoleFromToken": true的情况下可以在调用checkToken接口时不查询数据库获取用户角色权限。

详细checkToken流程如下

可以看出旧版tokenremovePermissionAndRoleFromToken为true时生成的在checkToken时如需返回权限需要进行两次数据库查询。新版token不需要查库即可返回权限信息。

注意

  • 由于角色权限缓存在token内可能会存在权限已经更新但是用户token未过期之前依然是旧版角色权限的情况。可以调短一些token过期时间来减少这种情况的影响。
  • admin角色token内不包含permission如需自行判断用户是否有某个权限要注意admin角色需要额外判断一下写法如下
    const {
      role,
      permission
    } = await uniID.checkToken(event.uniIdToken)
    if(role.includes('admin') || permission.includes('your permission id')) {
      // 当前角色拥有'your permission id'对应的权限
    }