假设我有这样的代码:
var api1 = require('api1');
var api2 = require('api2');
var app = express();
app.use('/api1', api1);
app.use('/api2', api2);
这是 api1 模块的代码:
var router = express.Router();
var options = {
jwtFromRequest:ExtractJwt.fromAuthHeader(),
secretOrKey:config.JWTSecret,
algorithms:['HS256']
}
passport.use(new JwtStrategy(options, function(jwt_payload, verify) {
//here I look for the user in database No.1
}));
router.post('/files', passport.authenticate('jwt', { session: false}), function(req, res) {
//...
}
module.exports = router;
这是 api2 模块的代码:
var router = express.Router();
var options = {
jwtFromRequest:ExtractJwt.fromAuthHeader(),
secretOrKey:config.JWTSecret,
algorithms:['HS256']
}
passport.use(new JwtStrategy(options, function(jwt_payload, verify) {
//here I look for the user in database No.2
}));
router.post('/files', passport.authenticate('jwt', { session: false}), function(req, res) {
//...
}
module.exports = router;
这是行不通的。在这两种情况下,如果我对“/api1/files”和“/api2/files”进行 POST,它将在数据库 No2 中查找用户。如果这个问题没有解决方案,使用passport.js api,还有哪些其他可能的方法来处理此类问题?