【发布时间】:2022-01-27 02:26:30
【问题描述】:
我在前端使用 ReactJs,我只是尝试使用 getSignedUrl() 方法通过 AWS.CLOUDFRONT.SIGNER 类生成一个云端签名的 url,但它说“浏览器中没有实现 createSign”。
请告诉我这是否是正确的方法,我想在我的 React 应用中从 Aws 流式传输视频,谢谢。
【问题讨论】:
标签: reactjs aws-sdk amazon-cloudfront
我在前端使用 ReactJs,我只是尝试使用 getSignedUrl() 方法通过 AWS.CLOUDFRONT.SIGNER 类生成一个云端签名的 url,但它说“浏览器中没有实现 createSign”。
请告诉我这是否是正确的方法,我想在我的 React 应用中从 Aws 流式传输视频,谢谢。
【问题讨论】:
标签: reactjs aws-sdk amazon-cloudfront
createSign is not implemented in the browser 是正确的。这是一个需要身份验证的操作,因此如果您的凭据(例如访问密钥)在您的 Web 应用程序中,那么该密钥将公开给加载页面的任何客户端。
您应该创建一个隐藏此密钥的后端服务,然后在该服务上公开端点以创建并返回签名 URL。
看到这个similar question and answer。
(client) (backend service) (aws)
| POST /create-signed-url | |
|===============================>>| |
| | aws-sdk getSignedUrl() |
| |=========================>>|
| | |
| | new signed url |
| |<<=========================|
| signed url | |
|<<===============================| |
| | |
【讨论】:
aws-sdk 库。在那个环境(Node.js)中,getSignedUrl() 方法将被实现。