Предполагается, что у меня есть одностраничное приложение, использующее токены JWT для проверки подлинности на backend REST api. Я передаю токен JWT внутри заголовка http при выполнении запроса REST. Все идет нормально.Проверка подлинности на основе JWT для <img> тегов?
Предположим, я хочу загрузить изображение с сервера, и я хочу, чтобы изображение было доступно только для аутентифицированных пользователей. На сервере это не проблема: просто определите маршрут, который доставляет изображение, и в этом маршруте проверьте токен JWT.
Но: Как перенести токен с клиента на сервер? Если я использую обычный тег <img ...>
, я не могу прикрепить токен в качестве заголовка http. Что мне делать?
В основном я могу думать о добавлении токена, например. base64, в строку запроса, но это не кажется очень надежным, так как токен появляется в истории браузера. С другой стороны, я не могу придумать другой подход, не загружая изображения полностью с помощью JavaScript.
Любые подсказки?
спасибо. Но что, если URL-адрес был скопирован пользователем и отправлен по электронной почте другому, не будет ли отображаться изображение? – Sammy
Да, но, как и раскрытие его полномочий, он мог бы отдать их, так же, как и для подписанной ссылки, и в какой-то момент ссылка истекает. – pfried
Как вы это делаете – Chazt3n