Как отправить токен JWT, чтобы проверить перед ответом с NodeJs с использованием Fearsjs?
Я делаю административную панель с использованием токена JWT. Я хотел бы, чтобы пользователь мог получить доступ к промежуточному программному обеспечению, только если вошел в систему. Я хочу сделать это, если он вошел в систему, сервер показывает домашнюю страницу, если нет, то он перенаправляется на страницу входа. Ниже мое промежуточное программное обеспечение index.js
const auth = require('feathers-authentication');
const pupils = require('./pupils');
const login = require('./login');
const home = require('./home');
module.exports = function () {
// Add your custom middleware here. Remember, that
// in Express the order matters
const app = this; // eslint-disable-line no-unused-vars
app.use('/pupils.html', pupils());
app.use('/login.html', login());
app.use('/', home());
app.post('/login', auth.express.authenticate('local', { successRedirect: '/', failureRedirect: '/login.html' }));
};
и pupils.js с рулем
const lang = require('../../config/pupils.json');
module.exports = function (options = {}) {
return function login(req, res) {
res.render('home', lang);
};
};
Если я открываю основной путь '/', то он перенаправляет в /login.html
Я пытаюсь подтвердить подлинность моего пользователя ниже кода:
app.authenticate({
strategy: 'local',
email: 'username',
password: 'password'
}).then(function(result){
console.log('Authenticated!', result);
}).catch(function(error){
console.error('Error authenticating!', error);
});
При использовании метода app.authenticate я получаю маркерный объект, который хранится в локальном хранилище, но когда я снова пытаюсь открыть основной путь, я снова перенаправляю в /login.html. Что я делаю не так?
Как я могу сделать таким образом:
1) I open this address http://127.0.0.1:3030:/
2) middleware on the server check if user is logged
3) if logged show home page, if not show login page