Я использую JWT для защиты URL-адресов узлов js https://github.com/auth0/express-jwt
Чтобы создать сеанс пользователя токена JWT, я просто делаю:
-> auth/signup
-> jwt.sign(user_profile,secret,expireInMinutes:{900000000 /*almost never expires*/});
ИЛИ в случае входа в систему
-> auth/login
-> jwt.sign(user_profile,secret,expireInMinutes:{900000000 /*almost never expires*/});
Каждый раз, когда вызывается защищенный URL-адрес, я проверяю req.user
, который автоматически настраивается промежуточным программным обеспечением JWT.
Теперь мне интересно:
1 - где хранятся токены JWT при вызове sign ()?
2 - должен ли я проверять () токен каждый раз, когда вызывается защищенный URL-адрес? если да, то почему?
3 - Когда я устанавливаю новый токен для уже подписанного пользователя, удаляется ли старый токен (если существует)? Что делать, если срок действия не установлен или составляет, например, 5 лет?
4 - Почему я не могу установить новые токены на той же странице браузера / приложения? Я получаю ошибку неверной подписи, если я регистрирую новый токен, но токен совпадает (я проверил). Это похоже на то, что я не могу войти более 1 пользователя в один и тот же браузер.