service-worker - 从 Service Worker 获取重定向 API 调用
问题描述
这是一个非常烦人的问题。我在我的应用程序中使用第三方登录。当用户通过第三方登录时,它会将 api 调用重定向到服务器。
例如:/api/signin/github?code=test&state=test
出于某种奇怪的原因,这个 API 调用是从服务工作者获取的,而不是在处理登录逻辑的服务器上。
前任:
解决方案
如果没有看到您的服务工作者的fetch
事件处理程序,很难确切地说出是什么代码对此负责。
但是,一般来说,如果您想告诉服务工作者永远不要响应某些 URL,您可以避免event.respondWith(...)
在它们触发fetch
. 有很多方法可以避免这样做,但早期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(...);
});
推荐阅读
- javascript - 当屏幕或尺寸改变大小时,如何在 React Native 触发器中设置 EventListener
- php - 如何向模型添加新字段并在 Eloquent 中使用它
- php - Sublime 3 - 文件之间的区别 -> 打开文件夹和项目 -> 打开项目
- actions-on-google - 为什么不触发`actions.intent.TRANSACTION_DECISION`?
- java - 带有tomcat的intellij上的java ee maven项目无法解析为一种类型
- scala - 在 sbt build 上找不到类
- python - 如何在 django 模板中显示列表?
- css - CSS 边距问题 - 无法在
和 - ssl - 信任 Elasticsearch SSL 配置的自签名证书
- node.js - 如何在 Microsoft Bot 框架中开发自定义小部件?