(Disclaimer: io non sono a conoscenza Koa, ma Sono con Express e Passport.)
Ho guardato attraverso il link che hai fornito, ed ecco come usano koa-generico-sessione con passaporto.
Nel file server.js, le seguenti righe si riferiscono alla configurazione di Passport.
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);
La riga 38 è il tradizionale file di configurazione del passaporto, che semplicemente imposta la serializzazione e la deserializzazione.
La riga 40 introduce koa.js e le passa l'app, il file di configurazione e le variabili del passaporto.
Il seguente codice è da koa.js:
04 - const session = require("koa-generic-session");
18 - app.keys = config.app.keys;
Guardando koa.js, koa-generic-sessione viene assegnato alla sessione variabile. Questa variabile è chiamato più tardi qui:
35 - app.use(session({
36 - key: "koareactfullexample.sid",
37 - store: new MongoStore({ url: config.mongo.url }),
38 - }));
On line 18, app.keys
viene inizializzato come la documentazione per koa-generic-session inviti a presentare. Mentre il progetto che hai collegato utilizza un MongoStore con koa-generic-session, puoi semplicemente sostituire quel costruttore con un costruttore koa-redis, come mostrato nella documentazione koa-generic-session.
Infine, passaporto viene inizializzato:
41 - app.use(passport.initialize());
42 - app.use(passport.session());
Questo codice è simile all'utilizzo di Passaporto con espresso, come questo è tutto passaporto deve gestire l'autenticazione attraverso una sessione.