Skip to content

Commit d67005b

Browse files
Cleanup + Sam's constants
1 parent 88e8f22 commit d67005b

File tree

3 files changed

+22
-29
lines changed

3 files changed

+22
-29
lines changed

packages/database/index.node.ts

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -51,16 +51,8 @@ const ServerValue = Database.ServerValue;
5151
* @param app A valid FirebaseApp-like object
5252
* @param url A valid Firebase databaseURL
5353
* @param version custom version e.g. firebase-admin version
54-
* @param thirdPartyAuth Whether to use third party auth for this client (`true`
55-
* for NodeJS users that use the client with end user credentials, `false` for
56-
* Firebase Admin)
5754
*/
58-
export function initStandalone(
59-
app: FirebaseApp,
60-
url: string,
61-
version: string,
62-
thirdPartyAuth = false
63-
) {
55+
export function initStandalone(app: FirebaseApp, url: string, version: string) {
6456
/**
6557
* This should allow the firebase-admin package to provide a custom version
6658
* to the backend
@@ -89,12 +81,7 @@ export function initStandalone(
8981
);
9082

9183
return {
92-
instance: RepoManager.getInstance().databaseFromApp(
93-
app,
94-
authProvider,
95-
url,
96-
thirdPartyAuth
97-
),
84+
instance: RepoManager.getInstance().databaseFromApp(app, authProvider, url),
9885
namespace: {
9986
Reference,
10087
Query,
@@ -125,8 +112,7 @@ export function registerDatabase(instance: FirebaseNamespace) {
125112
return RepoManager.getInstance().databaseFromApp(
126113
app,
127114
authProvider,
128-
url,
129-
/* thirdPartyAuth= */ true
115+
url
130116
);
131117
},
132118
ComponentType.PUBLIC
@@ -150,8 +136,7 @@ export function registerDatabase(instance: FirebaseNamespace) {
150136
instance.registerVersion(name, version, 'node');
151137

152138
if (isNodeSdk()) {
153-
module.exports = (app: FirebaseApp, url: string, version: string) =>
154-
initStandalone(app, url, version, /* thirdPartyAuth= */ true);
139+
module.exports = Object.assign({}, namespace, { initStandalone });
155140
}
156141
}
157142

packages/database/src/core/AuthTokenProvider.ts

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,20 @@ export class FirebaseAuthTokenProvider implements AuthTokenProvider {
113113
}
114114

115115
/* Auth token provider that the Admin SDK uses to connect to the Emulator. */
116-
export class EmptyAdminAuthTokenProvider implements AuthTokenProvider {
116+
export class EmulatorAdminTokenProvider implements AuthTokenProvider {
117+
private static EMULATOR_AUTH_TOKEN = 'owner';
118+
117119
getToken(forceRefresh: boolean): Promise<FirebaseAuthTokenData> {
118-
return Promise.resolve({ accessToken: 'Bearer owner' });
120+
return Promise.resolve({
121+
accessToken: EmulatorAdminTokenProvider.EMULATOR_AUTH_TOKEN
122+
});
119123
}
120-
addTokenChangeListener(listener: (token: string | null) => void): void {}
124+
125+
addTokenChangeListener(listener: (token: string | null) => void): void {
126+
listener(EmulatorAdminTokenProvider.EMULATOR_AUTH_TOKEN);
127+
}
128+
121129
removeTokenChangeListener(listener: (token: string | null) => void): void {}
130+
122131
notifyForInvalidToken(): void {}
123132
}

packages/database/src/core/RepoManager.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
*/
1717

1818
import { FirebaseApp } from '@firebase/app-types';
19-
import { safeGet } from '@firebase/util';
19+
import { safeGet, CONSTANTS } from '@firebase/util';
2020
import { Repo } from './Repo';
2121
import { fatal } from './util/util';
2222
import { parseRepoInfo } from './util/libs/parser';
@@ -28,7 +28,7 @@ import { FirebaseAuthInternalName } from '@firebase/auth-interop-types';
2828
import { Provider } from '@firebase/component';
2929
import {
3030
AuthTokenProvider,
31-
EmptyAdminAuthTokenProvider,
31+
EmulatorAdminTokenProvider,
3232
FirebaseAuthTokenProvider
3333
} from './AuthTokenProvider';
3434

@@ -99,8 +99,7 @@ export class RepoManager {
9999
databaseFromApp(
100100
app: FirebaseApp,
101101
authProvider: Provider<FirebaseAuthInternalName>,
102-
url?: string,
103-
thirdPartyAuth?: boolean
102+
url?: string
104103
): Database {
105104
let dbUrl: string | undefined = url || app.options[DATABASE_URL_OPTION];
106105
if (dbUrl === undefined) {
@@ -124,9 +123,9 @@ export class RepoManager {
124123
dbUrl = `http://${dbEmulatorHost}?ns=${repoInfo.namespace}`;
125124
parsedUrl = parseRepoInfo(dbUrl);
126125
repoInfo = parsedUrl.repoInfo;
127-
authTokenProvider = thirdPartyAuth
128-
? new FirebaseAuthTokenProvider(app, authProvider)
129-
: new EmptyAdminAuthTokenProvider();
126+
authTokenProvider = CONSTANTS.NODE_ADMIN
127+
? new EmulatorAdminTokenProvider()
128+
: new FirebaseAuthTokenProvider(app, authProvider);
130129
} else {
131130
authTokenProvider = new FirebaseAuthTokenProvider(app, authProvider);
132131
}

0 commit comments

Comments
 (0)