#node.js #api #jwt #token #refresh
#node.js #API #jwt #токен #обновить
Вопрос:
В настоящее время я изучаю, как работает JWT, и я создаю API. Я создал функцию промежуточного программного обеспечения, поэтому для каждого вызова защищенного маршрута вызывается промежуточное программное обеспечение и анализируется доступ. Я передаю токен в заголовке HTTP-запроса в поле авторизация, но вот мой вопрос :
-
кто-нибудь может посмотреть токен доступа в заголовке HTTP-запроса? потому что, если это так, это действительно небезопасно, нет? любой может посмотреть доступ к своему другу и сделать запрос api с помощью?
-
Я уже создаю функцию обновления, чтобы получить новый токен доступа по истечении срока его действия, но в моем /refreshroute нет промежуточного программного обеспечения, потому что срок действия accessToken истекает при вызове refreshroute. Таким образом, /refreshroute также небезопасен и возвращает новый accessToken ….
пожалуйста, помогите мне, я действительно хочу узнать, как это работает…
Ответ №1:
Это зависит от типа соединения, с помощью которого вы отправляете запрос:
- Если запрос отправляется с использованием SSL-шифрования (т.Е. HTTPS), то вам, вероятно, не придется беспокоиться о том, что кто-то просматривает заголовки, поскольку надежное шифрование не позволит никому другому просмотреть запрос, кроме получателя (сервера).
- Однако, если нет шифрования SSL, то полезная нагрузка, отправляемая на сервер, подвергается воздействию и открыта для посторонних глаз и уязвима для атак MITM.
Комментарии:
1. Привет, Арпан! Спасибо за ваш ответ 🙂 и основная часть запроса также защищена в https? Поскольку, когда я выполняю запрос post для обновления моего токена доступа, я передаю refreshToken в теле запроса, защищен ли он также в HTTPS?
2. И чтобы иметь SSL-сертификат, я должен заплатить? Поскольку самоподписанный SSL-сертификат не работает каждый раз (например, он не работает с postman)
3. Есть способы получить бесплатные, например, от letsencrypt. Кроме того, некоторые облачные сервисы предоставляют его бесплатно, и в некоторых случаях настройка практически не требуется
4. Да, тело запроса будет зашифровано.