如何使用 aws-sdk 在客户端生成 Cloudfront 签名 url?
How to generate Cloudfront signed url on client side using aws-sdk?
我在前端使用 ReactJs,我只是尝试使用 getSignedUrl() 方法通过 AWS.CLOUDFRONT.SIGNER class 生成一个签署了 url 的云端前端,但它说“createSign is未在浏览器中实现。
请告诉我这样做是否正确,我想在我的 React 应用程序中流式传输来自 Aws 的视频,谢谢。
createSign is not implemented in the browser
是正确的。这是一个需要身份验证的操作,因此如果您的凭据(例如您的访问密钥)在您的 Web 应用程序中,那么该密钥将暴露给加载该页面的任何客户端。
您应该创建一个隐藏此密钥的 back-end 服务,然后公开该服务上的端点以创建和 return 已签名的 URL。
看到这个。
(client) (backend service) (aws)
| POST /create-signed-url | |
|===============================>>| |
| | aws-sdk getSignedUrl() |
| |=========================>>|
| | |
| | new signed url |
| |<<=========================|
| signed url | |
|<<===============================| |
| | |
我在前端使用 ReactJs,我只是尝试使用 getSignedUrl() 方法通过 AWS.CLOUDFRONT.SIGNER class 生成一个签署了 url 的云端前端,但它说“createSign is未在浏览器中实现。
请告诉我这样做是否正确,我想在我的 React 应用程序中流式传输来自 Aws 的视频,谢谢。
createSign is not implemented in the browser
是正确的。这是一个需要身份验证的操作,因此如果您的凭据(例如您的访问密钥)在您的 Web 应用程序中,那么该密钥将暴露给加载该页面的任何客户端。
您应该创建一个隐藏此密钥的 back-end 服务,然后公开该服务上的端点以创建和 return 已签名的 URL。
看到这个
(client) (backend service) (aws)
| POST /create-signed-url | |
|===============================>>| |
| | aws-sdk getSignedUrl() |
| |=========================>>|
| | |
| | new signed url |
| |<<=========================|
| signed url | |
|<<===============================| |
| | |