2017-11-27 10 views
0

나는 Express (v4.15), Passport (v0.4.0) 및 Passport-JWT (v3.0.1)을 가지고 놀고있다. 노드 버전 8.9.0을 사용하고 있습니다.Express Router() 및 Passport Authenticate()

Express.Router()와 passport.authenticate() 호출이 제대로 작동하지 않는 것 같습니다. 여기서 내가 뭘 잘못하고 있니?

./routes/user.js :

var express = require('express'); 
var router = express.Router(); 

router.get('/user', function (req, res) { 
    res.send('Secured Page: user account settings'); 
}); 

module.exports = router; 

./app.js :

var app = require('express')(); 
var passport = require('passport'); 
var passportJWT = require('passport-jwt'); 
var jwt = require('jwt-simple'); 
var Strategy = passportJWT.Strategy; 
var ExtractJWT = passportJWT.ExtractJwt; 

var userDB = require('./userdb'); 
var config = require('./config/config'); 
var params = { 
    secretOrKeyProvider: function (req, rawJWT, done) { done(null, config.jwtSecret); }, 
    jwtFromRequest: ExtractJWT.fromAuthHeaderAsBearerToken() 
}; 

var user = require('./routes/user'); 

// ... 

var strategy = new Strategy(params, function jwtVerify (payload, done) { 
    console.log('payload recieved', payload); 
    // usually this would be a database call 
    var user = userDB[_.findIndex(userDB, {id: payload.id})]; 
    if (user) { 
    done(null, user); 
    } else { 
    done(new Error('User not found'), false); 
    } 
}); 

passport.use(strategy); 

//... 

app.use('/user', passport.authenticate('jwt', {session: false}), user); 

이 내가 우체부에서 무엇을 얻을 : 내 문제를 발견 404 Error In Postman

답변

0

.

router.get('/user', function (req, res) { 

그것은 했어야 :

router.get('/', function (req, res) { 

그것은 '/ 사용자/사용자

될 최종 경로를 일으키는