Я надеюсь, что это простая проблема с простым решением, и что я упустил что-то очевидное. Позвольте мне объяснить проблему;
У нас есть приложение, которое генерирует отчеты в формате PDF (используя Jasper). Эти отчеты содержат данные из нашей базы данных, а также изображения (фотографии). Эти фотографии хранятся в S3.
Мы используем подписанные URL-адреса для доступа к этим фотографиям. Мы связываем эти фотографии в наших отчетах Jasper, используя эти URL-адреса S3.
Поскольку URL-адреса S3 подписаны и ограничены по времени (в зависимости от проекта), процесс выглядит следующим образом:
- Пользователь запрашивает создание отчета,
- Отчет заполняется и отправляется в нашу базу данных (в это время извлекаются UUID для любых необходимых изображений),
- Для каждого UUID должен быть создан подписанный URL-адрес S3,
- Для этого URL-адрес каждого изображения отчета представляет собой вызов аутентифицированного URL-адреса в нашем приложении (/ get_img? Uuid = foo),
- Контроллер, стоящий за этим URL, генерирует подписанный URL-адрес S3 и возвращает его,
- Отчеты загружают изображение.
Проблема в шаге (4) - вызов аутентифицированного URL завершается неудачно, потому что Jasper не передает никакой аутентификационной информации с запросом.
Есть ли здесь решение?
Спасибо всем за потраченное время.
Ben