我想使用运动视频流webrtc javascript sdk从网页生成视频流。The sdk readme说我需要提供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类与经过身份验证的用户一起使用信令客户端吗?
原来,我可以在后端内部使用凭据,并使用类SigV4RequestSigner
将预签名的链接发送到客户端。无需在客户端提供凭据。
在documentation:中找到它
这是在NodeJS后端中使用的一个有用的类,用于对请求进行签名并将其发送回客户端,因此客户端不需要具有AWS凭证。