Скользящий срок действия токена доступа с помощью Loopback

Я установил Loopback и включил ACL для нескольких моделей. Я заметил, что токен доступа действителен вечно, хотелось бы как-то изменить этот период, например, на час. Но еще лучше было бы сбросить этот период, когда происходит активность (скользящее истечение)

Я проверил документацию, но ничего не нашел по этому поводу. Любая помощь/рекомендации будут оценены!


person Jeanluca Scaljeri    schedule 02.10.2017    source источник


Ответы (1)


Когда вы вызываете метод входа в систему, вы можете указать 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);
});
person Farid Nouri Neshat    schedule 08.10.2017
comment
Спасибо за указание на это. В какой файл я должен поместить этот код? - person Jeanluca Scaljeri; 13.10.2017
comment
Должно быть там, где вы определили использование своего промежуточного программного обеспечения, которое обычно находится в вашем файле server.js (основной файл). - person Farid Nouri Neshat; 13.10.2017
comment
Нужно ли нам добавлять какую-либо конфигурацию в loopback.token ( /*config*/ )? - person Shivansh Jagga; 03.10.2019