Я впервые использую JSON веб-токена (JWT). Я делаю приложение Node.js, используя фреймворк omg-Express. Я хочу использовать JWT для аутентификации. Согласно документам, я возвращаю токен JSON во внешний интерфейс.var tokenData = { username: req.body.username,};var result = { username: req.body.username, token: jwt.sign(tokenData, 'secret', { expiresIn: 60 * 60 })};res.json(result);Но я не знаю, как сохранить этот токен JSON в заголовке моего браузера, чтобы он не потерялся и снова не был отправлен на сервер вместе с заголовком.Как сохранить его в хранилище моего браузера и добавлять в заголовок запроса каждый раз, когда запрос отправляется в бэкэнд?javascript json node.js jwt Источник 21 мая 2017 в 11:224 ответая использую расширение Angular-satellizer для функции входа/регистрации, но я застрял на номере 7. Я не могу сохранить JWT до localStorage. Я проверил инструменты разработчика в chrome, но там нет токена. .controller('loginCtrl', function($scope, $state, $auth, jwtHelper, $window) { $scope.login =...Я хочу реализовать Proof of Possession с асимметричными ключевыми спецификациями . Я хотел бы сохранить RSA в безопасном месте в браузере - я смогу подписать часть запроса закрытым ключом и открытым ключом в рамках JWT проверить запрос. Я не знаю, как импортировать RSA в мой браузер - где я могу...
4Советы по безопасности:Стараюсь быть кратким:файлы cookie(http-только & безопасный флаг) уязвимы для CSRF, но не для XSS.JWT в localstorage уязвим для XSS, но не CSRFЛучшее, что вы можете сделать, - это минимизировать риск:храните JWT в файле cookie, храните csrf_token в localstorageЧтобы сделать его апатридом:Включите csrf_token в полезную нагрузку JWT и проверьте серверную сторону, если JWT csrf_token и csrf_token считаны из localstorage и указаны в заголовке.Это требует, чтобы злоумышленник получил csrf_token через XSS (например, вы используете скомпрометированную стороннюю библиотеку js на своем сайте или не применяете санитарию)А затем ему нужно запустить запрос csrf с помощью csrf_token (например, встроенный тег img src или форма на веб-странице /email)Эта комбинация делает ее намного сложнее для атакующего (но не невозможной).Он обеспечивает тот же уровень безопасности, что и обычная аутентификация на основе сеанса с помощью csrf_tokens, но не требует состояния. 07 августа 2017 в 19:19
1Когда он вернется, храните весь токен в sessionStoragesessionStorage.token = json.access_token;Чтобы получить доступ к полезной нагрузке, разделите токен jwt на его части header.payload.signature и захватите только полезную нагрузкуvar enc = json.access_token.split(".")[1];Затем проанализируйте base64var payload = JSON.parse(window.atob(enc));Затем вы можете захватить и использовать проверенные данные полезной нагрузкиpayload.sub, payload.role ...и т. д 24 мая 2017 в 18:48
0Вы можете использовать веб-хранилище HTML5 или файл cookie для хранения вашего токена JWT и считывания с него всякий раз, когда вы хотите отправить свой запрос в web api.Эта ссылка поможет вам выбрать наилучший вариант для вашего приложения.Надеюсь, это поможет!! 21 мая 2017 в 11:26
0Основываясь на ответе Криса:JWTs никогда не должен храниться в вашем localStorageНа самом деле они даже не должны храниться в ваших файлах cookie, если только вы не можете реализовать очень строгую защиту CSRFПроверьте это для мотивацииJWT как id_token-это как ваши учетные данные пользователяJWT как access_token-это как ваш токен сеансаСамый безопасный вариант-в памяти. Проверьте это для глубокого погружения 19 марта 2020 в 11:22Похожие вопросы:
Загрузка файлов в Angular и JWTTL;DR Как скачать / сохранить файл с помощью аутентификации Angular и JWT, не оставляя токен trail в браузере? Мое приложение Angular/Node защищено через HTTPS и использует JWT для аутентификации....
Где сохранить токен JWT в LaravelНу, у меня есть сценарий, в котором у меня есть rest api, построенный на laravel и управляемый JWT. Затем я использую другой маршрут, чтобы запросить api для токена. Но как только я получу токен...
Лучший способ реализовать JWT?Я создаю аутентификацию JWT, и у меня есть некоторые сомнения: чтобы повысить безопасность, может быть хорошей идеей сохранить в базе данных токен пользователя и каждый раз проверять, совпадает ли...
Как сохранить JWT в localStorageя использую расширение Angular-satellizer для функции входа/регистрации, но я застрял на номере 7. Я не могу сохранить JWT до localStorage. Я проверил инструменты разработчика в chrome, но там нет...
Как сохранить в секрете RSA-закрытый ключ в браузере-реализовать доказательство владения асимметричным ключомЯ хочу реализовать Proof of Possession с асимметричными ключевыми спецификациями . Я хотел бы сохранить RSA в безопасном месте в браузере - я смогу подписать часть запроса закрытым ключом и открытым...
Проверьте JWT в браузереЯ читал о JWT и понимаю, что он состоит из трех частей , а именно: header , payload и signature . Я сохраняю алгоритм хэширования, используемый в заголовках, основную информацию в полезной нагрузке,...
Как сохранить токен JWT в компонентах AngularУ меня есть бэкэнд DRF, работающий JWT для авторизации, у меня есть UserService на моем переднем конце angular, который обрабатывает получение токена, проверку и обновление. Мой вопрос заключается в...
Express - JWT Cookie не хранится в браузереЯ пытаюсь сохранить JWT в файлах cookie в браузере, чтобы я мог продолжать повторно использовать его для выполнения API вызовов через защищенные маршруты. Приведенный ниже код представляет собой...
Где и как сохранить токен JWT ? (наилучшая практика)Я читал, что сохранение токена JWT в localStorage-это плохая практика. https://dev.to/rdegges/please-stop-using-local-storage-1i04 я работаю с ReactJs, а на другой стороне есть API Rest с NodeJs....
Как сохранить и предоставить внешний токен JWT в Kubernetes?Привет, мир ! Моя проблема : У меня есть один кластер kubernetes со многими стручками, которые запускают одно и то же приложение symfony. В этом приложении я делаю запрос на HERE api для...