首页 > 解决方案 > 如何在不提供凭据的情况下在浏览器中使用 Kinesis Video Stream WebRTC SDK?

问题描述

我想使用 kinesis 视频流 webrtc javascript sdk 从网页生成视频流。 sdk 自述文件说我需要提供accessKeyIdsecrectAccessKey

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 类将信令客户端与经过身份验证的用户一起使用吗?

标签: javascriptvideo-streamingamazon-iamamazon-kinesis

解决方案


原来我可以在后端使用凭据,并使用 class 向客户端发送预签名链接SigV4RequestSigner。无需在客户端提供凭据。

文档中找到它:

这是一个有用的类,用于在 NodeJS 后端签署请求并将其发送回客户端,这样客户端就不需要拥有 AWS 凭证。


推荐阅读