【问题标题】:Sliding expiration for access token with Loopback使用 Loopback 滑动访问令牌的过期时间
【发布时间】:2018-03-13 07:12:19
【问题描述】:

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

我检查了documentation,但对这个主题没有任何意见。任何帮助/指导将不胜感激!

【问题讨论】:

    标签: node.js access-token loopbackjs


    【解决方案1】:

    当您调用登录方法时,您可以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);
    });
    

    【讨论】:

    • 感谢您指出这一点。我必须将此代码放在哪个文件中?
    • 应该是你定义中间件使用的地方,通常在你的 server.js 文件(主文件)中
    • 我们是否需要在 loopback.token ( /*config*/ ) 中添加任何配置?
    猜你喜欢
    • 2019-04-07
    • 2012-05-10
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    相关资源
    最近更新 更多