如何使用本地 Firebase Auth 模拟器而不是生产 auth 来测试我的用户?

How do I use the local Firebase Auth emulator and not production auth to test my users?

我的应用程序仍然希望使用生产 firebase-auth 实例验证用户,尽管已经在本地初始化了 auth 模拟器:

firebase init emulators

这是我的 React 应用中的授权逻辑:

const handleLogin = () => 
  authentication.signInWithEmailAndPassword("emulator@test.com", "emulator");

触发handleLogin后,报错"auth/user-not-found" 因为 firebase 正在查询生产身份验证实例。

您需要同步调用 useEmulator,在应用程序的身份验证实例初始化后立即调用。 useEmulator 将本地模拟器 URL 作为其唯一参数。

在初始化 firebase 身份验证实例的任何地方都需要以下内容:

带有 tree shaking 的 Firebase SDK 版本 9

import { getAuth, connectAuthEmulator } from "firebase/auth";

const auth = getAuth();
connectAuthEmulator(auth, "http://localhost:9099");

Firebase SDK 版本 8

import firebase from "./firebase-config";
import "firebase/auth";

const authentication = firebase.auth();

authentication.useEmulator("http://localhost:9099");

export default authentication;