我试图用Firebase客户端sdk编写一些自动化测试。这些测试应该使用Firebase Auth仿真程序。为了避免搞砸生产数据,我使用了一个演示项目id (如文件所述)的模拟器。
我用以下命令启动模拟器:
firebase emulators:start --project demo-test --only functions,firestore,storage,auth
然后,在我的测试中,我用:
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')
当测试初始化时,我得到以下错误:
FirebaseError: Firebase: Error (auth/invalid-api-key).
> 45 | const auth = getAuth(app)
| ^
注:此问题仅在身份验证时发生。我可以成功地连接到其他仿真器,如Firestore。
尽管文档中说了些什么,但我似乎无法将client实际连接到演示项目并使用auth模拟器。每次我尝试,它都会抛出这个错误。
有人知道如何设置演示项目模拟器并将客户端sdk连接到auth模拟器吗?
发布于 2022-07-02 13:25:41
我在initializeApp
中加入了一些随机值,出于某种原因,它起了作用.
initializeApp({
projectId: 'test',
appId: 'test',
apiKey: 'test',
})
发布于 2022-05-15 13:09:17
我已经通过使用ProductapiKey
和authDomain
来运行它。
const app = initializeApp({
projectId: 'demo-test',
apiKey: '...',
authDomain: '...',
});
但是很明显,考虑到演示项目不应该有任何apiKey
和authDomain
,这并不理想。
另外,当我使用生产apiKey
时,当警告“在模拟器模式下运行。不要与生产凭证一起使用”时,我很担心。但事实证明,警告意味着我们在运行仿真器时不应该输入任何敏感信息(例如真正的密码),正如所述的这里。因此,我认为使用生产apiKey
连接到模拟器没有问题。
https://stackoverflow.com/questions/72194253
复制相似问题