Hi all,
I am hoping that this is a simple issue with a simple solution and that I have missed something obvious. Let me explain the problem;
We have an application that generates PDF reports (using Jasper). These reports contain data from our database, as well as imagery (photographs). These photographs are stored in S3.
We use signed URLs to access these photographs. We link these photographs into our Jasper reports using these S3 URLs.
Because the S3 URLs are signed and time-limited (by design), the process is as follows;
- User requests a report to be generated,
- Report is filled, and goes to our database (at which time UUIDs to any required images are retrieved),
- For each UUID an S3 signed URL must be generated,
- To do this the URL behind each report image is a call to an authenticated URL in our app (/get_img?uuid=foo),
- The controller behind this URL generates a signed S3 URL and returns it,
- Reports loads the image.
The problem is with step (4) - the call to the authenticated URL fails because Jasper does not pass any authentication information with the request.
Is there a solution here?
Thanks all for your time.
Ben