我使用了几种办法,都无法正确获取当前登录的用户id,在客户端很容易获取,在云函数中,看文档用校验token的方法,但是始终无法测试通过,不知道为社么?
// 校验token的函数
async function verifyToken(token) {
try {
// 调用 verifyToken 校验 token
const verifyResult = await uniIdCommon.verifyToken(token, {
// 可选配置
ignoreExpired: false, // 是否忽略过期(默认 false)
needUserInfo: true // 是否返回用户信息(默认 false)
});
// 处理校验结果
if (verifyResult.code === 0) {
// 校验成功:获取用户 ID(uid)和其他信息
return {
code: 0,
message: 'token 校验成功',
data: {
userId: verifyResult.uid, // 用户唯一标识(即 userid)
userInfo: verifyResult.userInfo, // 仅当 needUserInfo: true 时返回
tokenInfo: verifyResult.tokenInfo // token 有效期等信息
}
};
} else {
// 校验失败(如 token 过期、无效)
return {
code: verifyResult.code,
message: verifyResult.message || 'token 无效'
};
}
} catch (err) {
return {
code: 500,
message: '校验 token 失败',
error: err.message
};
}
}
结果返回的是:{"code":500,"message":"校验 token 失败","error":"uniIdCommon.verifyToken is not a function"}
1 个回复
DCloud_UNI_yuhe
这个方法的名称,应该是checkToken https://doc.dcloud.net.cn/uniCloud/uni-id/cloud-common.html#checktoken