Как правильно отправить токен jwt со стороны сервера на сторону клиента?

Долго, но я использую пакет Googles Youtube v3 Data API node.js для входа пользователей и просмотра плейлистов и т. Д. В настоящее время, когда пользователь успешно входит в систему с потоком перенаправления Oauth в Google, вызывается сторона сервера маршрутизации, которая передает код по параметрам запроса URL. Я могу разобрать это, сгенерировать токен с помощью моего oauth2Client, а затем создать подписанный jwt. Прямо сейчас я перенаправляю пользователя на URL-адрес, который имеет подписанный jwt в качестве параметра запроса URL-адреса, который затем анализируется на стороне браузера и сохраняется как токен в локальном хранилище, это мой первый раз, когда я использую что-либо, связанное с jwts, и хочу быть уверен, что делаю все безопасно. Будучи таковым, я не совсем уверен, что то, как я отправляю сторону токен-сервера на клиентскую сторону, является правильным способом, и не совсем уверен, с чего начать.


person t_killah    schedule 10.11.2019    source источник


Ответы (3)


Вы можете передать в ответ, например, res.cookie(key, value)

person Sudhakar    schedule 11.11.2019
comment
res.cookie ('token', token), затем вызов res.redirect (302, response.url), похоже, помог - person t_killah; 19.11.2019

Есть несколько способов передать токен со стороны сервера на сторону клиента.

1) вы можете передать токен в своем ответе 2) вы можете передать токен в заголовке ответа

person Ankur Patel    schedule 11.11.2019

Это неправильный путь. Если сервер отвечает на запрос XHR (исходящий от javascript), то сервер может отправить JWT в теле ответа. Если сервер отвечает на обычный запрос браузера (GET или POST, но не обрабатывается javascript), то проще просто поместить JWT в файл cookie.

person Capi Etheriel    schedule 11.11.2019
comment
Хорошо, да, после некоторого исследования похоже, что я могу в основном вызвать res.cookie (), затем res.redirect (), и это упростит ситуацию. Мне нужно будет проверить это, когда у меня будет секунда. - person t_killah; 12.11.2019