Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 带环回的访问令牌的滑动过期_Node.js_Access Token_Loopbackjs - Fatal编程技术网

Node.js 带环回的访问令牌的滑动过期

Node.js 带环回的访问令牌的滑动过期,node.js,access-token,loopbackjs,Node.js,Access Token,Loopbackjs,我已经安装并启用了几个型号。我注意到,访问令牌永远有效,我想以某种方式将这段时间更改为,例如,一小时。但更好的做法是在活动发生时重置此期间(滑动到期) 我已经查过了,但对这个问题一点也不了解。任何帮助/指导都将不胜感激 当您调用登录方法时,您可以(我相信如果您不指定,默认情况下是2周)。然后,您可以通过使用以下中间件实现滑动过期: app.use(loopback.token()); // You should have this already app.use(function(req, re

我已经安装并启用了几个型号。我注意到,访问令牌永远有效,我想以某种方式将这段时间更改为,例如,一小时。但更好的做法是在活动发生时重置此期间(滑动到期)


我已经查过了,但对这个问题一点也不了解。任何帮助/指导都将不胜感激

当您调用登录方法时,您可以(我相信如果您不指定,默认情况下是2周)。然后,您可以通过使用以下中间件实现滑动过期:

app.use(loopback.token()); // You should have this already
app.use(function(req, res, next) {
    // Make sure this middleware is registered after loopback.token
    var token = req.accessToken;
    if (!token) {
        return next();
    }
    var now = new Date();
    if ( now.getTime() - token.created.getTime() < 1000 ) {
        return next();
    }
    req.accessToken.created = now;
    req.accessToken.ttl     = 604800; //one week
    req.accessToken.save(next);
});
app.use(loopback.token());//你应该已经有这个了
应用程序使用(功能(请求、恢复、下一步){
//确保在loopback.token之后注册此中间件
var token=req.accessToken;
如果(!令牌){
返回next();
}
var now=新日期();
if(now.getTime()-token.created.getTime()<1000){
返回next();
}
req.accessToken.created=now;
req.accessToken.ttl=604800;//一周
请求accessToken.save(下一步);
});

感谢您指出这一点。我必须将此代码放在哪个文件中?应该是您定义中间件用法的地方,通常在server.js文件(主文件)中。我们需要在loopback.token(/*config*/)中添加任何配置吗?