Как отправить токен 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

0 ответов

Другие вопросы по тегам