什么是passport.initialize()? (nodejs express)

我正在尝试在我的应用程序中应用护照模块。

我正在阅读一些手册,并说,

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

什么是app.use(passport.initialize())到底在干什么?

passport.session()也许是为护照使用会话信息,

但我不知道passport.initialize()

passport.intialize()是初始化Passport的中间件。

中间件是可以访问请求对象(req),响应对象(res)和应用程序的请求 – 响应周期中的下一个中间件function的函数。

Passport是一个身份validation中间件,用于对请求进行身份validation。

所以基本上passport.intialize()初始化validation模块。

passport.session()是另一个中间件,用于改变请求对象,并将当前会话ID(从客户端cookie)的“用户”值更改为真正的反序列化的用户对象。 这里详细解释。

从Passportjs文档:

在Connect或基于Express的应用程序中,需要passport.initialize()中间件来初始化Passport。 如果您的应用程序使用持久login会话,则还必须使用passport.session()中间件。

如果我们看一下源代码 ,我们可以看到passport.initialize()中间件基本上将passport实例添加到传入请求中,以便可以继续进行身份validation策略。
如果有会话,它也会被添加到请求中。