post
You know that you can configure minio to only serve images for authenticated requests, right?
Don't reinvent the wheel unless you have a very good reason to do so.
Why do you use minio for image serving ? There are much better ways to do so. Nextcloud, Immich, Photoprism and others...
Hi, just a disclaimer as I've never used Minio in a serious/professional project, only in home fiddling and school projects, so I may not suggest the optimal way to do things.
You can create Access Keys (Service Accounts) in Minio for your application, and make the bucket(s) accessible only by this account (private with an access policy, I guess). In your JS app, if I remember correctly, you should be able to specify an access key to use for the connection.
Access keys are credentials, so be sure to store them (and pass them around) safely.
I hope this gives you at least a general direction to investigate, happy tinkering!
I'm not entirely sure what you're seeking to accomplish here - are you looking to just impose authorization on a subset of the images? Probably those should be in a non-public bucket for starters.
Looking to only give certain people access to files and also have a nicer UI (a la Google Drive / Photos)? Maybe plain S3 isn't the play here and a dedicated application is needed for that subset.
Pre signed URLs may also be a thing useful to what you're trying to to solve. https://docs.min.io/docs/javascript-client-api-reference.html#presignedGetObject
all 12 comments