服务人员和客户证书

时间:2019-03-20 10:37:50

标签: angular service-worker angular-service-worker

我们已经在Angular应用程序中实现了Service Worker。此应用需要客户端证书进行身份验证和单点登录。 当Service Worker调用身份验证终结点时,由于它们位于不同的安全层中,因此无法发送证书(请参见Sending client certificate via JavaScript.)。

我们试图从服务工作者配置中排除该请求,但我们无法使其正常工作。我们发现的唯一解决方法是修改ngsw-worker.js,但从长远来看,这不是有效的解决方案:

this.scope.addEventListener('fetch', (event) => {
   if (event.request.url.match('^.*(\/api\/auth\/token\/logon)$')) {
      return false;
   }
}

您知道是否还有其他方法可以跳过某些特定请求?

1 个答案:

答案 0 :(得分:0)

我也有同样的问题。通过将ngsw-bypass参数添加到请求url,我跳过了一些特定的请求。否则,有一种方法可以将ngsw-bypass标头添加到HTTP请求中。