问题描述
我通过Pipeline增加了一个功能,(1)每次认证前检测用户注册时间,(2)超过一定期限便拒绝登陆并(3)删除该用户。目前,第一步和第二步都没问题,但第三步始终无效,日志里也没有报错。想请教下是哪里出了问题。
Pipeline代码如下:
async function pipe(user, context, callback) {
const now = Date.parse(new Date());
const signup = Date.parse(user.createdAt);
const past = ( now - signup)/86400000;
if ( past > 0 ) {
return callback(new Error('用户权限到期,如需继续使用,请重新注册!'));
authing.users.delete(user.id);
}
callback(null, user, context)
}
你应该在 return callback(new Error('用户权限到期,如需继续使用,请重新注册!'));
之前调用 authing.users.delete(user.id);
。return
之后后面的代码就不会执行了。
之前试过,也不行啊
async function pipe(user, context, callback) {
const now = Date.parse(new Date());
const signup = Date.parse(user.createdAt);
const past = ( now - signup)/86400000;
// 检测注册时间
if ( past > 0 ) {
authing.users.delete(user.id);
return callback(new Error('用户权限到期,如需继续使用,请重新注册!'));
}
callback(null, user, context)
}
需要加一下 await
:
await authing.users.delete(user.id);
否则删除请求未发出,沙箱环境就被销毁了。