I have a client-side application on domain client-domain.com and a server-side application on domain server-domain.com. There is an API on the serv
There are three methods to solve it, the best approach to solve it is using the signed URLs
When the server receives the request you must validate the guid if the expiration time not been reached and, of course, check if guid is a valid signature.
This approach is used by several files/documents servers like Dropbox, S3, CDN providers, etc.
See the technique in some companies.
https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-urls.html#private-content-overview-choosing-duration
https://client.cdn77.com/support/knowledgebase/cdn-resource/how-do-i-set-up-signed-urls
The second method is passed the token by querystring with the image URL.
When the server receives the request you must validate the token by querystring and response with the content.
The third method creates an authenticated cookie to validate the access of the image.
When the server receives the request you need to validate if the validate cookie is valid.