2017-10-02 5 views
0

Ich habe Loopback installiert und ACL für ein paar Modelle aktiviert. Ich habe festgestellt, dass der Access Token für immer gültig ist, ich möchte diesen Zeitraum irgendwie auf beispielsweise eine Stunde ändern. Aber noch besser wäre es, diesen Zeitraum zurückzusetzen, wenn Aktivität auftritt (gleitender Ablauf)Sliding Ablauf für Zugriff Token mit Loopback

Ich habe die documentation überprüft, konnte aber nichts über dieses Thema in Ordnung bringen. Jede Hilfe/Führung wäre willkommen!

Antwort

2

Wenn Sie die Login-Methode aufrufen, können Sie specify a ttl property in seconds (ich glaube standardmäßig 2 Wochen, wenn Sie nicht angeben). Dann können Sie gleitenden Ablauf haben, indem Sie die folgende Middleware haben:

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); 
}); 
+0

Danke für das Hinzeigen. In welcher Datei muss ich diesen Code platzieren? –

+0

Sollte sein, wo Sie Ihre Middlewares Verwendung definiert haben, die in der Regel in Ihrer server.js-Datei ist (die Hauptdatei) –

+0

Vielen Dank, es funktioniert wie ein Charme! –