如何使用koa通用会话()的护照?

我创build了一个使用本地身份validation策略的护照的Koa应用程序。 我想使用模块koa-generic-session,这样我就可以将会话数据存储在Redis中。

我如何使用这两个?

我发现这个回购这样做,但它似乎并没有真的使用会议,我不知道这是否是正确的: https : //github.com/dozoisch/koa-react-full-example

(免责声明:我不熟悉Koa,但我使用Express和Passport。)

我已经查看了您提供的链接,以下是他们如何使用koa通用会话和护照。

在server.js文件中,以下几行提到configurationPassport。

08 - const passport = require("koa-passport"); 13 - const config = require("./config/config"); 38 - require("./config/passport")(passport, config); 40 - require("./config/koa")(app, config, passport); 

第38行是传统的护照configuration文件,它简单地设置序列化和反序列化。
第40行带来koa.js,并传递应用程序,configuration文件和护照variables。

以下代码来自koa.js:

 04 - const session = require("koa-generic-session"); 18 - app.keys = config.app.keys; 

看着koa.js,koa通用会话被分配给variables会话。 这个variables稍后在这里被调用:

 35 - app.use(session({ 36 - key: "koareactfullexample.sid", 37 - store: new MongoStore({ url: config.mongo.url }), 38 - })); 

在第18行, app.keys被初始化为koa通用会话调用的文档。 当您链接的项目使用MongoStore和koa通用会话时,您可以简单地用koa-redis构造函数replace该构造函数,如koa-generic-session文档中所示。

最后,护照被初始化:

 41 - app.use(passport.initialize()); 42 - app.use(passport.session()); 

此代码类似于使用Passport和Express,因为Passport需要通过会话来pipe理身份validation。