我正在使用Firebase的JS SDK构建一个开源项目。我的目标是允许贡献者使用Firebase模拟器在本地运行该项目,从而不需要真实的凭据。Firebase模拟器文档指定了“您可以在不创建Firebase项目的情况下运行模拟器”。这正是我想要的!
在运行
上面的代码将触发以下错误:
未捕获的(在 promise 中)FirebaseError: Firebase:错误(auth/invalid-api-key)
在实际情况下,我会使用 apiKey 调用 initializeApp(),但这里我只想模拟身份验证。我也尝试过根本不调用 initializeApp() 并调用没有任何参数的 getAuth(),但它会触发相同的错误。
假设 API 密钥需要创建一个项目,那么是否真的可能在不创建 Firebase 项目的情况下运行 Firebase auth 模拟器?
在运行
firebase init
之后,我编写了以下代码。它会触发一个弹出窗口,允许用户通过GitHub进行登录:import { initializeApp } from "firebase/app";
import { connectAuthEmulator, getAuth, GithubAuthProvider } from "firebase/auth";
const app = initializeApp({
projectId: "demo-project",
});
const auth = getAuth(app);
connectAuthEmulator(auth, "http://localhost:9099");
// When users sign in, we call the following method:
async function signIn() {
const githubAuth = new GithubAuthProvider();
await signInWithPopup(firebaseClientAuth, githubAuth);
}
上面的代码将触发以下错误:
未捕获的(在 promise 中)FirebaseError: Firebase:错误(auth/invalid-api-key)
在实际情况下,我会使用 apiKey 调用 initializeApp(),但这里我只想模拟身份验证。我也尝试过根本不调用 initializeApp() 并调用没有任何参数的 getAuth(),但它会触发相同的错误。
假设 API 密钥需要创建一个项目,那么是否真的可能在不创建 Firebase 项目的情况下运行 Firebase auth 模拟器?
initializeApp()
函数?apiKey、storageBucket 等等。 - Charles Fries