Estoy tratando de usar el pasaporte para mi código javascript. Sin embargo, recibo un "JwtStrategy requiere un error secreto o clave". Estoy colaborando con mi amigo en esto. Mientras que el suyo funciona bien, el mío no y no estoy seguro de por qué. Él usa Windows mientras yo uso una Mac, como referencia.
Nuestro código para jwt.js:
const JwtStrategy = require('passport-jwt').Strategy; const ExtractJwt = require('passport-jwt').ExtractJwt; var User = require("./models/user"); const opts = {} opts.jwtFromRequest = ExtractJwt.fromAuthHeaderAsBearerToken(); opts.secretOrKey = process.env.JWT_SECRET_KEY; module.exports = new JwtStrategy(opts, async (jwt_payload, done) => { const user = await User.findOne({email: jwt_payload.email}); if (!user) { return done(null, false) } return done(null, user); })El mensaje de error:
TypeError: JwtStrategy requires a secret or key at new JwtStrategy (/Users/editedUser/Desktop/frods/server/node_modules/passport-jwt/lib/strategy.js:45:15) at Object.<anonymous> (/Users/editedUser/Desktop/frods/server/jwt.js:10:18) at Module._compile (internal/modules/cjs/loader.js:1063:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Module.require (internal/modules/cjs/loader.js:952:19) at require (internal/modules/cjs/helpers.js:88:18) at Object.<anonymous> (/Users/editedUser/Desktop/frods/server/app.js:9:17) at Module._compile (internal/modules/cjs/loader.js:1063:30)Actualización: fue un error estúpido (?) De mi parte. Cuando guardé los archivos .env, estaban en formato .crash. Aparecía en mi buscador como .env, pero en la línea de comando, aparecía como
.env.crashTuve que renombrarlo como
mv .env.crash .envpara que funcione