Я читал passport.js
информацию и образцы в течение двух дней, но после этого не уверен, что проделал весь процесс аутентификации.
Как мне узнать, вошел ли я в систему, например, у меня будет панель навигации с кнопкой входа или выхода, есть ли какая-то переменная, такая как код ниже?
if (login)
<button>logout</button>
else
<button>login</button>
node.js
express
passport.js
RMontes13
источник
источник
app.get
,app.post
и т. Д. Если вам нужна другая функциональность, вы должны подробно объяснить это в своем вопросе, а также то, что вы пытаетесь достичь.Если вы хотите использовать его в своих шаблонах, поскольку ваш образец кода, похоже, указывает на то, что вы можете создать промежуточное ПО, такое как это:
Поместите этот код где-нибудь после настройки паспорта.
А затем используйте его в своем шаблоне (пример swig)
источник
app.use(function(req,res,next){
res.locals.login = req.isAuthenticated();
res.locals.user = req.user;
next();
});
isAuthenticated
в следующем запросе выдает false. Не могли бы вы помочь ответить на этот вопрос stackoverflow.com/questions/42842171/…Он явно не документирован , но есть
isAuthenticated()
метод , который вставляетсяreq
по паспорту .Может использоваться следующим образом:
источник
Я искал такое решение и наткнулся на эту страницу. Вопрос в том, как проверить статус входа на стороне клиента.
После входа я скрываю кнопку входа и показываю кнопку выхода. При обновлении страницы я снова вижу кнопку входа в систему вместо кнопки выхода. Единственное решение - сохранить элемент в sessionStorage, если вы используете session (и localStorage, если вы используете JWT). Удалите этот элемент при выходе из системы. Затем при каждой загрузке страницы проверяйте этот элемент sessionStorage и действуйте соответственно.
источник
используйте код ниже внутри app.get () или router.get ()
источник
Хороший вопрос, у меня были некоторые проблемы при попытке реализовать что-то вроде этого, когда есть неаутентифицированный запрос, handlebars пропускает блок if, если переменная res.locals возвращает ложное значение. Чтобы решить эту проблему, вам необходимо настроить промежуточное ПО в файле app.js, чтобы сделать req.user доступным глобально в вашем приложении. Вот так ..
});
В файле заголовка вы можете выполнить эту проверку для аутентифицированного пользователя и отобразить соответствующий контент следующим образом ..
источник