我第一次使用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的用法?我将感谢任何解决这个问题的建议。
1条答案
按热度按时间6ojccjat1#
您正在通过调用
signInAnonymously
创建一个新的匿名用户。不要在前端和服务器组件上同时调用这个函数,你应该在前端调用它并将auth令牌传递给API,或者在服务器组件上创建user并将uid
作为prop传递给前端。