如何使用本地 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;
我的应用程序仍然希望使用生产 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;