db.setUser设置用户角色或id

怒海狂鲨
- 发布:2023-06-05 18:28
- 更新:2023-06-06 11:39
- 阅读:274
产品分类: uniCloud/App
操作步骤:
预期结果:
db.setUser设置同一个用户的角色和用户id应该都可以通过权限验证
db.setUser设置同一个用户的角色和用户id应该都可以通过权限验证
实际结果:
db.setUser设置用户角色可以通过权限验证,设置同一个用户的用户id却不行
db.setUser设置用户角色可以通过权限验证,设置同一个用户的用户id却不行
bug描述:
如图,我用uni-id-common的校验token接口,拿到了用户id(uid)和角色(role),用db.setUser设置uid,结果权限验证不通过
但是我改为setUser里设置role角色,却可以通过,都是同一个用户的,都是uni-id-common的校验token接口返回的参数,按理它应该根据uid自己去查角色吧
怒海狂鲨 (作者)
哦
2023-06-07 08:35
怒海狂鲨 (作者)
uni-id-co的注册和登录接口,把返回的token拿去校验,只能校验出用户id和角色,如何搞到这个角色对应的权限?我看uni-id-common的生成token接口能存权限,但是uni-id-co的注册和登录好像没存权限。
2023-06-07 08:46
DCloud_uniCloud_VK
回复 怒海狂鲨: 你直接传云对象的clientInfo 就可以了, 这样就是当前用户了. 在云函数中则传 event 即可
2023-06-07 11:16
DCloud_uniCloud_VK
2023-06-07 11:17
DCloud_uniCloud_VK
上面那样写,就不需要setUser了, 就是当前登录用户
2023-06-07 11:17
DCloud_uniCloud_VK
云对象是这样写
2023-06-07 11:18
怒海狂鲨 (作者)
试了,不行,说是用户匿名身份,是不是因为我用url调云对象的原因?因为我前端不是uni-app项目,只能url化
2023-06-07 14:08
怒海狂鲨 (作者)
我改uni-id-co源码,里面生成token时,我拿到权限再加上去。。。
2023-06-07 14:09