如何在getStaticProps next js中获取appCheck令牌

twh00eeo  于 2023-06-22  发布在  其他
关注(0)|答案(1)|浏览(97)

我需要在getStaticProps中将appCheck令牌传递给我的请求,但是当我使用getToken(方法时,它会抛出下面的错误:AppCheck is being used before activate() is called for FirebaseApp [DEFAULT]是否有任何方法在服务端渲染中使用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 };
};```
mi7gmzs6

mi7gmzs61#

这篇文章中有一个类似的问题可能会有所帮助:https://github.com/vercel/next.js/discussions/35689
目前,我认为在服务器端渲染中使用App Check是不可能的,可能是因为App Check与客户端浏览器交互,而不是与服务器交互。
这只是一个理论,但从文档中,我认为App Check至少需要一些访问客户端的权限。
更新后的客户端应用程序将开始发送App Check令牌沿着向Firebase发出的每个请求。
https://firebase.google.com/docs/app-check/web/recaptcha-provider?hl=en

相关问题