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

Jea*_*eri 2 node.js access-token loopbackjs

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

我检查了文档,但对此主题无能为力.任何帮助/指导将不胜感激!

Far*_*hat 8

当您调用登录方法时,您可以在几秒钟内指定ttl属性(我相信默认情况下,如果您未指定,则为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);
});
Run Code Online (Sandbox Code Playgroud)