为了账号安全,请及时绑定邮箱和手机立即绑定

如何在不提供凭据的情况下在浏览器中使用 Kinesis Video Stream WebRTC

如何在不提供凭据的情况下在浏览器中使用 Kinesis Video Stream WebRTC

拉风的咖菲猫 2022-08-27 14:06:54
我想使用kinesis video streams webrtc javascript sdk从网页生成视频流。sdk自述文件说我需要提供和accessKeyIdsecrectAccessKeysignalingClient = new KVSWebRTC.SignalingClient({    channelARN,    channelEndpoint: endpointsByProtocol.WSS,    clientId,    role: KVSWebRTC.Role.VIEWER,    region,    credentials: {        accessKeyId,        secretAccessKey,    },    systemClockOffset: kinesisVideoClient.config.systemClockOffset,});有没有办法使它更安全,并避免在javascript代码中提供秘密访问密钥?这是否意味着查看我的网页源的任何人都可以从网页中获取这些凭据并使用它们来访问信令通道?我可以使用 amplify-js Auth 类对经过身份验证的用户使用信令客户端吗?
查看完整描述

3 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

事实证明,我可以在后端内部使用凭据,并使用类向客户端发送预签名链接。无需在客户端提供凭据。SigV4RequestSigner

在文档中找到它

这是一个有用的类,可在 NodeJS 后端中使用,用于对请求进行签名并将其发送回客户端,以便客户端不需要具有 AWS 凭证。


查看完整回答
反对 回复 2022-08-27
?
茅侃侃

TA贡献1842条经验 获得超21个赞

创建信令客户端时,您可以指定凭据或返回 的请求签名者,请参阅:Promise<string>

https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-js/blob/master/README.md#class-signalingclient

credentials {object} Must be provided unless a requestSigner is provided.

请注意,如果不在浏览器中使用凭据,则还需要在服务器端运行相关代码,因为此类不支持请求签名者。KinesisVideoSignalingChannels


查看完整回答
反对 回复 2022-08-27
?
12345678_0001

TA贡献1802条经验 获得超5个赞

对于 Kinesis,其中一种可能性是在 NodeJS 后端中实现一个用于对 URL 进行签名的函数。


const endpointsByProtocol = getSignalingChannelEndpointResponse.ResourceEndpointList.reduce((endpoints, endpoint) => {

    endpoints[endpoint.Protocol] = endpoint.ResourceEndpoint;

    return endpoints;

}, {});

console.log('[VIEWER] Endpoints: ', endpointsByProtocol);


const region = "us-west-2";

const credentials = {

    accessKeyId: "XAXAXAXAXAX",

    secretAccessKey: "SECRETSECRET"

};

const queryParams = {

    'X-Amz-ChannelARN': channelARN,

    'X-Amz-ClientId': formValues.clientId

}

const signer = new SigV4RequestSigner(region, credentials);

const url = await signer.getSignedURL(endpointsByProtocol.WSS, queryParams);

console.log(url);


查看完整回答
反对 回复 2022-08-27
  • 3 回答
  • 0 关注
  • 73 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信