问题标签 [pre-signed-url]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-s3 - 使用我自己的域/子域生成 AWS S3 PreSigned URL
我正在使用适用于 .NET 的 AWS 开发工具包,目前正在为我的 S3 存储桶生成预签名 URL。
我目前得到的网址就像https://{bucketname}.s3.amazonaws.com/{FileAndQueryParameters}
我正在寻找的是类似的东西https://{MyDomainName}/{FileAndQueryParameters}
我已经尝试用我自己的 CNAME 指向替换第一个 url,{bucketname}.s3.amazonaws.com
但我得到了一个明显的
任何想法如何做到这一点?
顺便说一句,这是我现在使用的代码:
google-cloud-storage - 通过签名 URL 上传到 Google Cloud Storage - 对象不可公开读取
我跟进了本教程,允许使用签名 URL 将文件从 GWT 前端直接上传到 Google Cloud Storage。我通过指定工作得很好的内容类型扩展了 Java 示例。然后,我看到以这种方式上传的文件无法公开阅读。为了让这个工作我试过:
- 我已经为新上传的对象设置了默认 ACL
gsutil defacl set public-read gs://<bucket>
。再次上传文件 - 不走运,仍然不可见。 - 然后尝试直接在该对象上设置 ACL,
gsutil acl set public-read gs://<bucket>/<file>
但它给了我AccessDeniedException: 403 Forbidden。这是有道理的,因为 gsutil 使用我的 Google 帐户进行了身份验证,并且使用服务帐户创建了签名 URL,并且它是 P12 密钥。 - 我尝试在上传阶段设置 ACL,因此添加了
"x-goog-acl:public-read\n"
规范化扩展标头和适当的查询字符串参数以通过签名检查。该死的,还是没有运气!
我的假设是我使用的这个扩展头可能是错误的?然后根据文档private
,默认情况下,所有经过身份验证的 GCS 请求都将应用 ACL。
无论如何 - 为什么当我以项目所有者身份登录时,我无法从 Google 控制台公开读取这些文件?我可以为通过控制台上传的所有文件这样做(我知道在这种情况下所有者是项目所有者而不是服务帐户)。
我做错了什么?我怎样才能让任何人都可以公开阅读它们?
谢谢指教!
ajax - 如何让 Amazon Signature 4 预签名 URL 与 Ajax 一起使用?
我可以生成一个有效的预签名 URL 来列出 S3 存储桶的部分内容。
如果我将它粘贴到浏览器中或使用 hurl.it 效果很好
但是,在 jQuery Ajax GET 调用中,签名失败。
我在提琴手中查看了请求,它确实在请求中附加了一个参数,这可能是回调。
我在 hurl.it 中尝试过,它也失败了。对于 Amazon Signature 4 来说,Ajax 添加的额外参数似乎是一个阻碍。
我会将它传递给我的服务器进行签名,但不幸的是 Ajax 是事后的,所以 AFAIK 无法提前指定回调参数。
奇怪的是使用 C# SDK 生成一个预签名的 URL,这个额外的参数在 Ajax 中不是问题。但不幸的是,SDK 没有提供我所知道的用于生成预签名 URL 以列出存储桶内容的机制。只是为了得到一个对象。
所以预签名的 URL 不是问题。据我所知,标题也不是。似乎它希望所有查询参数都与我签署的内容相匹配。
我已经在这里待了将近 2 天,到目前为止我还很接近。
非常感谢有经验的 s3 / ajax 用户提供的任何见解。
谢谢!
authentication - HTTP 授权标头和查询字符串参数之间的区别
当我阅读有关与交互的信息时Amazon S3
,我开始知道请求身份验证以Amazon AWS
两种方式完成
问题是在哪种情况下我应该更喜欢一种方法而不是另一种方法。这两种认证方式有各自的优缺点吗?作为开发人员,通过使用query string parameters
方法,我可以预签名 URL,使最终用户可以Amazon S3
通过在 Web 浏览器中输入预签名 URL 来临时访问资源。我可以使用HTTP Authorization
方法来实现相同的目标吗?如果是这样,哪种方法更好用,它们各自的局限性是什么?
php - 创建亚马逊 aws s3 预签名 URL PHP
根据此链接http://docs.aws.amazon.com/aws-sdk-php/v2/guide/service-s3.html,我可以轻松创建一个预签名链接,只需将生命周期添加到 getObjectUrl
但是我得到一个普通的 url,你知道,没有 awsaccesskeyid 和 expires 参数,
这是我的代码:
编辑:我有 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 作为环境变量
我的回声看起来像:
https://s3-us-west-1.amazonaws.com/imagenesfc/NASimagenes/codigoBarraBoleto/1001000098.png
怎么了?
cordova - AWS S3 签名的 url 编码结果“SignatureDoesNotMatch”
我正在使用cordova文件传输使用签名的url从aws s3下载文件,因为cordova filetransfer对uri进行编码,签名中的“%”被转换为“%25”,因此导致签名不匹配
php - Amazon S3 和预签名 URL php 的 SignatureDoesNotMatch 错误
我正在尝试使用 php 从 S3 获取对象的预签名 URL。我不断收到 SignatureDoesNotMatch 错误。下面是我的代码。
然后,我返回了格式正确的 url,但是,当我尝试使用来自第三方应用程序的 URL 发布照片时,我收到以下错误 SignatureDoesNotMatch 错误。关于我在这里做错了什么的任何想法?
谢谢!
php - 使用适用于 PHP 的 AWS 开发工具包调用未定义的方法 createPresignedUrl()
我无法使用适用于 PHP 的 AWS 开发工具包创建预签名 URL。我的代码是 -
它给了我下一个错误-
致命错误:在第 103 行的 /Users/waverley_lv/WaverleySoftware/workspace/fox.php.auto/sites/default/behat-tests/util/S3Utility.php 中调用未定义的方法 Aws\Command::createPresignedUrl()
javascript - AWS 开发工具包预签名 URL + 分段上传
有没有办法通过浏览器使用生成的预签名 URL 进行分段上传?
ruby-on-rails - Rails Amazon S3 使用 JQuery File Uploader 直接上传
我已经花了几天时间试图完成这项工作。我收到此错误
选项https://bucketname.s3.oregon.amazonaws.com/ net::ERR_NAME_RESOLUTION_FAILED
我在用Version 43.0.2357.130 Ubuntu 14.04 (64-bit)
宝石文件:
application.js(在 jquery 之后):
应用程序.css:
我有一个名为 uploads 的模型,我为它生成了这样的脚手架:
uploads_controller.rb:
_form.html.erb(用于上传):
application.js(最后):
说真的,我能做些什么来解决这个问题?