在 Nextjs 中使用 Cookie 进行 SSR 和 Firebase Auth

Kal*_*ach 6 cookies firebase firebase-authentication firebase-admin next.js

除了正常的客户端 Firebase 身份验证之外,我还尝试为我的 Nextjs 应用程序使用基于 cookie 的身份验证。我在互联网上阅读过,并且遇到过一些像https://dev.to/ariburaco/authentication-with-firebase-in-nextjs-with-ssr-e76这样的博客,建议我可以做这样的事情实现我的目标:

useEffect(() => {
   const unsubscribe = onIdTokenChanged(auth, async (user) => {
     if (user) {
       setAdmin(user);
       const token = await user.getIdToken();
       nookies.set(undefined, 'token', token, { path: '/' });
     } else {
       setAdmin(null);
       nookies.set(undefined, 'token', '', { path: '/' });
     }
   });

   return unsubscribe;
 }, []);
Run Code Online (Sandbox Code Playgroud)

然而,当我查看 firebase文档时,我看到了一种完全不同的方法,其中涉及向服务器发送 cookie 请求。此外,firebase 文档在收到 cookie 后将用户注销,以便从存储中清除客户端令牌。这是否意味着您不能同时使用 cookie 和客户端令牌?或者他们这样做的缺点是什么?

最后,哪种方法是“正确的”?各自的缺点和优点是什么?

任何帮助是极大的赞赏!