According to SERVICES.md the S3 service is CORS enabled. And yet calling listBuckets when using aws-sdk.js in a browser, fails to work because the services is not enabled with CORS.
I'm using aws-sdk.js version
AWS.VERSION
"2.188.0"
The code running in the browser is just
AWS.config.credentials = new AWS.Credentials({ accessKeyId: "...", "secretAccessKey": "..." })
const s3 = new AWS.S3({ region: "us-east-1" })
s3.listBuckets()
Getting this result in the console
aws-sdk.min.js:47 OPTIONS https://s3.eu-central-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-central-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-3.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-3.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-central-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-central-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-3.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-3.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-central-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-central-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-central-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-central-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ca-central-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ca-central-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-3.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-3.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-south-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-south-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-east-2.amazonaws.com/ net::ERR_ABORTED
(index):1 Failed to load https://s3.us-east-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-3.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-3.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-south-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-south-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-west-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-west-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ca-central-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ca-central-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-east-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-east-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ca-central-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ca-central-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-south-1.amazonaws.com/ net::ERR_ABORTED
(index):1 Failed to load https://s3.ap-south-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-west-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-west-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-1.amazonaws.com/ net::ERR_ABORTED
(index):1 Failed to load https://s3.eu-west-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.sa-east-1.amazonaws.com/ net::ERR_ABORTED
(index):1 Failed to load https://s3.sa-east-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-east-2.amazonaws.com/ net::ERR_ABORTED
(index):1 Failed to load https://s3.us-east-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-southeast-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-southeast-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-west-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-west-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-west-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-west-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ca-central-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ca-central-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-east-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-east-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-west-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-west-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.eu-west-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.eu-west-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-northeast-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-northeast-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-northeast-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-northeast-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-southeast-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-southeast-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.sa-east-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.sa-east-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-southeast-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-southeast-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-south-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-south-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-west-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-west-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.sa-east-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.sa-east-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-northeast-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-northeast-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-west-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-west-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-southeast-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-southeast-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-southeast-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-southeast-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-northeast-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-northeast-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-northeast-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-northeast-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.sa-east-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.sa-east-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-southeast-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-southeast-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-northeast-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-northeast-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.us-west-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.us-west-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-southeast-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-southeast-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-northeast-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-northeast-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-southeast-2.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-southeast-2.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
aws-sdk.min.js:47 OPTIONS https://s3.ap-northeast-1.amazonaws.com/ 403 (Forbidden)
(index):1 Failed to load https://s3.ap-northeast-1.amazonaws.com/: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access. The response had HTTP status code 403.
S3 allows CORS supported to be enabled and configured on a bucket by bucket basis, but as far as I know, there is no way to enable CORS for bucket-level operations (e.g., ListBuckets, CreateBucket, etc.). I'll forward this request onto the service team, but it would be more effective coming directly from a customer. You can reach out to the service team directly via their AWS Developer Forum or through a ticket with AWS support.
I suppose this is the case with a number of sdk Methods. It would be helpful if CORS limitations could be included in the SDK docs.
Hey @RoboSparrow, I believe this is a very valid request. Maybe we can add a note in docs that the service doesn't support cors. You can always check the CORS support by yourself here. The specific service supports CORS if it specifies cors: true
@AllanFly120 that file has listed s3 as supporting cors since sept. 2016.
@simonbuchan
See @jeskew's comment above: https://github.com/aws/aws-sdk-js/issues/1939#issuecomment-366773580
I'll leave this issue open to track improving the documentation, but the S3 service team would need to implement CORS support for listBuckets to work from the browser.
Yes, I was just replying to allans comment that you can see if CORS has support in that file, which clearly you can't in this case, hence this issue 馃槈
+1 for this feature request
+1 for this feature request
There might be valid reasons not to enable CORS for some operations. It would be good to have these labelled clearly in "Method Summary" section for each service class and the method section itself.
Yes, CORS limits are mentioned int the installation section. But hey, most of us read that section only once. The problem is that we usually just jump right to the method
(where it is not mentioned), and start coding..
i am getting following error
message:"Cannot read property 'listBuckets' of undefined"
stack:"TypeError: Cannot read property 'listBuckets' of undefined\n at S3BucketConstructE2ETest.checkS3Bucket (S3BucketConstructE2ETest.js:35:33)\n at S3BucketConstructE2ETest.js:23:24\n at new Promise (<anonymous>)\n at S3BucketConstructE2ETest.runTests (S3BucketConstructE2ETest.js:22:16)\n at Object.<anonymous> (/e2e-tests/S3BucketConstructE2ETest.js:53:7)\n at Module._compile (internal/modules/cjs/loader.js:933:14)\n at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)\n at Module.load (internal/modules/cjs/loader.js:790:32)\n at Function.Module._load (internal/modules/cjs/loader.js:703:12)\n at Function.Module.runMain (internal/modules/cjs/loader.js:999:10)"
__proto__:Error {constructor: , name: "TypeError", message: "", 鈥
Is there any chance that this functionality, though not currently supported, could be added? It's something that I at least know my project would benefit greatly from, as our target user aren't too technical and if we could simply skip the step of them having the "aws ls" in their terminal, that would be excellent.
+1, I want to create an in-browser app that provides my own custom UI for viewing / navigating information across buckets in an account.
I suppose I could proxy a request Lambda via API Gateway and have the Lambda make the call on my behalf, but would much prefer to do it natively in the front-end code (using Cognito / federated identity pools)
Please add CORS support for ListBuckets.
Most helpful comment
S3 allows CORS supported to be enabled and configured on a bucket by bucket basis, but as far as I know, there is no way to enable CORS for bucket-level operations (e.g.,
ListBuckets,CreateBucket, etc.). I'll forward this request onto the service team, but it would be more effective coming directly from a customer. You can reach out to the service team directly via their AWS Developer Forum or through a ticket with AWS support.