Passport.js - implizit {user: req.user} an Vorlage übergeben?

8

Wenn ich jetzt Passport.js und Express für mehrere Projekte verwende, habe ich festgestellt, dass ich das immer wieder mache, nämlich { user: req.user } explizit für meine Express-Routen anzugeben. Occassionally vergesse ich, es zu übergeben, und plötzlich ist es so, als wäre der Benutzer nicht mehr eingeloggt.

Wie kann ich eine user Variable in meinen Routen übergeben, ohne sie für jede Route wie diese explizit schreiben zu müssen?

%Vor%

Ich denke everyauth hat einen solchen Express-Helfer, aber Passport.js?

    
Sahat Yalkabov 03.01.2014, 20:36
quelle

1 Antwort

28

Sie könnten dafür eine einfache Middleware verwenden:

%Vor%

Dies wird eine user Variable in allen Vorlagen verfügbar machen, vorausgesetzt dass req.user aufgefüllt ist. Stellen Sie sicher, dass Sie die Middleware deklarieren, nachdem Sie die Middleware passport.session deklariert haben, aber vor allen Routen.

    
robertklep 03.01.2014, 21:18
quelle

Tags und Links