使用Loopback滑动访问令牌的到期时间

时间:2017-10-02 08:08:02

标签: node.js access-token loopbackjs

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

我已经检查了documentation,但对此主题无能为力。任何帮助/指导将不胜感激!

1 个答案:

答案 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);
});
相关问题