Заголовок Passport-local и WWW-Authenticate

Я использую паспортно-локальную стратегию для простого API, который требует аутентификации. Я использую промежуточное программное обеспечение перед всеми моими маршрутами, которое обрабатывает доступ к приложению

var verifyAuth = function(req, res, next) {
    if (req.originalUrl === '/signup' || req.originalUrl === '/login') {
        return next();
    }
    if (req.isAuthenticated()) {
        return next();
    }
    if (req.accepts('text/html')) {
        return res.redirect('/login');
    }
    if (req.accepts('application/json')) {
        res.set('WWW-Authenticate', '???');
        return res.status(401).send({err: 'User should be logged'});
    }
};
app.use(verifyAuth);
  1. Если пользователь подпишется или войдет, я разрешу доступ к этим маршрутам
  2. Если пользователь вошел в систему, я разрешаю доступ
  3. Если пользователь не вошел в систему и, например, находится в браузере, я перенаправляю на /login
  4. Если пользователь не вошел в систему и находится на каком-либо другом устройстве с Accept Header = 'application/json', приложение возвращает 401

Я читал, что используя 401, было бы интересно отправить заголовок WWW-Authenticate с ответом. Они предлагают использовать Basic Auth или OAuth в качестве значений. Какой показатель я должен использовать для локальной стратегии? Я думаю, что было бы также интересно отправить Местоположение с URL для входа в систему?

0 ответов

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