2017-10-09 6 views
3

J'essaie maintenant d'appliquer un module de passeport dans mes applications.qu'est ce que passport.initialize()? (nodejs express)

Je lis des manuels, et il dit,

app.use(passport.intialize()); 
app.use(passport.session()); 

ce qui est app.use(passport.initialize()) font exactement?

passport.session() est peut-être pour le passeport d'utiliser les informations de session,

Mais je n'ai aucune idée sur le passport.initialize()

Répondre

3

passport.intialize() est un middleware qui initialise Passport.

Middlewares sont des fonctions qui ont accès à l'objet de requête (req), à l'objet de réponse (res) et à la fonction de middleware suivante dans le cycle de requête-réponse de l'application.

Passport est un middleware d'authentification pour Node qui authentifie les demandes. Donc, passport.intialize() initialise le module d'authentification.

passport.session() est un autre middleware qui modifie l'objet request et change la valeur 'user' qui est actuellement l'identifiant de session (du cookie client) en l'objet utilisateur désérialisé véritable. It is explained in detail here.

1

De la documentation Passportjs:

Dans Connect ou Express-base application, passport.initialize() middleware est requis pour initialiser Passport. Si votre application utilise des sessions de connexion persistantes, vous devez également utiliser le middleware passport.session() .

Si nous avons un regard sur la source code, nous pouvons voir que le middleware passport.initialize() ajouter essentiellement instance de passeport pour les demandes entrantes afin que la stratégie d'authentification peut être procéder.
S'il existe une session, elle est également ajoutée aux requêtes.