Nano Hash - криптовалюты, майнинг, программирование

Использование JWT для авторизации в узле

Итак, я следил за курсом Udemy, который использует POSTMAN для обучения аутентификации, но мне было интересно, как это работает в реальном приложении, использующем браузер. Нас учат хранить токен JWT с помощью res.header('x-auth-token', token). И затем, когда мы пытаемся получить доступ к защищенному маршруту, мы вручную добавляем токен в заголовок POSTMAN и получаем токен с req.header('x-auth-token') на сервере и проверяем токен.

Но в реальном приложении я вошел в систему с помощью браузера, и он действительно установил заголовок с токеном, но как только я ввожу URL-адрес, чтобы перейти по требуемому пути с ограниченным/проверенным подлинностью, скажем, /user/profile, он спрашивает чтобы я мог снова войти в систему. Токен не переносится, когда я ввожу новый URL-адрес?

Как мне сделать так, чтобы токен переносился в браузере до истечения срока его действия?


  • Ваш вопрос не ясен, если вам нужно использовать токен, вы должны хранить его где-то вроде localStorage в браузерах, и если вы спрашиваете о предоставлении токена для всех запросов в вашем приложении, не стесняйтесь читать о interceptors 29.08.2020

Ответы:


1

Подобно тому, как вы вручную добавляете токен в каждый запрос с помощью POSTMAN, ваше приложение на стороне клиента должно обрабатывать (очевидно, в координации с сервером), как вы отправляете токен на сервер. Он не будет автоматически выполняться при каждом запросе. Вам необходимо сохранить токен JWT, возвращенный сервером.

Если вы сохраните токен JWT в файле cookie, браузер будет отправлять токен каждый раз, когда вы делаете запрос. Но также рекомендуется не использовать cookie. Проверьте различные способы хранения токена JWT на стороне клиента и повторного добавления токена в каждый будущий запрос до выхода из системы. Существует также концепция токена обновления для получения нового токена в случае, если срок его действия истек.

Посетите следующие блоги, чтобы получить дополнительную информацию. Вы также можете найти другие ресурсы в Интернете.

https://hasura.io/blog/best-practices-of-using-jwt-with-graphql/

https://blog.nextzy.me/implementing-json-web-token-jwt-to-secure-your-app-c8e1bd6f6a29

29.08.2020
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..