Skip to content

Commit 7b0bb8b

Browse files
committed
fix(rtdb): Apply fake credentials when getting rules for rtdb emulator
1 parent 179dab7 commit 7b0bb8b

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/database/database.ts

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ const RULES_URL_PATH = '.settings/rules.json';
196196
class DatabaseRulesClient {
197197

198198
private readonly dbUrl: string;
199-
private readonly httpClient: AuthorizedHttpClient;
199+
private readonly httpClient: DatabaseHttpClient;
200200

201201
constructor(app: App, dbUrl: string) {
202202
let parsedUrl = new URL(dbUrl);
@@ -208,7 +208,7 @@ class DatabaseRulesClient {
208208

209209
parsedUrl.pathname = path.join(parsedUrl.pathname, RULES_URL_PATH);
210210
this.dbUrl = parsedUrl.toString();
211-
this.httpClient = new AuthorizedHttpClient(app as FirebaseApp);
211+
this.httpClient = new DatabaseHttpClient(app as FirebaseApp);
212212
}
213213

214214
/**
@@ -316,6 +316,16 @@ class DatabaseRulesClient {
316316
}
317317
}
318318

319+
class DatabaseHttpClient extends AuthorizedHttpClient {
320+
protected getToken(): Promise<string> {
321+
const emulatorHost = process.env.FIREBASE_DATABASE_EMULATOR_HOST;
322+
if (emulatorHost) {
323+
return Promise.resolve('owner');
324+
}
325+
return super.getToken();
326+
}
327+
}
328+
319329
function extractNamespace(parsedUrl: URL): string {
320330
const ns = parsedUrl.searchParams.get('ns');
321331
if (ns) {

0 commit comments

Comments
 (0)