Данные в jsonwebtoken не перезаписываются

Я использую jsonwebtoken на своем сервере js узла, а внутри jsonwebtoken я сохраняю роль пользователя.

Поэтому каждый раз, когда он делает запрос, я просто должен проверить, указана ли в токене требуемая роль. Но могут ли люди изменить эту роль? Я знаю, что все могут видеть это, но я думаю, что никто не может изменить это без моего секрета, верно?

Конечно, я всегда проверяю, что jsonwebtoken правильно подписан. Как вы думаете, этот метод кажется хорошим? Извините, английский не мой основной язык

2 ответа

Если вы измените данные jwt и затем хешируете их с другой подписью, то ваш сервер узнает, что это фальшивый токен

также убедитесь, что вы используете https, чтобы ваши токены не были доступны для прослушивания.

если вы храните свой токен в файле cookie, убедитесь, что файл cookie используется только для http, чтобы предотвратить перехват

Также я рекомендую использовать токен csrf для предотвращения атак csrf

Я предполагаю, что вы храните JWT в Cookie или в LocalStorage на стороне клиента.
Итак, пользователь может удалить или изменить cookie, но он не может прочитать его без вашего секрета.

Поэтому, если он попытается обновить токен, он, вероятно, станет поврежденным и нечитаемым со стороны вашего сервера.

Если токен поврежден, вы, вероятно, захотите выйти из системы и перенаправить пользователя на страницу входа.

Другие вопросы по тегам