问题标签 [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.

0 投票
1 回答
84 浏览

amazon-web-services - 如何使用 React Native 安全访问 AWS Cloudfront 中的内容

我已在 AWS S3 存储桶中上传图像。我们如何才能安全地访问这些私人内容。

0 投票
0 回答
77 浏览

flutter - 在flutter video_player插件上设置代理url以在cdn工作流上进行hls重定向

我是颤振的新手。我在 android 上有一个颤振的 VOD 应用程序,它使用 video_player 插件,在 HLS 上运行良好,但使用代理签名 url 失败。

我通过代理对 URL 进行签名,从私有云存储中提供我的视频文件。

我的 .m3u8 和 .ts 段从 domain1.com 代理,指向 domain2.com。.m3u8 加载良好,但 .ts 段请求未指向 domain1.com 并且由于我的隐私设置而被拒绝。我需要将 domain1.com 设置为用于签署私人访问的基本 url,但找不到如何去做。

有没有办法配置 VideoPlayerController.network 构造函数将 domain1 设置为基本 url?是否有其他工作流程来管理此上下文?

提前致谢。

0 投票
1 回答
135 浏览

node.js - Node JS / Firebase Admin SDK / Firestore - 使用快照接收 Firebase 文档后获取空数组

我正在尝试检索 firebase 文档,并使用 snapshot.forEach 块获取该文档的关联图像的签名 URL。我将内容和签名的 url 推送到一个数组中,这样我就可以在执行 forEach 块后将整个数组返回到我的角度前端。

我正在使用 firebase admin-sdk 生成存储桶引用 - 'storageRef'。

但是由于某种原因,我在前端收到的新闻列表数组似乎是空的。有人可以让我知道这里出了什么问题吗?

0 投票
2 回答
178 浏览

google-cloud-platform - gcp 存储桶对象的签名 url 失败,访问被拒绝

当我为存储 gcp 存储桶中的对象生成带有服务帐户的签名下载 url 时,我希望任何人都可以使用它而无需身份验证。但是,我不断收到“匿名调用者没有 storage.objects.get 访问 Google Cloud Storage 对象的权限”。我究竟做错了什么?

我正在使用的服务帐户具有存储对象创建者和存储对象查看者角色...

0 投票
0 回答
203 浏览

node.js - 如果使用备用域名和 HTTPS,AWS CloudFront 签名 URL 会导致访问被拒绝

我设置了 4 个 CloudFront 分配,它们都具有相同的 S3 源并且都具有查看器协议策略:HTTP 和 HTTPS。它们的区别在于备用域名和限制查看者访问。

  1. 分布 1:备用域名:,限制查看者访问:
  2. 分布 2:备用域名:,限制查看者访问:
  3. 分发 3:备用域名:distribution3.example.com,限制查看者访问:
  4. 分发 4:备用域名:distribution4.example.com,限制查看者访问:

我将图像上传到 S3 存储桶(对其的访问被阻止)并尝试使用 CloudFront 分配访问它。签署 URL 时,我使用相同的到期值(一周内),在相同的受信任密钥组中使用相同的公钥,并使用相同的代码(使用固定策略)对所有 URL 进行签名。我的域已在 Cloudflare 注册,其 HTTPS 证书是 AWS Certificate Manager 中的 Amazon Issue。以下是结果:

分布 1:备用域名:,限制查看者访问:

分布 2:备用域名:,限制查看者访问:

分发 3:备用域名:distribution3.example.com,限制查看者访问:

分发 4:备用域名:distribution4.example.com,限制查看者访问:

为什么最后一个案例失败了?我错过了什么吗?

用于生成签名 URL 的 nodejs 代码对所有人都是相同的:

0 投票
1 回答
26 浏览

laravel - 取决于浏览器,Laravel 在 Heroku 上签名的路由怪异行为

再会。我在 Heroku 上托管了我的 laravel 8 项目,它使用签名的 url 将用户登录到应用程序中。签名 URL 是使用 https:// 创建的,但它仅适用于 Firefox。它无法在 Chrome 和 Microsoft Edge 上运行。

此外,单击电子邮件收件箱中的签名 URL 时,它会打开一个新选项卡并显示无效签名错误,但在地址栏聚焦时按“Enter”键,验证成功并且用户已登录。

对于 Heroku Procfile,它被配置为:

另外,我用

检查请求的有效性。

我已将 TrustProxies 文件配置为:

无济于事。

0 投票
0 回答
115 浏览

php - 如何在 Laravel 应用程序的电子邮件验证流程中实现“返回”URL?

我正在使用带有内置用户电子邮件验证流程的 Laravel 7.3。

我正在尝试在流程中实现“返回 URL”,以便在验证用户的电子邮件后将用户重定向到特定的 URL。这对于用户在应用程序上启动操作(例如订阅)很有用。该操作需要一个帐户,并且一个帐户需要验证。

我在流程的每一步都在 URL 中包含了返回 URL,并且正在生成一个如下所示的验证 URL:

https://localhost/email/verify/287/23e499466a6bad538df7ce48e090294502502a86?expires=1630005974&signature=f77d57494132c71735e744a224e5116974fec33b482ec5874c40ca6321d200e6&return=https://localhost/subscribe

到目前为止,一切都很好。但是,这会返回 403。跟踪它会导致我:

vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php/ Illuminate\Routing\UrlGenerator

倾倒$original向我展示了这一点:https://localhost/email/verify/287/23e499466a6bad538df7ce48e090294502502a86?expires=1630005974&return=https%3A%2F%2Flocalhost%2Fsubscribe%2F2

这是我所期待的,但函数返回false,它会抛出 403。

我无法想象这是一个不寻常的用例,但我正在努力在网上找到有关实现它的最佳方法的任何信息。

下面是我构建 URL 的方式,这在我的VerifyEmail通知中。我尝试添加return作为签名路由本身的参数,但它也是 403s:

更令人费解的是,如果在验证 URL 中return,那么如果验证就好了。例如这有效:

https://localhost.com/email/verify/287/23e499466a6bad538df7ce48e090294502502a86?expires=1630005974&signature=f77d57494132c71735e744a224e5116974fec33b482ec5874c40ca6321d200e6&return=

编辑:

经过进一步调查后,我发现将返回 URL 添加到签名 URL 生成意味着它只要return不为空就可以工作。如果传递的是空字符串,则在验证时会生成 403。

如果有return值,上述工作正常,否则为 403s。

0 投票
0 回答
148 浏览

php - 使用 PHP 的 Google Cloud 签名 URL

我的需求很简单......人们会想。我只是想用 PHP 脚本创建一个签名的 URL,以防止下载滥用托管在 Google Cloud Storage 上的文件。我找到了几个例子,没有一个有效。这个最接近:

但是,它在第​​一次使用后总是产生相同的结果,直到我清除 Web 服务器上的缓存。

任何帮助或其他工作示例都会很棒。谢谢。

0 投票
1 回答
341 浏览

node.js - 使用 AWS S3 签名的 url 上传文件始终设置内容类型二进制/八位字节流

我面临一个问题,即内容类型在上传过程中总是发生变化。我正在使用 lambda 和 nodejs 来生成 URL。这是我的代码。如果有任何帮助,我将不胜感激!在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
0 回答
32 浏览

google-cloud-storage - 谷歌云存储签名 URL 不创建零长度文件

我需要将零长度文件保存到 Google Cloud Storage。如果我不使用签名 URL,它可以正常工作。

但是,当我生成一个签名 URL,然后尝试使用 cURL 或 Python 时,请求会返回状态代码 201。但是 Google Cloud Storage 中没有创建零字节文件。我曾尝试不使用“Content-Length”标头,但它也不起作用。

有没有人有过使用谷歌云存储上传零长度文件的经验