我尝试使用Next Auth和firebase为我的Next JS 13应用程序实现一个Auth功能。但是当我添加所有内容并运行代码时,它抛出了一个错误
错误-Firebase错误:Firebase:名为“[DEFAULT]”的Firebase应用程序已存在,但具有不同的选项或配置(应用程序/重复应用程序)。
当我直接使用firbaseconfig到适配器时,它可以工作。但是当我从firebase.js
文件导入它时,它会抛出上述错误。firebase.js
import { initializeApp, getApp, getApps } from "firebase/app";
import { getFirestore } from "firebase/firestore";
import { getStorage } from "firebase/storage";
const firebaseConfig = {
apiKey: "AIzaSyABiIZoymM13sZzAbzDThOgYHyB-MDm4aY",
authDomain: "sanahproperty.firebaseapp.com",
projectId: "sanahproperty",
storageBucket: "sanahproperty.appspot.com",
messagingSenderId: "543489729763",
appId: "1:543489729763:web:aa00165176675e2b9c51d6",
};
const app = getApps.length > 0 ? getApp() : initializeApp(firebaseConfig);
const db = getFirestore(app);
const storage = getStorage(app);
export { db, storage, app };
[...nextauth].js
import NextAuth from "next-auth";
import GoogleProvider from "next-auth/providers/google";
import { FirestoreAdapter } from "@next-auth/firebase-adapter";
import { db } from "../../../firebase";
export default NextAuth({
providers: [
GoogleProvider({
clientId: process.env.GOOGLE_ID,
clientSecret: process.env.GOOGLE_SECRET,
}),
],
adapter: FirestoreAdapter(db),
// ...
});
帮帮我吧,自从我升级到下一代JS 13后,这里就像地狱一样。
仅在firebase.js中更新
const firebaseConfig = {
apiKey: "AIzaSyABiIZoymM13sZzAbzDThOgYHyB-MDm4aY",
authDomain: "sanahproperty.firebaseapp.com",
projectId: "sanahproperty",
storageBucket: "sanahproperty.appspot.com",
messagingSenderId: "543489729763",
appId: "1:543489729763:web:aa00165176675e2b9c51d6",
};
export const app =
getApps().length > 0 ? getApp() : initializeApp(firebaseConfig);
export const db = getFirestore(app);
export const storage = getStorage(app);
错误指向'[... nextauth].js中的此位置adapter: FirestoreAdapter(db),
指向数据库条目
1条答案
按热度按时间yqkkidmi1#
getApps
是一个函数,但您正在使用.length
而没有调用它。请尝试: