上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>