Мой SPA использует React в качестве внешнего интерфейса и laravel API в качестве внутреннего.
Когда пользователь входит в систему (через axios и api), api возвращает доступ (токен Bearer) в качестве ответа.Я использую фреймворк реагирования на cookie-файлы для хранения токена доступа в виде cookie-файлов в браузере.Этот файл cookie будет прочитан и использован для любого будущего запроса.
Это правильный способ сделать?Разве данные cookie не являются чем-то простым в браузере, что может быть легко получено любым злоумышленником?Так как это всего лишь файл одного компьютера где-то.
Что мешает злоумышленнику захватить этот файл cookie, выдать себя за пользователя и начать выполнять действия, требующие аутентификации?
Срок действия токена составляет, скажем, 1 год.Он будет обновляться только каждый раз, когда пользователь входит в систему. Я понимаю, что если я укорачиваю срок службы, он будет более безопасным.Однако это будет означать, что пользователю придется постоянно входить в систему?
----- Обновление -----
Я не уверен, что какое-либо из предложенных решений ответило на мой вопрос.Приложение SPA основано на внешнем интерфейсе, и запрос может быть получен из любого места, такого как Почтальон, Мобильное приложение или любое стороннее устройство, которое хочет общаться с моим сервером.Таким образом, этим устройствам необходим способ локального хранения некоторого токена доступа, который будет использоваться для любого будущего запроса.
Единственный способ, которым я знаю, что это может произойти, - это чтобы мой сервер отправил некоторый токен авторизации запрашивающей стороне и заставил его сохранить его где-то для использования в следующем запросе.
В этом случае Imне уверен, что токен CSRF или другие средства могут помочь мне?
Точно так же, как и в Facebook, если я очищу свой кеш, мне придется заново войти в систему.Это означает, что Facebook хранит что-то на моем компьютере, чтобы я мог автоматически пройти аутентификацию в следующий раз