Ich benutze Passport-jwt Strategie für die Authentifizierung in Express-Projekt,passport.authenticate nicht ausgeführt auf einer Strecke
hier ist mt Pass-jwt config in diesem Verzeichnis: /config/passport.js
var JwtStrategy = require('passport-jwt')
\t .Strategy,
\t ExtractJwt = require('passport-jwt')
\t .ExtractJwt;
var User = require(__dirname + '/../models/user');
var config = require(__dirname+ '/database');
module.exports = function(passport) {
console.log("here: passport-jwt");
\t var opts = {}
\t opts.jwtFromRequest = ExtractJwt.fromAuthHeader();
\t opts.secretOrKey = config.secret;
\t passport.use(new JwtStrategy(opts, function(jwt_payload, done) {
\t \t User.findOne({
\t \t \t id: jwt_payload.id
\t \t }, function(err, user) {
\t \t \t if (err) {
\t \t \t \t return done(err, false);
\t \t \t }
\t \t \t if (user) {
\t \t \t \t done(null, user);
\t \t \t } else {
\t \t \t \t done(null, false);
\t \t \t }
\t \t });
\t }));
};
und auf dem Konto Route in /routes/account.js Verzeichnis ich nenne es so:
var passport = require('passport');
require(__dirname + '/../config/passport')(passport);
router.post('/', passport.authenticate('jwt', {
session: false
}), function(req, res) { ... }
aber das Problem ist Pass-Funktion für die Authentifizierung wird nicht ausgeführt. und "hier: Pass-jwt" wurde nicht gezeigt.
wo ist das Problem?
Ich habe versucht, dies aber das Problem ist immer noch da. und die Methode der Route ist Post (vielleicht ist es einen Unterschied machen). – Pourya8386