【发布时间】:2019-03-20 10:37:50
【问题描述】:
我们已经在 Angular 应用程序中实现了一个 Service Worker。此应用程序需要客户端证书来进行身份验证和单点登录。 当 Service Worker 调用身份验证端点时,它无法发送证书,因为它们处于不同的安全层(请参阅Sending client certificate via JavaScript.)。
我们已尝试从 Service Worker 配置中排除该请求,但无法使其正常工作。我们发现的唯一解决方法是修改 ngsw-worker.js,但从长远来看,这不是一个有效的解决方案:
this.scope.addEventListener('fetch', (event) => {
if (event.request.url.match('^.*(\/api\/auth\/token\/logon)$')) {
return false;
}
}
您知道是否有其他方法可以跳过某些特定请求?
【问题讨论】:
-
您可以写一个
HttpInterceptor并匹配网址。
标签: angular service-worker angular-service-worker