Cómo usar dos instancias de pasaporte separadas en un solo archivo de servidor express

Tengo una aplicación express con una sección de usuario y administrador. Ambos se ejecutarán en diferentes puertos y necesitarán una autenticación diferente. Creé un app.js donde incluyo pasaporte y creo una aplicación, así como adminApp. Luego inicializo el pasaporte para ambos de la siguiente manera:

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());

Ahora tengo rutas definidas para escuchar / auth y manejar la autenticación. Como los estoy ejecutando en diferentes puertos, tengo los mismos patrones para las rutas, y ambos escuchan correctamente en sus puertos. Entonces digamos que tengo unuserSessions.js yadminSessions.js archivos para manejar las rutas de autenticación. Estos se incluyen de la siguiente manera:

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

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

Ahora, si trato de autenticarme en la aplicación de administración, todavía va apassport.serializeUser ypassport.deSerializeUser métodos deuserSessions.js.

¿Cómo puedo manejar esta situación para que la autenticación de administrador y usuario se maneje por separado? ¿O estoy haciendo esto de manera incorrecta y la sección de administración debería manejarse en una aplicación completamente diferente?

Respuestas a la pregunta(1)

Su respuesta a la pregunta