How to create Google Cloud Storage Signed URLS for each item in a rendered list?

I have been using google cloud storage to upload user and brand logos and profile images etc. however if you inspect the webpage you can see the URL source and then obviously access the whole bucket. (as i have it as public to be able to pull the images in). I currently have the URL for each image in xano as a text column called 'image' so then i set that image as the src.

I want to secure all images so users can't just access all the file paths so I am looking at signed URLs.

The issue I'm facing is it looks like I would have to generate a signed URL for each image right? Or am I missing something?

That means that if I am querying all record, wouldn't I have to loop through each record to then generate the signed URL and then add it to each item in the queryied list? Then in my front end (Wized) set the src as the signed URL in the rendered list?

This seems like lots of complexity and rejigging a lot of my API functions - wondered if this is the right approach or I am missing something!

7 replies