Есть вебприложение, раньше система авторизации проверяла логин пароль и если все нормально, то происходил редирект на страницу профиля, иначе обратно на страницу авторизации. Как быть, если решил использовать jwt?
Представляется такая схема: клиент отправляет логин и пароль, в ответ получает токен, далее взависимости от ответа сервера клиент сам решает переходить ему на страницу профиля или вводить данные еще раз?
Я правильно себе представляю логику работы?
Так же интересует, как поступать в случае нормальной авторизации по истечению действия токена?
Ведь получается некрасиво будет, если пользователь ходит по сайту и ему в какой то момент при запросе ресурса приходит отлуп, с требованием авторизации.
Сервер сохраняет в куках или отправляет токен клиенту (зависит от вашего проекта)
Если токен был отправлен клиенту, он его сохраняет в sessionStorage или localStorage или еще куда
Клиент обращается к серверу:
— если токен в куке, сервер вытаскивает из куки и проверяет валидность.
— если токен храниться у клиента, он должен отправлять этот токен с каждым запросом на сервер
Ведь получается некрасиво будет, если пользователь ходит по сайту и ему в какой то момент при запросе ресурса приходит отлуп, с требованием авторизации
Можно пересоздавать токен, для этого клиенту не обязательно вводить логин и пароль заново.
а можно подробнее о пересоздании токена? Чиал в инете, но как то не на пальцах, какой то дополнительный токен нужно создавать... Чем плох вариант, если в токене хранить ip клиента и если соответствует, то продлевать? Может и фигня, но мне кажется, что многих неудобств такая схема позволит избежать
Роман: как вариант проверять сколько еще осталось до конца жизни токена и если заканчивается срок , создать новый токен и пересохранить в куках (или отправить клиенту). Хранить в токене IP или нет, это уже вам решать.