title: Upload to S3 without local keys?
body: <p>What is the best way to upload from AngularJS to S3 without passing the access key or secret down to the client?  I have a friend who is trying to accomplish this by creating a pre-signed URL on the server (NodeJS &amp; Express) and then sending the URL to the client for upload.  He's claiming it's failing due to CORS but he CAN upload using the sdk from the same AngularJS app &amp; browser.</p>
  
  <p><strong>Update for Clarity</strong><br>
  The tricky part is they cannot store anything in an environment variable AND <strong>each bucket has different credentials</strong>.  They're storing info on 10-20 buckets / regions / IAM users and need the end user to select the bucket BY NAME on the client.  This means they cannot store anything globally.  The server must be able to generate something for the client to use per each request.</p>
  
  <p>His original question:<br>
  <a href="https://stackoverflow.com/questions/33111135/generate-s3-put-url-per-request">Generate S3 Put URL Per Request</a></p>