firebase-admin-edge 1.0.25 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -42
- package/dist/auth/auth-error-codes.d.ts +32 -0
- package/dist/auth/auth-error-codes.d.ts.map +1 -1
- package/dist/auth/auth-error-codes.js +32 -0
- package/dist/auth/auth-error-codes.js.map +1 -1
- package/dist/auth/email-action-request.d.ts +40 -0
- package/dist/auth/email-action-request.d.ts.map +1 -0
- package/dist/auth/email-action-request.js +80 -0
- package/dist/auth/email-action-request.js.map +1 -0
- package/dist/auth/email-action-request.test.d.ts +2 -0
- package/dist/auth/email-action-request.test.d.ts.map +1 -0
- package/dist/auth/email-action-request.test.js +128 -0
- package/dist/auth/email-action-request.test.js.map +1 -0
- package/dist/auth/firebase-admin-auth.d.ts +67 -9
- package/dist/auth/firebase-admin-auth.d.ts.map +1 -1
- package/dist/auth/firebase-admin-auth.js +491 -13
- package/dist/auth/firebase-admin-auth.js.map +1 -1
- package/dist/auth/firebase-admin-auth.test.js +1015 -6
- package/dist/auth/firebase-admin-auth.test.js.map +1 -1
- package/dist/auth/firebase-auth-endpoints.d.ts +84 -4
- package/dist/auth/firebase-auth-endpoints.d.ts.map +1 -1
- package/dist/auth/firebase-auth-endpoints.js +150 -8
- package/dist/auth/firebase-auth-endpoints.js.map +1 -1
- package/dist/auth/firebase-auth-endpoints.test.js +335 -3
- package/dist/auth/firebase-auth-endpoints.test.js.map +1 -1
- package/dist/auth/user-batch.d.ts +21 -0
- package/dist/auth/user-batch.d.ts.map +1 -0
- package/dist/auth/user-batch.js +49 -0
- package/dist/auth/user-batch.js.map +1 -0
- package/dist/auth/user-batch.test.d.ts +2 -0
- package/dist/auth/user-batch.test.d.ts.map +1 -0
- package/dist/auth/user-batch.test.js +73 -0
- package/dist/auth/user-batch.test.js.map +1 -0
- package/dist/auth/user-import.d.ts +55 -0
- package/dist/auth/user-import.d.ts.map +1 -0
- package/dist/auth/user-import.js +208 -0
- package/dist/auth/user-import.js.map +1 -0
- package/dist/auth/user-import.test.d.ts +2 -0
- package/dist/auth/user-import.test.d.ts.map +1 -0
- package/dist/auth/user-import.test.js +217 -0
- package/dist/auth/user-import.test.js.map +1 -0
- package/dist/auth/user-record.d.ts +69 -0
- package/dist/auth/user-record.d.ts.map +1 -0
- package/dist/auth/user-record.js +104 -0
- package/dist/auth/user-record.js.map +1 -0
- package/dist/auth/user-record.test.d.ts +2 -0
- package/dist/auth/user-record.test.d.ts.map +1 -0
- package/dist/auth/user-record.test.js +198 -0
- package/dist/auth/user-record.test.js.map +1 -0
- package/dist/auth/user-request.d.ts +98 -0
- package/dist/auth/user-request.d.ts.map +1 -0
- package/dist/auth/user-request.js +298 -0
- package/dist/auth/user-request.js.map +1 -0
- package/dist/auth/user-request.test.d.ts +2 -0
- package/dist/auth/user-request.test.d.ts.map +1 -0
- package/dist/auth/user-request.test.js +327 -0
- package/dist/auth/user-request.test.js.map +1 -0
- package/dist/firebase-edge-server.d.ts.map +1 -1
- package/dist/firebase-edge-server.js +6 -2
- package/dist/firebase-edge-server.js.map +1 -1
- package/dist/firebase-edge-server.test.js +29 -0
- package/dist/firebase-edge-server.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { createSessionCookie, getAccountInfo, revokeRefreshTokens } from './firebase-auth-endpoints.js';
|
|
1
|
+
import { generateEmailActionLink, deleteAccountsAdmin, importAccountsAdmin, createAccountAdmin, updateAccountAdmin, deleteAccountAdmin, createSessionCookie, downloadAccount, getAccountInfo, getAccountsInfo, revokeRefreshTokens } from './firebase-auth-endpoints.js';
|
|
2
2
|
import { signJWTCustomToken, verifyJWT, verifySessionJWT } from './firebase-jwt.js';
|
|
3
3
|
import { getToken } from './google-oauth.js';
|
|
4
4
|
import { FirebaseEdgeError, FirebaseAdminAuthErrorInfo, ensureError } from './errors.js';
|
|
5
|
+
import { validateDeleteUsers, createBatchUserResult } from './user-batch.js';
|
|
6
|
+
import { prepareUserImport } from './user-import.js';
|
|
7
|
+
import { createUserRecord, createGetUsersResult } from './user-record.js';
|
|
8
|
+
import { buildUserRequest, buildCustomClaimsRequest, buildUsersLookupRequest, validateUserUid } from './user-request.js';
|
|
9
|
+
import { buildEmailActionRequest } from './email-action-request.js';
|
|
5
10
|
/**
|
|
6
11
|
* Firebase Admin Authentication handler for edge environments.
|
|
7
12
|
* Provides server-side authentication operations using service account credentials.
|
|
@@ -60,6 +65,276 @@ export class FirebaseAdminAuth {
|
|
|
60
65
|
error: null
|
|
61
66
|
};
|
|
62
67
|
}
|
|
68
|
+
/** Create a user and return the complete user record. */
|
|
69
|
+
async createUser(properties) {
|
|
70
|
+
const request = buildUserRequest(properties, 'create');
|
|
71
|
+
if (request.error)
|
|
72
|
+
return { data: null, error: request.error };
|
|
73
|
+
try {
|
|
74
|
+
const { data: token, error } = await this.getCachedToken();
|
|
75
|
+
if (error)
|
|
76
|
+
return { data: null, error };
|
|
77
|
+
if (!token?.access_token)
|
|
78
|
+
return {
|
|
79
|
+
data: null,
|
|
80
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
81
|
+
};
|
|
82
|
+
const result = await createAccountAdmin(this.serviceAccountKey.project_id, request.data, token.access_token, this.fetch, this.tenantId);
|
|
83
|
+
if (result.error)
|
|
84
|
+
return {
|
|
85
|
+
data: null,
|
|
86
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_CREATE_USER_FAILED, { cause: result.error })
|
|
87
|
+
};
|
|
88
|
+
if (!result.data?.localId)
|
|
89
|
+
return {
|
|
90
|
+
data: null,
|
|
91
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_CREATE_USER_FAILED)
|
|
92
|
+
};
|
|
93
|
+
return await this.getManagedUser(result.data.localId, token.access_token);
|
|
94
|
+
}
|
|
95
|
+
catch (cause) {
|
|
96
|
+
return {
|
|
97
|
+
data: null,
|
|
98
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_CREATE_USER_FAILED, { cause: ensureError(cause) })
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
/** Update a user; null clears displayName, photoURL, or phoneNumber. */
|
|
103
|
+
async updateUser(uid, properties) {
|
|
104
|
+
const uidError = validateUserUid(uid);
|
|
105
|
+
if (uidError)
|
|
106
|
+
return { data: null, error: uidError };
|
|
107
|
+
const request = buildUserRequest(properties, 'update');
|
|
108
|
+
if (request.error)
|
|
109
|
+
return { data: null, error: request.error };
|
|
110
|
+
try {
|
|
111
|
+
const { data: token, error } = await this.getCachedToken();
|
|
112
|
+
if (error)
|
|
113
|
+
return { data: null, error };
|
|
114
|
+
if (!token?.access_token)
|
|
115
|
+
return {
|
|
116
|
+
data: null,
|
|
117
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
118
|
+
};
|
|
119
|
+
const result = await updateAccountAdmin(this.serviceAccountKey.project_id, uid, request.data, token.access_token, this.fetch, this.tenantId);
|
|
120
|
+
if (result.error)
|
|
121
|
+
return {
|
|
122
|
+
data: null,
|
|
123
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_UPDATE_USER_FAILED, { cause: result.error })
|
|
124
|
+
};
|
|
125
|
+
if (!result.data?.localId)
|
|
126
|
+
return {
|
|
127
|
+
data: null,
|
|
128
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_UPDATE_USER_FAILED)
|
|
129
|
+
};
|
|
130
|
+
return await this.getManagedUser(result.data.localId, token.access_token);
|
|
131
|
+
}
|
|
132
|
+
catch (cause) {
|
|
133
|
+
return {
|
|
134
|
+
data: null,
|
|
135
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_UPDATE_USER_FAILED, { cause: ensureError(cause) })
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/** Replace stored custom claims; pass null to clear all claims. */
|
|
140
|
+
async setCustomUserClaims(uid, claims) {
|
|
141
|
+
const uidError = validateUserUid(uid);
|
|
142
|
+
if (uidError)
|
|
143
|
+
return { data: null, error: uidError };
|
|
144
|
+
const request = buildCustomClaimsRequest(claims);
|
|
145
|
+
if (request.error)
|
|
146
|
+
return { data: null, error: request.error };
|
|
147
|
+
try {
|
|
148
|
+
const { data: token, error } = await this.getCachedToken();
|
|
149
|
+
if (error)
|
|
150
|
+
return { data: null, error };
|
|
151
|
+
if (!token?.access_token)
|
|
152
|
+
return {
|
|
153
|
+
data: null,
|
|
154
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
155
|
+
};
|
|
156
|
+
const result = await updateAccountAdmin(this.serviceAccountKey.project_id, uid, request.data, token.access_token, this.fetch, this.tenantId);
|
|
157
|
+
if (result.error)
|
|
158
|
+
return {
|
|
159
|
+
data: null,
|
|
160
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SET_CUSTOM_CLAIMS_FAILED, { cause: result.error })
|
|
161
|
+
};
|
|
162
|
+
if (!result.data?.localId)
|
|
163
|
+
return {
|
|
164
|
+
data: null,
|
|
165
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SET_CUSTOM_CLAIMS_FAILED)
|
|
166
|
+
};
|
|
167
|
+
return { data: undefined, error: null };
|
|
168
|
+
}
|
|
169
|
+
catch (cause) {
|
|
170
|
+
return {
|
|
171
|
+
data: null,
|
|
172
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SET_CUSTOM_CLAIMS_FAILED, { cause: ensureError(cause) })
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
/** Delete one user. A successful deletion returns undefined data. */
|
|
177
|
+
async deleteUser(uid) {
|
|
178
|
+
const uidError = validateUserUid(uid);
|
|
179
|
+
if (uidError)
|
|
180
|
+
return { data: null, error: uidError };
|
|
181
|
+
try {
|
|
182
|
+
const { data: token, error } = await this.getCachedToken();
|
|
183
|
+
if (error)
|
|
184
|
+
return { data: null, error };
|
|
185
|
+
if (!token?.access_token)
|
|
186
|
+
return {
|
|
187
|
+
data: null,
|
|
188
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
189
|
+
};
|
|
190
|
+
const result = await deleteAccountAdmin(this.serviceAccountKey.project_id, uid, token.access_token, this.fetch, this.tenantId);
|
|
191
|
+
if (result.error)
|
|
192
|
+
return {
|
|
193
|
+
data: null,
|
|
194
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_DELETE_USER_FAILED, { cause: result.error })
|
|
195
|
+
};
|
|
196
|
+
return { data: undefined, error: null };
|
|
197
|
+
}
|
|
198
|
+
catch (cause) {
|
|
199
|
+
return {
|
|
200
|
+
data: null,
|
|
201
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_DELETE_USER_FAILED, { cause: ensureError(cause) })
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/** Delete up to 1000 users, reporting failures by original input index. */
|
|
206
|
+
async deleteUsers(uids) {
|
|
207
|
+
const validationError = validateDeleteUsers(uids);
|
|
208
|
+
if (validationError)
|
|
209
|
+
return { data: null, error: validationError };
|
|
210
|
+
if (uids.length === 0)
|
|
211
|
+
return { data: createBatchUserResult([]), error: null };
|
|
212
|
+
try {
|
|
213
|
+
const { data: token, error } = await this.getCachedToken();
|
|
214
|
+
if (error)
|
|
215
|
+
return { data: null, error };
|
|
216
|
+
if (!token?.access_token)
|
|
217
|
+
return {
|
|
218
|
+
data: null,
|
|
219
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
220
|
+
};
|
|
221
|
+
const result = await deleteAccountsAdmin(this.serviceAccountKey.project_id, uids, token.access_token, this.fetch, this.tenantId);
|
|
222
|
+
if (result.error)
|
|
223
|
+
return {
|
|
224
|
+
data: null,
|
|
225
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_DELETE_USER_FAILED, { cause: result.error })
|
|
226
|
+
};
|
|
227
|
+
if (!result.data || typeof result.data !== 'object')
|
|
228
|
+
return {
|
|
229
|
+
data: null,
|
|
230
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_DELETE_USER_FAILED)
|
|
231
|
+
};
|
|
232
|
+
return {
|
|
233
|
+
data: createBatchUserResult(uids.map((_, index) => index), result.data.errors),
|
|
234
|
+
error: null
|
|
235
|
+
};
|
|
236
|
+
}
|
|
237
|
+
catch (cause) {
|
|
238
|
+
return {
|
|
239
|
+
data: null,
|
|
240
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_DELETE_USER_FAILED, { cause: ensureError(cause) })
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
/** Import up to 1000 users, with local and API failures indexed to the original input. */
|
|
245
|
+
async importUsers(users, options) {
|
|
246
|
+
const prepared = prepareUserImport(users, options, this.tenantId);
|
|
247
|
+
if (prepared.error)
|
|
248
|
+
return { data: null, error: prepared.error };
|
|
249
|
+
const { body, indices, errors } = prepared.data;
|
|
250
|
+
if (indices.length === 0)
|
|
251
|
+
return {
|
|
252
|
+
data: createBatchUserResult([], [], errors, 'import'),
|
|
253
|
+
error: null
|
|
254
|
+
};
|
|
255
|
+
try {
|
|
256
|
+
const { data: token, error } = await this.getCachedToken();
|
|
257
|
+
if (error)
|
|
258
|
+
return { data: null, error };
|
|
259
|
+
if (!token?.access_token)
|
|
260
|
+
return {
|
|
261
|
+
data: null,
|
|
262
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
263
|
+
};
|
|
264
|
+
const result = await importAccountsAdmin(this.serviceAccountKey.project_id, body, token.access_token, this.fetch, this.tenantId);
|
|
265
|
+
if (result.error)
|
|
266
|
+
return {
|
|
267
|
+
data: null,
|
|
268
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_IMPORT_USERS_FAILED, { cause: result.error })
|
|
269
|
+
};
|
|
270
|
+
if (!result.data || typeof result.data !== 'object')
|
|
271
|
+
return {
|
|
272
|
+
data: null,
|
|
273
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_IMPORT_USERS_FAILED)
|
|
274
|
+
};
|
|
275
|
+
return {
|
|
276
|
+
data: createBatchUserResult(indices, result.data.error, errors, 'import'),
|
|
277
|
+
error: null
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
catch (cause) {
|
|
281
|
+
return {
|
|
282
|
+
data: null,
|
|
283
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_IMPORT_USERS_FAILED, { cause: ensureError(cause) })
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
/** Read back a complete record after a successful create or update. */
|
|
288
|
+
async getManagedUser(uid, token) {
|
|
289
|
+
const { data, error } = await getAccountInfo({ uid }, token, this.serviceAccountKey.project_id, this.tenantId, this.fetch);
|
|
290
|
+
if (error)
|
|
291
|
+
return { data: null, error };
|
|
292
|
+
if (!data)
|
|
293
|
+
return {
|
|
294
|
+
data: null,
|
|
295
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_RECORD_NOT_FOUND)
|
|
296
|
+
};
|
|
297
|
+
return { data: createUserRecord(data), error: null };
|
|
298
|
+
}
|
|
299
|
+
/** Look up at most 100 identifiers, returning users and unmatched identifiers. */
|
|
300
|
+
async getUsers(identifiers) {
|
|
301
|
+
const request = buildUsersLookupRequest(identifiers);
|
|
302
|
+
if (request.error)
|
|
303
|
+
return { data: null, error: request.error };
|
|
304
|
+
if (identifiers.length === 0)
|
|
305
|
+
return { data: { users: [], notFound: [] }, error: null };
|
|
306
|
+
try {
|
|
307
|
+
const { data: token, error } = await this.getCachedToken();
|
|
308
|
+
if (error)
|
|
309
|
+
return { data: null, error };
|
|
310
|
+
if (!token?.access_token)
|
|
311
|
+
return {
|
|
312
|
+
data: null,
|
|
313
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
314
|
+
};
|
|
315
|
+
const result = await getAccountsInfo(request.data, token.access_token, this.serviceAccountKey.project_id, this.tenantId, this.fetch);
|
|
316
|
+
if (result.error)
|
|
317
|
+
return {
|
|
318
|
+
data: null,
|
|
319
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_LOOKUP_FAILED, { cause: result.error })
|
|
320
|
+
};
|
|
321
|
+
if (!result.data || typeof result.data !== 'object')
|
|
322
|
+
return {
|
|
323
|
+
data: null,
|
|
324
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_LOOKUP_FAILED)
|
|
325
|
+
};
|
|
326
|
+
return {
|
|
327
|
+
data: createGetUsersResult(identifiers, result.data),
|
|
328
|
+
error: null
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
catch (cause) {
|
|
332
|
+
return {
|
|
333
|
+
data: null,
|
|
334
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_LOOKUP_FAILED, { cause: ensureError(cause) })
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
}
|
|
63
338
|
/**
|
|
64
339
|
* Retrieves user account information by UID.
|
|
65
340
|
*
|
|
@@ -86,6 +361,73 @@ export class FirebaseAdminAuth {
|
|
|
86
361
|
error: null
|
|
87
362
|
};
|
|
88
363
|
}
|
|
364
|
+
/**
|
|
365
|
+
* Lists one page of users, using Firebase Admin's page size and token contract.
|
|
366
|
+
* @param maxResults Page size (1–1000), defaults to 1000.
|
|
367
|
+
* @param pageToken Token returned by the previous page.
|
|
368
|
+
* @returns User records and an optional next page token, or a structured error.
|
|
369
|
+
*/
|
|
370
|
+
async listUsers(maxResults = 1000, pageToken) {
|
|
371
|
+
if (pageToken !== undefined &&
|
|
372
|
+
(typeof pageToken !== 'string' || pageToken.length === 0)) {
|
|
373
|
+
return {
|
|
374
|
+
data: null,
|
|
375
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_INVALID_PAGE_TOKEN)
|
|
376
|
+
};
|
|
377
|
+
}
|
|
378
|
+
if (!Number.isInteger(maxResults) ||
|
|
379
|
+
maxResults < 1 ||
|
|
380
|
+
maxResults > 1000) {
|
|
381
|
+
return {
|
|
382
|
+
data: null,
|
|
383
|
+
error: new FirebaseEdgeError({
|
|
384
|
+
...FirebaseAdminAuthErrorInfo.ADMIN_API_INVALID_ARGUMENT,
|
|
385
|
+
message: 'maxResults must be a positive integer that does not exceed 1000.'
|
|
386
|
+
})
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
try {
|
|
390
|
+
const { data: token, error: tokenError } = await this.getCachedToken();
|
|
391
|
+
if (tokenError)
|
|
392
|
+
return { data: null, error: tokenError };
|
|
393
|
+
if (!token?.access_token) {
|
|
394
|
+
return {
|
|
395
|
+
data: null,
|
|
396
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
397
|
+
};
|
|
398
|
+
}
|
|
399
|
+
const { data, error } = await downloadAccount(token.access_token, this.serviceAccountKey.project_id, maxResults, pageToken, this.tenantId, this.fetch);
|
|
400
|
+
if (error) {
|
|
401
|
+
return {
|
|
402
|
+
data: null,
|
|
403
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_LIST_USERS_FAILED, {
|
|
404
|
+
cause: ensureError(error)
|
|
405
|
+
})
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
if (!data || typeof data !== 'object') {
|
|
409
|
+
return {
|
|
410
|
+
data: null,
|
|
411
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_LIST_USERS_FAILED)
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
return {
|
|
415
|
+
data: {
|
|
416
|
+
users: (data.users ?? []).map(createUserRecord),
|
|
417
|
+
...(data.nextPageToken !== undefined && {
|
|
418
|
+
pageToken: data.nextPageToken
|
|
419
|
+
})
|
|
420
|
+
},
|
|
421
|
+
error: null
|
|
422
|
+
};
|
|
423
|
+
}
|
|
424
|
+
catch (error) {
|
|
425
|
+
return {
|
|
426
|
+
data: null,
|
|
427
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_LIST_USERS_FAILED, { cause: ensureError(error) })
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
}
|
|
89
431
|
/**
|
|
90
432
|
* Retrieves user account information by email address.
|
|
91
433
|
*
|
|
@@ -112,6 +454,55 @@ export class FirebaseAdminAuth {
|
|
|
112
454
|
error: null
|
|
113
455
|
};
|
|
114
456
|
}
|
|
457
|
+
/** Look up a linked provider UID, or a primary email/phone identifier. */
|
|
458
|
+
async getUserByProviderUid(providerId, uid) {
|
|
459
|
+
const identifier = providerId === 'email'
|
|
460
|
+
? { email: uid }
|
|
461
|
+
: providerId === 'phone'
|
|
462
|
+
? { phoneNumber: uid }
|
|
463
|
+
: { providerId, providerUid: uid };
|
|
464
|
+
const result = await this.getUsers([identifier]);
|
|
465
|
+
if (result.error)
|
|
466
|
+
return { data: null, error: result.error };
|
|
467
|
+
const user = result.data.users[0];
|
|
468
|
+
if (!user)
|
|
469
|
+
return {
|
|
470
|
+
data: null,
|
|
471
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_NOT_FOUND)
|
|
472
|
+
};
|
|
473
|
+
return { data: user, error: null };
|
|
474
|
+
}
|
|
475
|
+
/** Look up a user by their primary international phone number. */
|
|
476
|
+
async getUserByPhoneNumber(phoneNumber) {
|
|
477
|
+
const validation = buildUsersLookupRequest([{ phoneNumber }]);
|
|
478
|
+
if (validation.error)
|
|
479
|
+
return { data: null, error: validation.error };
|
|
480
|
+
try {
|
|
481
|
+
const { data: token, error } = await this.getCachedToken();
|
|
482
|
+
if (error)
|
|
483
|
+
return { data: null, error };
|
|
484
|
+
if (!token?.access_token)
|
|
485
|
+
return {
|
|
486
|
+
data: null,
|
|
487
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
488
|
+
};
|
|
489
|
+
const result = await getAccountInfo({ phoneNumber }, token.access_token, this.serviceAccountKey.project_id, this.tenantId, this.fetch);
|
|
490
|
+
if (result.error)
|
|
491
|
+
return { data: null, error: result.error };
|
|
492
|
+
if (!result.data)
|
|
493
|
+
return {
|
|
494
|
+
data: null,
|
|
495
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_NOT_FOUND)
|
|
496
|
+
};
|
|
497
|
+
return { data: createUserRecord(result.data), error: null };
|
|
498
|
+
}
|
|
499
|
+
catch (cause) {
|
|
500
|
+
return {
|
|
501
|
+
data: null,
|
|
502
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_LOOKUP_FAILED, { cause: ensureError(cause) })
|
|
503
|
+
};
|
|
504
|
+
}
|
|
505
|
+
}
|
|
115
506
|
/**
|
|
116
507
|
* Verifies a Firebase ID token and returns the decoded payload.
|
|
117
508
|
* Optionally checks if the token has been revoked.
|
|
@@ -193,28 +584,105 @@ export class FirebaseAdminAuth {
|
|
|
193
584
|
* Creates a session cookie from a Firebase ID token.
|
|
194
585
|
*
|
|
195
586
|
* @param idToken Firebase ID token to convert to session cookie
|
|
196
|
-
* @param
|
|
587
|
+
* @param options Session cookie lifetime in milliseconds
|
|
197
588
|
* @returns Promise with object containing session cookie string or null, and error if any
|
|
198
589
|
*/
|
|
199
|
-
async createSessionCookie(idToken,
|
|
200
|
-
|
|
201
|
-
if (getTokenError) {
|
|
590
|
+
async createSessionCookie(idToken, options) {
|
|
591
|
+
if (typeof idToken !== 'string' || !idToken.length)
|
|
202
592
|
return {
|
|
203
593
|
data: null,
|
|
204
|
-
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.
|
|
594
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_ID_TOKEN_INVALID)
|
|
595
|
+
};
|
|
596
|
+
if (!options ||
|
|
597
|
+
typeof options !== 'object' ||
|
|
598
|
+
!Number.isFinite(options.expiresIn) ||
|
|
599
|
+
options.expiresIn < 300000 ||
|
|
600
|
+
options.expiresIn > 1209600000)
|
|
601
|
+
return {
|
|
602
|
+
data: null,
|
|
603
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SESSION_COOKIE_DURATION_INVALID)
|
|
604
|
+
};
|
|
605
|
+
try {
|
|
606
|
+
const { data: token, error: getTokenError } = await this.getCachedToken();
|
|
607
|
+
if (getTokenError) {
|
|
608
|
+
return {
|
|
609
|
+
data: null,
|
|
610
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SERVICE_ACCOUNT_TOKEN_FAILED, { cause: getTokenError })
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
if (!token?.access_token)
|
|
614
|
+
return {
|
|
615
|
+
data: null,
|
|
616
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
617
|
+
};
|
|
618
|
+
const { data, error } = await createSessionCookie(idToken, token.access_token, this.serviceAccountKey.project_id, options.expiresIn, this.tenantId, this.fetch);
|
|
619
|
+
if (error || !data) {
|
|
620
|
+
return {
|
|
621
|
+
data: null,
|
|
622
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SESSION_COOKIE_CREATE_FAILED, {
|
|
623
|
+
cause: ensureError(error ??
|
|
624
|
+
new Error('Firebase returned no session cookie.'))
|
|
625
|
+
})
|
|
626
|
+
};
|
|
627
|
+
}
|
|
628
|
+
return {
|
|
629
|
+
data,
|
|
630
|
+
error: null
|
|
205
631
|
};
|
|
206
632
|
}
|
|
207
|
-
|
|
208
|
-
if (error) {
|
|
633
|
+
catch (cause) {
|
|
209
634
|
return {
|
|
210
635
|
data: null,
|
|
211
|
-
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SESSION_COOKIE_CREATE_FAILED, { cause: ensureError(
|
|
636
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SESSION_COOKIE_CREATE_FAILED, { cause: ensureError(cause) })
|
|
637
|
+
};
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
/** Generate a password reset link to send through your own email service. */
|
|
641
|
+
async generatePasswordResetLink(email, settings) {
|
|
642
|
+
return this.generateActionLink('PASSWORD_RESET', email, settings);
|
|
643
|
+
}
|
|
644
|
+
/** Generate an email verification link without sending an email. */
|
|
645
|
+
async generateEmailVerificationLink(email, settings) {
|
|
646
|
+
return this.generateActionLink('VERIFY_EMAIL', email, settings);
|
|
647
|
+
}
|
|
648
|
+
/** Generate a link that verifies a new email before changing the account email. */
|
|
649
|
+
async generateVerifyAndChangeEmailLink(email, newEmail, settings) {
|
|
650
|
+
return this.generateActionLink('VERIFY_AND_CHANGE_EMAIL', email, settings, newEmail);
|
|
651
|
+
}
|
|
652
|
+
/** Generate an email sign-in link; action code settings are required. */
|
|
653
|
+
async generateSignInWithEmailLink(email, settings) {
|
|
654
|
+
return this.generateActionLink('EMAIL_SIGNIN', email, settings);
|
|
655
|
+
}
|
|
656
|
+
async generateActionLink(requestType, email, settings, newEmail) {
|
|
657
|
+
const request = buildEmailActionRequest(requestType, email, settings, newEmail);
|
|
658
|
+
if (request.error)
|
|
659
|
+
return request;
|
|
660
|
+
try {
|
|
661
|
+
const { data: token, error: tokenError } = await this.getCachedToken();
|
|
662
|
+
if (tokenError)
|
|
663
|
+
return {
|
|
664
|
+
data: null,
|
|
665
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SERVICE_ACCOUNT_TOKEN_FAILED, { cause: ensureError(tokenError) })
|
|
666
|
+
};
|
|
667
|
+
if (!token?.access_token)
|
|
668
|
+
return {
|
|
669
|
+
data: null,
|
|
670
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
|
|
671
|
+
};
|
|
672
|
+
const { data, error } = await generateEmailActionLink(this.serviceAccountKey.project_id, request.data, token.access_token, this.fetch, this.tenantId);
|
|
673
|
+
if (error)
|
|
674
|
+
return {
|
|
675
|
+
data: null,
|
|
676
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_EMAIL_ACTION_LINK_FAILED, { cause: ensureError(error) })
|
|
677
|
+
};
|
|
678
|
+
return { data, error: null };
|
|
679
|
+
}
|
|
680
|
+
catch (cause) {
|
|
681
|
+
return {
|
|
682
|
+
data: null,
|
|
683
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_EMAIL_ACTION_LINK_FAILED, { cause: ensureError(cause) })
|
|
212
684
|
};
|
|
213
685
|
}
|
|
214
|
-
return {
|
|
215
|
-
data,
|
|
216
|
-
error: null
|
|
217
|
-
};
|
|
218
686
|
}
|
|
219
687
|
/**
|
|
220
688
|
* Verifies a Firebase session cookie and returns the decoded payload.
|
|
@@ -272,6 +740,16 @@ export class FirebaseAdminAuth {
|
|
|
272
740
|
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_RECORD_NOT_FOUND)
|
|
273
741
|
};
|
|
274
742
|
}
|
|
743
|
+
if (user.disabled)
|
|
744
|
+
return {
|
|
745
|
+
data: null,
|
|
746
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_DISABLED)
|
|
747
|
+
};
|
|
748
|
+
if (user.validSince && data.auth_time < Number(user.validSince))
|
|
749
|
+
return {
|
|
750
|
+
data: null,
|
|
751
|
+
error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SESSION_COOKIE_REVOKED)
|
|
752
|
+
};
|
|
275
753
|
return {
|
|
276
754
|
data,
|
|
277
755
|
error: null
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-admin-auth.js","sourceRoot":"","sources":["../../src/auth/firebase-admin-auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firebase-admin-auth.js","sourceRoot":"","sources":["../../src/auth/firebase-admin-auth.ts"],"names":[],"mappings":"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"}
|