uniCloud中在服务端获取用户uid
jdysya
获取token
首先我们在官网看到,关于云对象中获取用户端token的api
云对象自动管理uni-id
的token。开发者无需手动管理。如果不了解uni-id
,请参考
接口形式
this.getUniIdToken()
示例
module.exports = {
add: function(){
const token = this.getUniIdToken()
if(!token) {
// 登录状态无效
}
}
}
获取的token是一个加密的字符串,如需解开token,拿到用户的uid、role、permission,则需要导入 uni-id-common 公共模块调用 checkToken 方法。详见
调用checkToken方法
这里有点问题,因为我用的这个项目是uni-starter
,按照官网的描述说的是所有的uniCloud项目在创建时都已经默认预置了uni-id-common
,但是看了一下这个项目里创建uni-id
的方法如下
需要注意的是,需要在配置文件中配置好依赖模块的位置 可以在对应的云对象,右键,选择管理公共模块依赖
获取uid
async getUId(){
const userToken = this.getUniIdToken()
const uid = (await uniID.checkToken(userToken)).uid
return uid
}
说明
在服务器根据用户的token解出对应的uid是很有必要的,这样更安全,毕竟前端传过来的数据==并不一定==可靠