使用Next.js和Firebase的前端和后端上的不同Firebase user.uid

wvt8vs2t  于 2023-08-04  发布在  其他
关注(0)|答案(1)|浏览(110)

我第一次使用Firebase和Next.js构建Web应用程序,遇到了一个问题。
下面是我用来在SSR和CSR页面上创建用户的一段代码。

export async function createAnonymousUser(): Promise<User | undefined> {
  const auth = getAuth();
  try {
    const userCredential = await signInAnonymously(auth);
    return userCredential.user;
  } catch (error) {
    console.error("Error creating anonymous user: ", error);
  }
}

字符串
我面临的问题是Firebase提供的user.uid在前端和后端之间不同。因此,我很难在不同的页面和组件之间保持用户一致性。
我是否在某种程度上误解了Firebase和Next.js的用法?我将感谢任何解决这个问题的建议。

6ojccjat

6ojccjat1#

您正在通过调用signInAnonymously创建一个新的匿名用户。不要在前端和服务器组件上同时调用这个函数,你应该在前端调用它并将auth令牌传递给API,或者在服务器组件上创建user并将uid作为prop传递给前端。

相关问题