Как узнать, зарегистрирован ли пользователь в файле passport.js?

Я читал passport.js информацию и образцы в течение двух дней, но я не уверен, что после этого я сделал весь процесс аутентификации.

Как я узнаю, что я зарегистрирован, например, у меня будет панель навигации с кнопкой входа или выхода из системы, есть ли какая-то переменная, например, код ниже?

 if (login)  else  

Если пользователь вошел в систему, passport.js создаст объект user в req для каждого запроса в express.js , который вы можете проверить на наличие в любом промежуточном программном обеспечении:

 if (req.user) { // logged in } else { // not logged in } 

Вы можете создать простую промежуточную программу express.js для этого, которая проверит, зарегистрирован ли пользователь, а если нет – будет перенаправлен на страницу /login :

 function loggedIn(req, res, next) { if (req.user) { next(); } else { res.redirect('/login'); } } 

И используйте его:

 app.get('/orders', loggedIn, function(req, res, next) { // req.user - will exist // load user orders and render them }); 

Если вы хотите использовать его в своих шаблонах, так как ваш пример кода указывает на то, что вы можете создать некоторое промежуточное программное обеспечение, такое как это:

 app.use(function (req, res, next) { res.locals.login = req.isAuthenticated(); next(); }); 

Поместите этот код где-нибудь после установки паспорта.

И затем используйте его в своем шаблоне (пример swig)

 {% if login %}  {% else %}  {% endif %} 
Давайте будем гением компьютера.