Я очень новичок в узле.
Я хочу применить пользовательскую аутентификацию, используя passport.js
- all router
.
, используя этот пример.-> https://github.com/passport/express-4.x-http-bearer-example
код ниже - мой сервер / index.js.
const express = require('express');
const path = require('path');
const index = require('./routes/index.js');
const downloadRouter = require('./routes/fileDownload.js');
const app = express();
app.disable("x-powered-by");
app.use('/', express.static(path.join(__dirname, '..', 'dist')));
app.set("src", path.join(__dirname, "../src"));
var passport = require('passport');
var Strategy = require('passport-http-bearer').Strategy;
var db = require('./adminDB');
passport.use(new Strategy(
function(token, cb) {
db.users.findByToken(token, function(err, user) {
if (err) { return cb(err); }
if (!user) { return cb(null, false); }
return cb(null, user);
});
}));
// app.use('/api-test', passport.authenticate('bearer', { session: false
}), function(req, res) {
// res.json({ username: req.user.username, value:
req.user.emails[0].value });
// res.end();
// });
app.use('*', passport.authenticate('bearer', { session: false }),
function(req, res, next) {
console.log("api all before action")
if(!err) {
next();
} else {
res.status(401).end();
}
});
app.use('/download', downloadRouter);
const { PORT = 8080 } = process.env;
app.listen(PORT, () => console.log(`Listening on port ${PORT}`));
// export default app;
я хочу спросить об этой части.
Аннотированные api-test
запчасти отлично справляются с аутентификацией.Однако часть app.use (*) не обрабатывает ее.console.log тоже не работает.Возвращает 200 независимо от процедуры сертификации, выводя исходный экран (index.html).
Как мне выполнить проверку подлинности на всех моих маршрутизаторах и вернуть все экраны обратно на исходный вывод?