WebRTC技术详解:从0到1构建多人视频会议系统
上QQ阅读APP看书,第一时间看更新

2.4.1 WebRTC隐私和安全

为了保护用户的隐私,必须在安全的内容中使用WebRTC,所谓安全内容指如下两点。

  • 使用HTTPS/TLS加载的页面内容。
  • 从本地localhost/127.0.0.1加载的页面内容。

如果在不安全的内容中使用WebRTC,navigator.mediaDevices值为undefined,此时访问getUserMedia()将会报错。

在第一次打开媒体设备时,getUserMedia会弹出请求授权的提示框,如果用户通过了授权,浏览器会记录授权结果,同一域名不重复请求授权。

浏览器必须明确显示媒体设备的使用状态和授权状态,当摄像头处于使用状态时,硬件指示灯必须亮起。另外,浏览器通常会在URL地址栏中显示媒体设备的状态。

在iframe中使用WebRTC时,需要明确为该frame请求权限,如代码清单2-32,使用allow为iframe请求摄像头和话筒权限。

代码清单2-32 为iframe请求权限

<iframe src="https://mycode.example.net/etc" allow="camera;microphone">
</iframe>