You can use temporary download URLs for your cloud storage resources to prevent unwanted access. For example, when a user wants to download a file, we redirect to an s3 resource but have the URL expire in 5 seconds.
1public function download(File $file)2{3 // Initiate file download by redirecting to a temporary s3 URL that expires in 5 seconds4 return redirect()->to(5 Storage::disk('s3')->temporaryUrl($file->name, now()->addSeconds(5))6 );7}
Tip given by @Philo01