我为几个型号安装了Loopback并启用了ACL。我注意到访问令牌永远有效,我想以某种方式改变这段时间,例如一小时。但更好的方法是在活动发生时(滑动到期)重置这段时间
我已经检查了documentation,但对此主题无能为力。任何帮助/指导将不胜感激!
答案 0 :(得分:7)
当您调用登录方法时,您可以specify a ttl property in seconds(我相信默认情况下,如果您未指定,则为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);
});