小编AUs*_*ser的帖子

Firebase Auth 处于跨源隔离模式?

我正在开发一个 Web 应用程序,该应用程序使用 Emscripten 的多线程 WASM 运行计算密集型代码,因此需要 SharedArrayBuffers。仅当我的应用程序处于跨源隔离模式时,这些才有效。为了实现这一点,我必须在我的应用程序上设置以下标头:

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
Run Code Online (Sandbox Code Playgroud)

现在,我想在我的项目中使用 Firebase - 第一步是集成 Firebase 的 Auth。现在,我正在使用它firebaseui来处理登录流程。不幸的是,这不起作用,当我在浏览器中启动登录流程时,我可以在 DevTools 中看到以下消息:

开发工具错误

在此输入图像描述

除了网络选项卡中的错误之外,我没有收到任何表明发生错误的指示(即没有未捕获的异常)。如果没有 COOP/COEP 标头,一切都会正常工作。

有没有办法可以在跨源隔离模式下使用 Firebase 的身份验证?

firebase cross-origin-embedder-policy cross-origin-opener-policy cross-origin-resource-policy

8
推荐指数
0
解决办法
623
查看次数

如何通过 Apollo Client 在 NodeJS 中进行 GraphQL 订阅?

我想订阅 GraphQL 服务器。该应用程序在 NodeJS 脚本中运行(即不在网络浏览器中)。

这是我目前所做的:

const fetch = require("node-fetch").default;
const apollo = require("apollo-boost");
const ApolloClient = apollo.default;
const { gql } = require("apollo-server");

const apolloClient = new ApolloClient({
  uri: "http://localhost:4000/graphql",
  fetch
});

apolloClient.subscribe({
  query: gql`
    subscription {
      startTaskRequested {
        pkRobot
        taskName
      }
    }
  `,
}).subscribe({
  next(x) { console.log(x) },
  error(err) { console.log(`Finished with error: ${ err }`) },
  complete() { console.log('Finished') }
});
Run Code Online (Sandbox Code Playgroud)

结果输出是:

{ data: { startTaskRequested: null } }
Finished
Run Code Online (Sandbox Code Playgroud)

在 GraphQL Server 上,我可以看到相应的解析器从未被调用。

如果我使用 Apollo 的 …

node.js apollo graphql graphql-subscriptions apollo-client

6
推荐指数
1
解决办法
1957
查看次数