我正在尝试使用 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 连接到身份验证模拟器吗?
我有一个使用实时数据库的 Firebase 项目,我正在尝试设置本地模拟器进行测试。不幸的是,Firebase-cli 似乎正在占用我的database.rules.json文件。即使在创建测试项目来解决这个特定问题之后也会发生这种情况。
让我给你一些有关我的设置的信息。
我创建了一个没有启用任何内容的 Firebase 项目。我在本地计算机上创建了一个空目录并运行firebase init database. 这样做创建了一些文件:
.firebaserc
{
"projects": {
"default": "emulators-test-244be"
}
}
Run Code Online (Sandbox Code Playgroud)
firebase.json
{
"database": {
"rules": "database.rules.json"
}
}
Run Code Online (Sandbox Code Playgroud)
database.rules.json(我这里修改了规则来锁定数据库)
{
"rules": {
".read": false,
".write": false
}
}
Run Code Online (Sandbox Code Playgroud)
当我使用运行模拟器时firebase emulators:start --only database,控制台告诉我数据库已成功初始化。但是,当我访问http://localhost:9000/.inspect/coverage?ns=emulators-test-244be查看当前加载的安全规则时,它给出以下输出:
{
"rules": {
".read": true,
".write": true
}
}
Run Code Online (Sandbox Code Playgroud)
显然,这直接违背了我在文件中设定的规则database.rules.json。
我注意到的一件事是,如果我database.rules.json在模拟器运行时修改文件,我会从控制台得到以下输出:
i database: Change detected, updating rules for undefined...
显然,这样做会导致模拟器创建一个名为 的新数据库undefined。当我转到 时http://localhost:9000/.inspect/coverage?ns=undefined,输出正确反映了我在 …
firebase firebase-security firebase-realtime-database firebase-cli
我对装配很新,但我正试图深入了解低级计算的世界.我正在尝试学习如何编写将作为引导加载程序代码运行的汇编代码; 所以独立于任何其他操作系统,如Linux或Windows.在阅读了本页和其他几个x86指令集列表之后,我想出了一些汇编代码,它应该在屏幕上打印10 A然后是1 B.
BITS 16
start:
mov ax, 07C0h ; Set up 4K stack space after this bootloader
add ax, 288 ; (4096 + 512) / 16 bytes per paragraph
mov ss, ax
mov sp, 4096
mov ax, 07C0h ; Set data segment to where we're loaded
mov ds, ax
mov cl, 10 ; Use this register as our loop counter
mov ah, 0Eh ; This register holds our BIOS instruction
.repeat:
mov al, 41h ; Put …Run Code Online (Sandbox Code Playgroud) firebase ×2
assembly ×1
bios ×1
bootloader ×1
firebase-cli ×1
javascript ×1
usb-drive ×1
x86 ×1