仅在端口 8080 (Jhipster) 上访问网络摄像头的权限被拒绝

Permission denied on access the webCam only on port 8080 (Jhipster)

当我尝试在端口 8080 上访问网络摄像头时收到权限被拒绝。我提到访问网络摄像头正在端口 9000 上工作并且该项目是使用 jhipster 生成的 (java + angular) . 这是我访问相机的代码。

startCamera(): void {
    if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
      navigator.mediaDevices.getUserMedia(this.constraints).then(this.attachVideo.bind(this));
    } else {
      alert('Sorry, camera not available.');
    }
}

默认情况下,禁用麦克风和摄像头访问。您可以在 SecurityConfiguration.java 中修改 CSP 设置以启用它们。

在对 featurePolicy 方法的调用中,进行以下更改,这将在页面中以及在同一来源的所有嵌套浏览上下文(iframe)中启用 microphone/camera 访问。

- microphone 'none'; camera 'none';
+ microphone 'self'; camera 'self';

您可以在 Feature Policy 文档中查看其他 CSP 功能策略选项