Я применил локальную и стратегию Google для своего приложения стека MEAN с использованием Passport. Я могу войти в систему локально. Я также могу получить токен от Google на стороне клиента. Я хочу, чтобы иметь возможность сохранить логин, если пользователь использует доверенное устройство. Когда я закрываю браузер; однако пользователь должен снова войти в систему или сервер узла отказывается от соединения. Код авторизации выглядит так:
function isLoggedIn(req, res, next) {
if(req.isAuthenticated()){
return next();
}
}
Каков наилучший способ сохранения авторизации для локальных и google-стратегий? Я думал о создании токена для локальной стратегии, а затем задал заголовки для передачи токена в Angular и авторизации, просмотрев токен в узле. Имеет ли смысл этот подход?
Заранее спасибо.
Создание маркера - хорошая идея, но она еще не делает аутентификацию постоянной. Используйте, например. localStorage, чтобы сохранить токен в браузере. localStorage - это постоянный способ хранения информации на стороне клиента.
Существует несколько популярных способов аутентификации на токенах. Тот, который работает так, как вы описали, - jsonwebtoken (ссылка для Node.js).