/ / Ako používať dve oddelené pasové inštancie v jednom expresnom serverovom súbore - javascript, node.js, authentication, express, passport.js

Ako používať dve samostatné pasové inštancie v jednom expresnom serverovom súbore - javascript, node.js, authentication, express, passport.js

Mám výslovnú aplikáciu s používateľom a administrátoromoddiel. Obaja budú bežať na rôznych portoch a potrebujú inú autentifikáciu. Vytvoril som app.js, kde som pas a vytvoriť aplikáciu, rovnako ako adminApp. Potom inicializujem pas pre obidva takto:

var passport = require("passport");
var app = express();
var adminapp = express();

adminapp.use(passport.initialize());
adminapp.use(passport.session());

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

Teraz mám definované trasy na počúvanie / auth aspracovanie autentifikácie. Keďže tieto sú spustené na rôznych portoch, majú rovnaké vzory pre trasy a obaja správne počúvajú na svojich portoch. Tak poviem, že mám userSessions.js a adminSessions.js súbory na spracovanie autentifikačných trás. Sú zahrnuté nasledovne:

var userSessions = require("./routes/userSessions");
var adminSessions = require("./routes/adminSessions");

app.use("/auth", userSessions);
adminapp.use("/auth", adminSessions);

Teraz, ak sa pokúšam o autentifikáciu v admin aplikácii, stále ide na passport.serializeUser a passport.deSerializeUser metódy userSessions.js.

Ako môžem zvládnuť túto situáciu, aby sa administrácia a autentifikácia používateľa spracovávala samostatne? Alebo to robím nesprávnym smerom a admin sekcia by mala byť spracovaná v úplne inej aplikácii?

odpovede:

5 pre odpoveď č. 1

Neskúsili, ale môžete hľadať pasy

var Passport = require("passport").Passport,
appPass = new Passport(),
adminappPass = new Passport();