javascript - 如何在不提供凭据的情况下在浏览器中使用 Kinesis Video Stream WebRTC SDK?
问题描述
我想使用 kinesis 视频流 webrtc javascript sdk 从网页生成视频流。
sdk 自述文件说我需要提供accessKeyId
和secrectAccessKey
signalingClient = new KVSWebRTC.SignalingClient({
channelARN,
channelEndpoint: endpointsByProtocol.WSS,
clientId,
role: KVSWebRTC.Role.VIEWER,
region,
credentials: {
accessKeyId,
secretAccessKey,
},
systemClockOffset: kinesisVideoClient.config.systemClockOffset,
});
有没有办法让这更安全并避免在 javascript 代码中提供秘密访问密钥?这是否意味着任何查看我的网页源代码的人都可以从网页中获取这些凭据并使用它们来访问信号通道?我可以使用 amplify-js Auth 类将信令客户端与经过身份验证的用户一起使用吗?
解决方案
原来我可以在后端使用凭据,并使用 class 向客户端发送预签名链接SigV4RequestSigner
。无需在客户端提供凭据。
这是一个有用的类,用于在 NodeJS 后端签署请求并将其发送回客户端,这样客户端就不需要拥有 AWS 凭证。
推荐阅读
- microsoft-graph-api - 无法从图形 api 检索团队 - 未找到 GetThreadS2SRequest
- flutter - 每当我点击 Textfield 时,它都会显示一个白色容器。如何在颤振中消除该问题?
- swift - 仅当父级存在于 Vapor 中时才使用 Fluent 创建记录
- javascript - 如何在 JSX 中添加超链接
- python - Python 没有将值替换为 \\ 被映射为 \
- java - 如何以编程方式更改 Eclipse 运行配置的工作目录?
- linear-programming - 以乘数形式编写 DEA LPP
- github - 您的网站在构建时遇到问题:无法构建页面。请稍后再试
- java - 从oracle weblogic 7迁移到12,发现更新的jar中缺少ChildFirstClassLoader
- javascript - 什么是浏览器网络选项卡中的 scripts.js 和 vendor.js 文件?