Вы можете использовать файл cookie только для http, используя следующее:
public authenticateUser(user: User, res: Response) {
const authJwtToken = this.generateJWT({
email: user.email,
uuid: user.uuid
});
const cookieOptions = {
maxAge: 3600000,
secure: true,
httpOnly: true
};
res.cookie('access_token', authJwtToken, cookieOptions);
}
// you can then res.send({...}) or wtv
Не то чтобы ничто не мешало вам хранить более одного файла cookie, поэтому я не вижу причины, почему бы не хранить оба файла.из них таким же образом.
Теперь, будете ли вы хранить его в базе данных, зависит от того, чего вы хотите достичь.Обычно это не требуется, но имейте в виду, что в этом случае сервер никоим образом не может сделать недействительным один JWT.(Теоретически вы можете изменить ключ подписи, но это приведет к аннулированию всех из них).
В случае, если вы захотите получить такую функциональность, как «Выйти из всех устройств», вам нужно будет сохранитьJWT выпускаются для каждого пользователя в базе данных (предпочтительно в оперативной памяти, такой как Redis или Memcached) и выполняют вторую проверку с дополнительной информацией о том, были ли они признаны недействительными или нет - даже если такая функциональность обычно достигается с помощью сеансов вместоJWT