【问题标题】:Redirect API call fetches from Service Worker从 Service Worker 获取重定向 API 调用
【发布时间】:2020-09-04 06:30:20
【问题描述】:

这是一个非常烦人的问题。我在我的应用程序中使用第三方登录。当用户通过第三方登录时,它会将 api 调用重定向到服务器。

例如:/api/signin/github?code=test&state=test

由于某些奇怪的原因,这个 API 调用是从服务工作者获取的,而不是在处理登录逻辑的服务器上。

例如:

【问题讨论】:

    标签: service-worker progressive-web-apps


    【解决方案1】:

    如果没有看到你的 service worker 的 fetch 事件处理程序,很难确切地说出是什么代码对此负责。

    不过,一般来说,如果您想告诉 Service Worker 永远不要对其响应的 URL,您可以避免在它们触发 fetch 时调用 event.respondWith(...)。有很多方法可以避免这样做,但早期的return 很简单:

    self.addEventListener('fetch', (event) => {
      const url = new URL(event.request.url);
      if (url.pathname === '/api/signin/github') {
        // By returning without calling event.respondWith(),
        // the request will be handled by the normal browser
        // network stack.
        return;
      }
    
      // Your fetch event response generation logic goes here.
      event.respondWith(...);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 2016-11-21
      • 1970-01-01
      相关资源
      最近更新 更多