Hey @test_user69
You can use try this
Storage::disk('s3')->temporaryUrl()
to make a temporary S3 link.
For one-time use you can do ->
Save a flag or token in DB when you create the link.
When user opens the link, check if it's already used.
If not used, allow and mark it as used.
If already used, block it or show error.
Also, better to send link from a controller — don’t give direct S3 URL. This way, you can control everything.