Flow:
- 应用将授权的 API 请求发送到服务器以获取视频列表
- 服务器返回网址
====
============================设置:
存储在 AWS S3 上的视频
视频应该只能访问安卓应用程序
====
===============================到目前为止我发现的方法:
- 将 CloudFront 与签名 URL 结合使用 - 问题 - 如果有人可以访问签名 URL,那么他/她可以访问内容。如果视频长度超过决定的时间,签名 URL 也有效一段时间,然后呢?
- 将 CloudFront 和 Cookie 用于 URL 问题 - 我应该在安卓上生成 cookie 还是正确的流程?
使用 CloudFront 签名 URL。
对于 Web 发行版,仅在下载开始时检查过期时间,因此它只需要足够长的有效期即可开始下载。 如果 URL 在此之后过期,CloudFront 不会中断下载。请参阅 CloudFront 何时检查签名 URL 的过期时间?
较短的过期时间和一起使用HTTPS可以有效地解决URL被发现和重用的问题。
此外,如果使用自定义策略而不是标准策略,则可以生成仅在从单个客户端 IP 地址使用时才有效的签名 URL。 如果您仍然担心未经授权使用您的签名 URL,请添加此项。
签名 Cookie 并不比签名 URL 更安全。