如何在GetStaticProps中获得AppCheck Token下一个JS

发布于 2025-01-24 03:41:22 字数 769 浏览 0 评论 0原文

我需要将AppCheck令牌传递给我在GetStaticProps中的请求,但是当我使用getToken时(方法会丢弃下面的错误: appCheck在activate()被称为firebaseApp [默认]之前使用AppCheck。 有什么方法可以在服务方面使用AppCheck令牌?

firebase.js:

if (!firebase.apps.length) {
  firebase.initializeApp(firebaseConfig);
  const appCheck = firebase.appCheck();
  appCheck.activate(process.env.NEXT_PUBLIC_APP_CHECK_SITE_KEY, true);
    });
}

index.js:

export const getStaticProps = async () => {
let token
appCheck
    .getToken(/* forceRefresh= */ false)
    .then(async (rs) => {
      token = rs.token;
    })
    .catch((err) => {
      console.log(err);
    });
  const places = await getAllPlaces(token);

  return { props: { places }, revalidate: 60 };
};```

I need to pass the appCheck token to my request in getStaticProps but when I use getToken( method it throws the error below:
AppCheck is being used before activate() is called for FirebaseApp [DEFAULT]
Is there any way to use appCheck token in serve Side Rendering?

firebase.js:

if (!firebase.apps.length) {
  firebase.initializeApp(firebaseConfig);
  const appCheck = firebase.appCheck();
  appCheck.activate(process.env.NEXT_PUBLIC_APP_CHECK_SITE_KEY, true);
    });
}

index.js:

export const getStaticProps = async () => {
let token
appCheck
    .getToken(/* forceRefresh= */ false)
    .then(async (rs) => {
      token = rs.token;
    })
    .catch((err) => {
      console.log(err);
    });
  const places = await getAllPlaces(token);

  return { props: { places }, revalidate: 60 };
};```

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

铃予 2025-01-31 03:41:22

这篇文章中有一个类似的问题可能会有所帮助: https://github.com/ vercel/next.js/讨论/35689

当前,我认为使用应用程序检查与服务器端渲染是不可能的,这可能是因为应用程序检查与客户端浏览器而不是服务器的交互。

这只是一个理论,但是从文档中拾取,我认为应用程序检查至少需要对客户的访问。

更新的客户端应用程序将开始发送应用程序检查令牌以及它向firebase提出的每个请求...

There's a similar issue in this post that may be helpful: https://github.com/vercel/next.js/discussions/35689.

Currently, I don't think using App Check with Server Side Rendering is possible, likely because App Check interacts with the client browser and not the server.

That's only a theory, but picking up from the docs, I think App Check requires at least some access to the client.

The updated client app will begin sending App Check tokens along with every request it makes to Firebase...

https://firebase.google.com/docs/app-check/web/recaptcha-provider?hl=en

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文