En primer lugar, si estoy haciendo una pregunta obviamente estúpida, me disculpo de antemano.
Tengo una configuración de estrategia de autenticación de pasaporte actualmente y funciona bien. La implementación es la siguiente.
Estrategia de autenticación (authentication.js):
const passport = require("passport"); const passportJWT = require("passport-jwt"); const params = { //Params here }; module.exports = function LocalStrategy() { let strategy = new Strategy(params, function (payload, done) { //Logic here }); passport.use(strategy); return { initialize: function () { return passport.initialize(); }, authenticate: function () { return passport.authenticate("jwt", { session: false }); } }; };Usando en una ruta:
const localAuth = require('./authentication/LocalStrategy')(); app.get('/test', localAuth.authenticate(), (req, res) => { res.json(req.isAuthenticated()); });En el archivo server.js
const localAuth = require('./authentication/LocalStrategy')(); app.use(localAuth.initialize());Estoy planeando usar múltiples estrategias de autenticación en una sola ruta y encontré esta implementación . Pero en lugar de tener la estrategia de autenticación escrita en el mismo servidor.js, quiero tener la estrategia escrita en un archivo externo (en mi caso, autenticación.js) y referir la estrategia en la ruta como
passport.authenticate(['SOME_OTHER_STRATEGY', 'jwt']¿Cómo puedo implementar esto?
Ok, aparentemente no me estaba esforzando lo suficiente, no tuve que hacer ningún cambio en mi lógica actual que no sea serializeUser y deserializeUser. y solo usa:
passport.authenticate(['SOME_OTHER_STRATEGY', 'jwt'])eso es todo