Firebase:演示项目出现错误(auth/invalid-api-key)

AMF*_*ech 8 javascript firebase firebase-tools firebase-authentication

我正在尝试使用 Firebase 客户端 sdk 编写一些自动化测试。这些测试应该使用 Firebase Auth 模拟器。为了避免搞乱生产数据,我使用带有演示项目 ID 的模拟器(如文档中所述)。

我使用以下命令启动模拟器:

firebase emulators:start --project demo-test --only functions,firestore,storage,auth
Run Code Online (Sandbox Code Playgroud)

然后在我的测试中,我使用以下命令初始化应用程序:

import { initializeApp } from 'firebase/app'
import { getAuth, connectAuthEmulator } from 'firebase/auth'

const app = initializeApp({ projectId: 'demo-test' })
const auth = getAuth(app)
connectAuthEmulator(auth, 'http://localhost:9099')
Run Code Online (Sandbox Code Playgroud)

当测试初始化​​时,我收到此错误:

 FirebaseError: Firebase: Error (auth/invalid-api-key).

    > 45 |     const auth = getAuth(app)
         |                  ^
Run Code Online (Sandbox Code Playgroud)

注意:此问题仅在身份验证时发生。我可以成功连接到 Firestore 等其他模拟器。

看来,不管文档怎么说,我实际上无法将客户端 SDK 连接到演示项目并使用 auth 模拟器。每次我尝试时,都会抛出此错误。

有人知道如何设置演示项目模拟器并将客户端 SDK 连接到身份验证模拟器吗?

小智 13

我输入了一些随机值initializeApp,由于某种原因它起作用了......

initializeApp({
  projectId: 'test',
  appId: 'test',
  apiKey: 'test',
})
Run Code Online (Sandbox Code Playgroud)


aab*_*021 0

我已经通过使用生产apiKey和来运行它authDomain

const app = initializeApp({
  projectId: 'demo-test',
  apiKey: '...',
  authDomain: '...',
});
Run Code Online (Sandbox Code Playgroud)

apiKey但显然,考虑到演示项目不应该有任何和,这显然并不理想authDomain

另外,当我使用生产apiKey. 但事实证明,警告意味着我们在运行模拟器时不应输入任何敏感信息(例如真实密码),如此处所述apiKey所以我认为我们使用生产连接到模拟器没有问题。