firebase-admin-edge 1.0.24 → 1.1.0
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/LICENSE +1 -1
- package/README.md +343 -46
- package/dist/auth/auth-endpoint-errors.d.ts.map +1 -1
- package/dist/auth/auth-endpoint-errors.js +11 -0
- package/dist/auth/auth-endpoint-errors.js.map +1 -1
- package/dist/auth/auth-endpoint-errors.test.js +8 -0
- package/dist/auth/auth-endpoint-errors.test.js.map +1 -1
- 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/firebase-admin-auth.d.ts +48 -0
- package/dist/auth/firebase-admin-auth.d.ts.map +1 -1
- package/dist/auth/firebase-admin-auth.js +248 -1
- package/dist/auth/firebase-admin-auth.js.map +1 -1
- package/dist/auth/firebase-admin-auth.test.js +391 -1
- package/dist/auth/firebase-admin-auth.test.js.map +1 -1
- package/dist/auth/firebase-auth-endpoints.d.ts +174 -1
- package/dist/auth/firebase-auth-endpoints.d.ts.map +1 -1
- package/dist/auth/firebase-auth-endpoints.js +232 -4
- package/dist/auth/firebase-auth-endpoints.js.map +1 -1
- package/dist/auth/firebase-auth-endpoints.test.js +210 -3
- package/dist/auth/firebase-auth-endpoints.test.js.map +1 -1
- package/dist/auth/firebase-auth.d.ts +7 -0
- package/dist/auth/firebase-auth.d.ts.map +1 -1
- package/dist/auth/firebase-auth.js +45 -3
- package/dist/auth/firebase-auth.js.map +1 -1
- package/dist/auth/firebase-auth.test.js +3 -3
- package/dist/auth/firebase-auth.test.js.map +1 -1
- package/dist/auth/firebase-types.d.ts +16 -6
- package/dist/auth/firebase-types.d.ts.map +1 -1
- package/dist/auth/oauth.d.ts +2 -2
- package/dist/auth/oauth.d.ts.map +1 -1
- package/dist/auth/oauth.js +8 -8
- package/dist/auth/oauth.js.map +1 -1
- package/dist/auth/oauth.test.js +11 -7
- package/dist/auth/oauth.test.js.map +1 -1
- 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 +88 -0
- package/dist/auth/user-request.d.ts.map +1 -0
- package/dist/auth/user-request.js +242 -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 +269 -0
- package/dist/auth/user-request.test.js.map +1 -0
- package/dist/firebase-edge-errors.d.ts +4 -0
- package/dist/firebase-edge-errors.d.ts.map +1 -1
- package/dist/firebase-edge-errors.js +4 -0
- package/dist/firebase-edge-errors.js.map +1 -1
- package/dist/firebase-edge-server.d.ts +32 -0
- package/dist/firebase-edge-server.d.ts.map +1 -1
- package/dist/firebase-edge-server.js +170 -3
- package/dist/firebase-edge-server.js.map +1 -1
- package/package.json +8 -4
|
@@ -1,22 +1,74 @@
|
|
|
1
|
-
import type { FirebaseCreateAuthUriResponse, FirebaseIdpSignInResponse, FirebaseRefreshTokenResponse, FirebaseUpdateAccountResponse, UserInfo } from './firebase-types.js';
|
|
1
|
+
import type { FirebaseCreateAuthUriResponse, FirebaseIdpSignInResponse, FirebaseRefreshTokenResponse, FirebaseUpdateAccountResponse, UpdateAccountRequest, UserInfo } from './firebase-types.js';
|
|
2
2
|
import type { JsonWebKey } from 'crypto';
|
|
3
3
|
import type { FirebaseEdgeError } from './errors.js';
|
|
4
|
+
import type { ListUsersResponse } from './user-record.js';
|
|
5
|
+
import type { UsersLookupRequest } from './user-request.js';
|
|
6
|
+
/** Look up a validated batch, allowing successful responses with no matching users. */
|
|
7
|
+
export declare function getAccountsInfo(identifiers: UsersLookupRequest, token: string, projectId: string, tenantId?: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
8
|
+
data: null;
|
|
9
|
+
error: Error;
|
|
10
|
+
} | {
|
|
11
|
+
data: ListUsersResponse;
|
|
12
|
+
error: null;
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* Exchanges a refresh token for a new Firebase ID token.
|
|
16
|
+
*
|
|
17
|
+
* @param refreshToken Firebase refresh token.
|
|
18
|
+
* @param key Firebase Web API key.
|
|
19
|
+
* @param fetchFn Optional fetch implementation (useful for runtimes like edge).
|
|
20
|
+
*/
|
|
4
21
|
export declare function refreshFirebaseIdToken(refreshToken: string, key: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
5
22
|
data: FirebaseRefreshTokenResponse | null;
|
|
6
23
|
error: FirebaseEdgeError | null;
|
|
7
24
|
}>;
|
|
25
|
+
/**
|
|
26
|
+
* Creates an Auth URI to initiate an OAuth sign-in flow (Google by default).
|
|
27
|
+
*
|
|
28
|
+
* @param redirect_uri Redirect/continue URL.
|
|
29
|
+
* @param key Firebase Web API key.
|
|
30
|
+
* @param tenantId Optional tenant ID.
|
|
31
|
+
* @param fetchFn Optional fetch implementation.
|
|
32
|
+
*/
|
|
8
33
|
export declare function createAuthUri(redirect_uri: string, key: string, tenantId?: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
9
34
|
data: FirebaseCreateAuthUriResponse | null;
|
|
10
35
|
error: FirebaseEdgeError | null;
|
|
11
36
|
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Signs a user in via an identity provider (Google/GitHub/etc.) using the IdP token.
|
|
39
|
+
*
|
|
40
|
+
* @param providerIdToken The IdP token (GitHub access token or OIDC ID token).
|
|
41
|
+
* @param requestUri The origin/URL of the sign-in request.
|
|
42
|
+
* @param providerId Provider ID (e.g. "google.com", "github.com").
|
|
43
|
+
* @param key Firebase Web API key.
|
|
44
|
+
* @param tenantId Optional tenant ID.
|
|
45
|
+
* @param fetchFn Optional fetch implementation.
|
|
46
|
+
*/
|
|
12
47
|
export declare function signInWithIdp(providerIdToken: string, requestUri: string, providerId: string | undefined, key: string, tenantId?: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
13
48
|
data: FirebaseIdpSignInResponse | null;
|
|
14
49
|
error: FirebaseEdgeError | null;
|
|
15
50
|
}>;
|
|
51
|
+
/**
|
|
52
|
+
* Signs a user in with a Firebase custom token.
|
|
53
|
+
*
|
|
54
|
+
* @param jwtToken Firebase custom token (JWT).
|
|
55
|
+
* @param key Firebase Web API key.
|
|
56
|
+
* @param tenantId Optional tenant ID.
|
|
57
|
+
* @param fetchFn Optional fetch implementation.
|
|
58
|
+
*/
|
|
16
59
|
export declare function signInWithCustomToken(jwtToken: string, key: string, tenantId?: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
17
60
|
data: FirebaseIdpSignInResponse | null;
|
|
18
61
|
error: FirebaseEdgeError | null;
|
|
19
62
|
}>;
|
|
63
|
+
/**
|
|
64
|
+
* Looks up a user record by UID, email, or phone number.
|
|
65
|
+
*
|
|
66
|
+
* @param identifier Lookup key (uid/email/phoneNumber).
|
|
67
|
+
* @param token Google OAuth access token with Identity Toolkit scope.
|
|
68
|
+
* @param project_id Firebase project ID.
|
|
69
|
+
* @param tenantId Optional tenant ID.
|
|
70
|
+
* @param fetchFn Optional fetch implementation.
|
|
71
|
+
*/
|
|
20
72
|
export declare function getAccountInfo(identifier: {
|
|
21
73
|
uid: string;
|
|
22
74
|
} | {
|
|
@@ -27,20 +79,62 @@ export declare function getAccountInfo(identifier: {
|
|
|
27
79
|
data: UserInfo | null | undefined;
|
|
28
80
|
error: FirebaseEdgeError | null;
|
|
29
81
|
}>;
|
|
82
|
+
/**
|
|
83
|
+
* Downloads one page of user accounts for FirebaseAdminAuth.listUsers.
|
|
84
|
+
* @param token Google OAuth access token.
|
|
85
|
+
* @param project_id Firebase project ID.
|
|
86
|
+
* @param maxResults Page size, already validated by the admin auth method.
|
|
87
|
+
* @param pageToken Optional token from the previous page.
|
|
88
|
+
* @param tenantId Optional tenant ID.
|
|
89
|
+
* @param fetchFn Optional fetch implementation.
|
|
90
|
+
* @internal
|
|
91
|
+
*/
|
|
92
|
+
export declare function downloadAccount(token: string, project_id: string, maxResults?: number, pageToken?: string, tenantId?: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
93
|
+
data: null;
|
|
94
|
+
error: Error;
|
|
95
|
+
} | {
|
|
96
|
+
data: ListUsersResponse;
|
|
97
|
+
error: null;
|
|
98
|
+
}>;
|
|
99
|
+
/**
|
|
100
|
+
* Creates a Firebase session cookie from an ID token.
|
|
101
|
+
*
|
|
102
|
+
* @param idToken Firebase ID token.
|
|
103
|
+
* @param token Google OAuth access token with Identity Toolkit scope.
|
|
104
|
+
* @param project_id Firebase project ID.
|
|
105
|
+
* @param expiresIn_ms Session cookie TTL in milliseconds.
|
|
106
|
+
* @param tenantId Optional tenant ID.
|
|
107
|
+
* @param fetchFn Optional fetch implementation.
|
|
108
|
+
*/
|
|
30
109
|
export declare function createSessionCookie(idToken: string, token: string, project_id: string, expiresIn_ms?: number, tenantId?: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
31
110
|
data: string | null;
|
|
32
111
|
error: FirebaseEdgeError | null;
|
|
33
112
|
}>;
|
|
113
|
+
/**
|
|
114
|
+
* Fetches Secure Token Service JSON Web Keys (JWKs) used to verify Firebase ID tokens.
|
|
115
|
+
*
|
|
116
|
+
* @param fetchFn Optional fetch implementation.
|
|
117
|
+
*/
|
|
34
118
|
export declare function getJWKs(fetchFn?: typeof globalThis.fetch): Promise<{
|
|
35
119
|
data: (JsonWebKey & {
|
|
36
120
|
kid: string;
|
|
37
121
|
})[] | null;
|
|
38
122
|
error: FirebaseEdgeError | null;
|
|
39
123
|
}>;
|
|
124
|
+
/**
|
|
125
|
+
* Fetches Firebase Auth public keys (legacy endpoint).
|
|
126
|
+
*
|
|
127
|
+
* @param fetchFn Optional fetch implementation.
|
|
128
|
+
*/
|
|
40
129
|
export declare function getPublicKeys(fetchFn?: typeof globalThis.fetch): Promise<{
|
|
41
130
|
data: Record<string, string> | null;
|
|
42
131
|
error: FirebaseEdgeError | null;
|
|
43
132
|
}>;
|
|
133
|
+
/**
|
|
134
|
+
* Sends an out-of-band email action.
|
|
135
|
+
*
|
|
136
|
+
* Overloads support password reset and email verification.
|
|
137
|
+
*/
|
|
44
138
|
export declare function sendOobCode(requestType: 'PASSWORD_RESET', key: string, options: {
|
|
45
139
|
email: string;
|
|
46
140
|
locale?: string;
|
|
@@ -61,16 +155,95 @@ export declare function sendOobCode(requestType: 'VERIFY_EMAIL', key: string, op
|
|
|
61
155
|
} | null;
|
|
62
156
|
error: FirebaseEdgeError | null;
|
|
63
157
|
}>;
|
|
158
|
+
/**
|
|
159
|
+
* Completes email-link sign-in using an OOB code.
|
|
160
|
+
*
|
|
161
|
+
* @param oobCode Out-of-band code from the email link.
|
|
162
|
+
* @param email Email address used in the sign-in flow.
|
|
163
|
+
* @param key Firebase Web API key.
|
|
164
|
+
* @param idToken Optional existing ID token (for linking flows).
|
|
165
|
+
* @param tenantId Optional tenant ID.
|
|
166
|
+
* @param fetchFn Optional fetch implementation.
|
|
167
|
+
*/
|
|
64
168
|
export declare function signInWithEmailLink(oobCode: string, email: string, key: string, idToken?: string, tenantId?: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
65
169
|
data: FirebaseIdpSignInResponse | null;
|
|
66
170
|
error: FirebaseEdgeError | null;
|
|
67
171
|
}>;
|
|
172
|
+
/**
|
|
173
|
+
* Links an OAuth credential to an existing Firebase user.
|
|
174
|
+
*
|
|
175
|
+
* @param idToken Current user's Firebase ID token.
|
|
176
|
+
* @param providerIdToken The IdP token (GitHub access token or OIDC ID token).
|
|
177
|
+
* @param requestUri The origin/URL of the linking request.
|
|
178
|
+
* @param providerId Provider ID (e.g. "google.com", "github.com").
|
|
179
|
+
* @param key Firebase Web API key.
|
|
180
|
+
* @param tenantId Optional tenant ID.
|
|
181
|
+
* @param fetchFn Optional fetch implementation.
|
|
182
|
+
*/
|
|
68
183
|
export declare function linkWithOAuthCredential(idToken: string, providerIdToken: string, requestUri: string, providerId: string, key: string, tenantId?: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
69
184
|
data: FirebaseIdpSignInResponse | null;
|
|
70
185
|
error: FirebaseEdgeError | null;
|
|
71
186
|
}>;
|
|
187
|
+
/**
|
|
188
|
+
* Unlinks a provider from a Firebase user.
|
|
189
|
+
*
|
|
190
|
+
* @param idToken Current user's Firebase ID token.
|
|
191
|
+
* @param providerId Provider ID to remove.
|
|
192
|
+
* @param key Firebase Web API key.
|
|
193
|
+
* @param tenantId Optional tenant ID.
|
|
194
|
+
* @param fetchFn Optional fetch implementation.
|
|
195
|
+
*/
|
|
72
196
|
export declare function unlinkProvider(idToken: string, providerId: string, key: string, tenantId?: string, fetchFn?: typeof globalThis.fetch): Promise<{
|
|
73
197
|
data: FirebaseUpdateAccountResponse | null;
|
|
74
198
|
error: FirebaseEdgeError | null;
|
|
75
199
|
}>;
|
|
200
|
+
/**
|
|
201
|
+
* Updates a user via the Identity Toolkit Admin API.
|
|
202
|
+
*
|
|
203
|
+
* @param projectId Firebase project ID.
|
|
204
|
+
* @param localId User UID.
|
|
205
|
+
* @param updates UpdateAccount request fields.
|
|
206
|
+
* @param googleOAuthAccessToken Google OAuth access token with Identity Toolkit scope.
|
|
207
|
+
* @param fetchFn Optional fetch implementation.
|
|
208
|
+
* @param tenantId Optional tenant ID.
|
|
209
|
+
*/
|
|
210
|
+
export declare function updateAccountAdmin(projectId: string, localId: string, updates: UpdateAccountRequest, googleOAuthAccessToken: string, fetchFn?: typeof globalThis.fetch, tenantId?: string): Promise<{
|
|
211
|
+
data: null;
|
|
212
|
+
error: Error;
|
|
213
|
+
} | {
|
|
214
|
+
data: FirebaseUpdateAccountResponse;
|
|
215
|
+
error: null;
|
|
216
|
+
}>;
|
|
217
|
+
/** Create an account using already validated and translated admin properties. */
|
|
218
|
+
export declare function createAccountAdmin(projectId: string, properties: UpdateAccountRequest, token: string, fetchFn?: typeof globalThis.fetch, tenantId?: string): Promise<{
|
|
219
|
+
data: null;
|
|
220
|
+
error: Error;
|
|
221
|
+
} | {
|
|
222
|
+
data: {
|
|
223
|
+
localId: string;
|
|
224
|
+
};
|
|
225
|
+
error: null;
|
|
226
|
+
}>;
|
|
227
|
+
/** Delete a single user account using admin credentials. */
|
|
228
|
+
export declare function deleteAccountAdmin(projectId: string, uid: string, token: string, fetchFn?: typeof globalThis.fetch, tenantId?: string): Promise<{
|
|
229
|
+
error: Error;
|
|
230
|
+
} | {
|
|
231
|
+
error: null;
|
|
232
|
+
}>;
|
|
233
|
+
/**
|
|
234
|
+
* Revokes refresh tokens for a user by setting `validSince` to now.
|
|
235
|
+
*
|
|
236
|
+
* @param projectId Firebase project ID.
|
|
237
|
+
* @param uid User UID.
|
|
238
|
+
* @param googleOAuthAccessToken Google OAuth access token with Identity Toolkit scope.
|
|
239
|
+
* @param fetchFn Optional fetch implementation.
|
|
240
|
+
* @param tenantId Optional tenant ID.
|
|
241
|
+
*/
|
|
242
|
+
export declare function revokeRefreshTokens(projectId: string, uid: string, googleOAuthAccessToken: string, fetchFn?: typeof globalThis.fetch, tenantId?: string): Promise<{
|
|
243
|
+
data: null;
|
|
244
|
+
error: Error;
|
|
245
|
+
} | {
|
|
246
|
+
data: FirebaseUpdateAccountResponse;
|
|
247
|
+
error: null;
|
|
248
|
+
}>;
|
|
76
249
|
//# sourceMappingURL=firebase-auth-endpoints.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-auth-endpoints.d.ts","sourceRoot":"","sources":["../../src/auth/firebase-auth-endpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,EAE5B,6BAA6B,EAC7B,QAAQ,EACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"firebase-auth-endpoints.d.ts","sourceRoot":"","sources":["../../src/auth/firebase-auth-endpoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,53 @@
|
|
|
1
1
|
import { restFetch } from '../rest-fetch.js';
|
|
2
2
|
import { mapFirebaseError } from './auth-endpoint-errors.js';
|
|
3
|
+
import { ensureError } from './errors.js';
|
|
4
|
+
/** Look up a validated batch, allowing successful responses with no matching users. */
|
|
5
|
+
export async function getAccountsInfo(identifiers, token, projectId, tenantId, fetchFn) {
|
|
6
|
+
const url = createAdminIdentityURL(projectId, 'lookup', true, tenantId);
|
|
7
|
+
const { data, error } = await restFetch(url, {
|
|
8
|
+
body: identifiers,
|
|
9
|
+
bearerToken: token,
|
|
10
|
+
global: { fetch: fetchFn }
|
|
11
|
+
});
|
|
12
|
+
if (error)
|
|
13
|
+
return {
|
|
14
|
+
data: null,
|
|
15
|
+
error: typeof error === 'object' && error.error
|
|
16
|
+
? mapFirebaseError(error.error)
|
|
17
|
+
: ensureError(error)
|
|
18
|
+
};
|
|
19
|
+
return { data, error: null };
|
|
20
|
+
}
|
|
3
21
|
// Functions
|
|
22
|
+
/**
|
|
23
|
+
* Builds an Identity Toolkit Admin API URL.
|
|
24
|
+
*
|
|
25
|
+
* If a tenant ID is provided, the URL targets Identity Platform tenant resources.
|
|
26
|
+
*/
|
|
4
27
|
function createAdminIdentityURL(project_id, name, accounts = true, tenantId) {
|
|
28
|
+
const action = name ? `:${name}` : '';
|
|
5
29
|
if (tenantId) {
|
|
6
30
|
// Use Identity Platform API for tenant-specific operations
|
|
7
|
-
return `https://identitytoolkit.googleapis.com/v1/projects/${project_id}/tenants/${tenantId}${accounts ? '/accounts' : ''}
|
|
31
|
+
return `https://identitytoolkit.googleapis.com/v1/projects/${project_id}/tenants/${tenantId}${accounts ? '/accounts' : ''}${action}`;
|
|
8
32
|
}
|
|
9
|
-
return `https://identitytoolkit.googleapis.com/v1/projects/${project_id}${accounts ? '/accounts' : ''}
|
|
33
|
+
return `https://identitytoolkit.googleapis.com/v1/projects/${project_id}${accounts ? '/accounts' : ''}${action}`;
|
|
10
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Builds a standard Firebase Auth REST API URL.
|
|
37
|
+
*
|
|
38
|
+
* Note: tenant ID is provided in the request body for these endpoints.
|
|
39
|
+
*/
|
|
11
40
|
function createIdentityURL(name) {
|
|
12
41
|
// Standard Firebase Auth REST API - tenant ID goes in request body, not URL
|
|
13
42
|
return `https://identitytoolkit.googleapis.com/v1/accounts:${name}`;
|
|
14
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Exchanges a refresh token for a new Firebase ID token.
|
|
46
|
+
*
|
|
47
|
+
* @param refreshToken Firebase refresh token.
|
|
48
|
+
* @param key Firebase Web API key.
|
|
49
|
+
* @param fetchFn Optional fetch implementation (useful for runtimes like edge).
|
|
50
|
+
*/
|
|
15
51
|
export async function refreshFirebaseIdToken(refreshToken, key, fetchFn) {
|
|
16
52
|
const url = `https://securetoken.googleapis.com/v1/token`;
|
|
17
53
|
const { data, error } = await restFetch(url, {
|
|
@@ -30,6 +66,14 @@ export async function refreshFirebaseIdToken(refreshToken, key, fetchFn) {
|
|
|
30
66
|
error: error ? mapFirebaseError(error.error) : null
|
|
31
67
|
};
|
|
32
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Creates an Auth URI to initiate an OAuth sign-in flow (Google by default).
|
|
71
|
+
*
|
|
72
|
+
* @param redirect_uri Redirect/continue URL.
|
|
73
|
+
* @param key Firebase Web API key.
|
|
74
|
+
* @param tenantId Optional tenant ID.
|
|
75
|
+
* @param fetchFn Optional fetch implementation.
|
|
76
|
+
*/
|
|
33
77
|
export async function createAuthUri(redirect_uri, key, tenantId, fetchFn) {
|
|
34
78
|
const url = createIdentityURL('createAuthUri');
|
|
35
79
|
const body = {
|
|
@@ -49,6 +93,16 @@ export async function createAuthUri(redirect_uri, key, tenantId, fetchFn) {
|
|
|
49
93
|
error: error ? mapFirebaseError(error.error) : null
|
|
50
94
|
};
|
|
51
95
|
}
|
|
96
|
+
/**
|
|
97
|
+
* Signs a user in via an identity provider (Google/GitHub/etc.) using the IdP token.
|
|
98
|
+
*
|
|
99
|
+
* @param providerIdToken The IdP token (GitHub access token or OIDC ID token).
|
|
100
|
+
* @param requestUri The origin/URL of the sign-in request.
|
|
101
|
+
* @param providerId Provider ID (e.g. "google.com", "github.com").
|
|
102
|
+
* @param key Firebase Web API key.
|
|
103
|
+
* @param tenantId Optional tenant ID.
|
|
104
|
+
* @param fetchFn Optional fetch implementation.
|
|
105
|
+
*/
|
|
52
106
|
export async function signInWithIdp(providerIdToken, requestUri, providerId = 'google.com', key, tenantId, fetchFn) {
|
|
53
107
|
const url = createIdentityURL('signInWithIdp');
|
|
54
108
|
const tokenField = providerId === 'github.com' ? 'access_token' : 'id_token';
|
|
@@ -75,6 +129,14 @@ export async function signInWithIdp(providerIdToken, requestUri, providerId = 'g
|
|
|
75
129
|
error: error ? mapFirebaseError(error.error) : null
|
|
76
130
|
};
|
|
77
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Signs a user in with a Firebase custom token.
|
|
134
|
+
*
|
|
135
|
+
* @param jwtToken Firebase custom token (JWT).
|
|
136
|
+
* @param key Firebase Web API key.
|
|
137
|
+
* @param tenantId Optional tenant ID.
|
|
138
|
+
* @param fetchFn Optional fetch implementation.
|
|
139
|
+
*/
|
|
78
140
|
export async function signInWithCustomToken(jwtToken, key, tenantId, fetchFn) {
|
|
79
141
|
const url = createIdentityURL('signInWithCustomToken');
|
|
80
142
|
const body = {
|
|
@@ -94,10 +156,19 @@ export async function signInWithCustomToken(jwtToken, key, tenantId, fetchFn) {
|
|
|
94
156
|
error: error ? mapFirebaseError(error.error) : null
|
|
95
157
|
};
|
|
96
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Looks up a user record by UID, email, or phone number.
|
|
161
|
+
*
|
|
162
|
+
* @param identifier Lookup key (uid/email/phoneNumber).
|
|
163
|
+
* @param token Google OAuth access token with Identity Toolkit scope.
|
|
164
|
+
* @param project_id Firebase project ID.
|
|
165
|
+
* @param tenantId Optional tenant ID.
|
|
166
|
+
* @param fetchFn Optional fetch implementation.
|
|
167
|
+
*/
|
|
97
168
|
export async function getAccountInfo(identifier, token, project_id, tenantId, fetchFn) {
|
|
98
169
|
const url = createAdminIdentityURL(project_id, 'lookup', true, tenantId);
|
|
99
170
|
const body = {
|
|
100
|
-
...('uid' in identifier && { localId: identifier.uid }),
|
|
171
|
+
...('uid' in identifier && { localId: [identifier.uid] }),
|
|
101
172
|
...('email' in identifier && { email: [identifier.email] }),
|
|
102
173
|
...('phoneNumber' in identifier && {
|
|
103
174
|
phoneNumber: [identifier.phoneNumber]
|
|
@@ -109,12 +180,53 @@ export async function getAccountInfo(identifier, token, project_id, tenantId, fe
|
|
|
109
180
|
body,
|
|
110
181
|
bearerToken: token
|
|
111
182
|
});
|
|
112
|
-
const userData = data?.users
|
|
183
|
+
const userData = data?.users?.length ? data.users[0] : null;
|
|
113
184
|
return {
|
|
114
185
|
data: userData,
|
|
115
186
|
error: error ? mapFirebaseError(error.error) : null
|
|
116
187
|
};
|
|
117
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Downloads one page of user accounts for FirebaseAdminAuth.listUsers.
|
|
191
|
+
* @param token Google OAuth access token.
|
|
192
|
+
* @param project_id Firebase project ID.
|
|
193
|
+
* @param maxResults Page size, already validated by the admin auth method.
|
|
194
|
+
* @param pageToken Optional token from the previous page.
|
|
195
|
+
* @param tenantId Optional tenant ID.
|
|
196
|
+
* @param fetchFn Optional fetch implementation.
|
|
197
|
+
* @internal
|
|
198
|
+
*/
|
|
199
|
+
export async function downloadAccount(token, project_id, maxResults = 1000, pageToken, tenantId, fetchFn) {
|
|
200
|
+
const url = createAdminIdentityURL(project_id, 'batchGet', true, tenantId);
|
|
201
|
+
const { data, error } = await restFetch(url, {
|
|
202
|
+
method: 'GET',
|
|
203
|
+
bearerToken: token,
|
|
204
|
+
global: { fetch: fetchFn },
|
|
205
|
+
params: {
|
|
206
|
+
maxResults: String(maxResults),
|
|
207
|
+
...(pageToken !== undefined && { nextPageToken: pageToken })
|
|
208
|
+
}
|
|
209
|
+
});
|
|
210
|
+
if (error) {
|
|
211
|
+
return {
|
|
212
|
+
data: null,
|
|
213
|
+
error: typeof error === 'object' && error.error
|
|
214
|
+
? mapFirebaseError(error.error)
|
|
215
|
+
: ensureError(error)
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
return { data, error: null };
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Creates a Firebase session cookie from an ID token.
|
|
222
|
+
*
|
|
223
|
+
* @param idToken Firebase ID token.
|
|
224
|
+
* @param token Google OAuth access token with Identity Toolkit scope.
|
|
225
|
+
* @param project_id Firebase project ID.
|
|
226
|
+
* @param expiresIn_ms Session cookie TTL in milliseconds.
|
|
227
|
+
* @param tenantId Optional tenant ID.
|
|
228
|
+
* @param fetchFn Optional fetch implementation.
|
|
229
|
+
*/
|
|
118
230
|
export async function createSessionCookie(idToken, token, project_id, expiresIn_ms = 60 * 60 * 24 * 14 * 1000, tenantId, fetchFn) {
|
|
119
231
|
const url = createAdminIdentityURL(project_id, 'createSessionCookie', false, tenantId);
|
|
120
232
|
const body = {
|
|
@@ -132,6 +244,11 @@ export async function createSessionCookie(idToken, token, project_id, expiresIn_
|
|
|
132
244
|
error: error ? mapFirebaseError(error.error) : null
|
|
133
245
|
};
|
|
134
246
|
}
|
|
247
|
+
/**
|
|
248
|
+
* Fetches Secure Token Service JSON Web Keys (JWKs) used to verify Firebase ID tokens.
|
|
249
|
+
*
|
|
250
|
+
* @param fetchFn Optional fetch implementation.
|
|
251
|
+
*/
|
|
135
252
|
export async function getJWKs(fetchFn) {
|
|
136
253
|
const url = 'https://www.googleapis.com/service_accounts/v1/jwk/securetoken@system.gserviceaccount.com';
|
|
137
254
|
const { data, error } = await restFetch(url, {
|
|
@@ -143,6 +260,11 @@ export async function getJWKs(fetchFn) {
|
|
|
143
260
|
error: error ? mapFirebaseError(error.error) : null
|
|
144
261
|
};
|
|
145
262
|
}
|
|
263
|
+
/**
|
|
264
|
+
* Fetches Firebase Auth public keys (legacy endpoint).
|
|
265
|
+
*
|
|
266
|
+
* @param fetchFn Optional fetch implementation.
|
|
267
|
+
*/
|
|
146
268
|
export async function getPublicKeys(fetchFn) {
|
|
147
269
|
const url = 'https://www.googleapis.com/identitytoolkit/v3/relyingparty/publicKeys';
|
|
148
270
|
const { data, error } = await restFetch(url, {
|
|
@@ -181,6 +303,16 @@ export async function sendOobCode(requestType, key, options, tenantId, fetchFn)
|
|
|
181
303
|
error: error ? mapFirebaseError(error.error) : null
|
|
182
304
|
};
|
|
183
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* Completes email-link sign-in using an OOB code.
|
|
308
|
+
*
|
|
309
|
+
* @param oobCode Out-of-band code from the email link.
|
|
310
|
+
* @param email Email address used in the sign-in flow.
|
|
311
|
+
* @param key Firebase Web API key.
|
|
312
|
+
* @param idToken Optional existing ID token (for linking flows).
|
|
313
|
+
* @param tenantId Optional tenant ID.
|
|
314
|
+
* @param fetchFn Optional fetch implementation.
|
|
315
|
+
*/
|
|
184
316
|
export async function signInWithEmailLink(oobCode, email, key, idToken, tenantId, fetchFn) {
|
|
185
317
|
const url = createIdentityURL('signInWithEmailLink');
|
|
186
318
|
const body = {
|
|
@@ -201,6 +333,17 @@ export async function signInWithEmailLink(oobCode, email, key, idToken, tenantId
|
|
|
201
333
|
error: error ? mapFirebaseError(error.error) : null
|
|
202
334
|
};
|
|
203
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Links an OAuth credential to an existing Firebase user.
|
|
338
|
+
*
|
|
339
|
+
* @param idToken Current user's Firebase ID token.
|
|
340
|
+
* @param providerIdToken The IdP token (GitHub access token or OIDC ID token).
|
|
341
|
+
* @param requestUri The origin/URL of the linking request.
|
|
342
|
+
* @param providerId Provider ID (e.g. "google.com", "github.com").
|
|
343
|
+
* @param key Firebase Web API key.
|
|
344
|
+
* @param tenantId Optional tenant ID.
|
|
345
|
+
* @param fetchFn Optional fetch implementation.
|
|
346
|
+
*/
|
|
204
347
|
export async function linkWithOAuthCredential(idToken, providerIdToken, requestUri, providerId, key, tenantId, fetchFn) {
|
|
205
348
|
const url = createIdentityURL('signInWithIdp');
|
|
206
349
|
const tokenField = providerId === 'github.com' ? 'access_token' : 'id_token';
|
|
@@ -228,6 +371,15 @@ export async function linkWithOAuthCredential(idToken, providerIdToken, requestU
|
|
|
228
371
|
error: error ? mapFirebaseError(error.error) : null
|
|
229
372
|
};
|
|
230
373
|
}
|
|
374
|
+
/**
|
|
375
|
+
* Unlinks a provider from a Firebase user.
|
|
376
|
+
*
|
|
377
|
+
* @param idToken Current user's Firebase ID token.
|
|
378
|
+
* @param providerId Provider ID to remove.
|
|
379
|
+
* @param key Firebase Web API key.
|
|
380
|
+
* @param tenantId Optional tenant ID.
|
|
381
|
+
* @param fetchFn Optional fetch implementation.
|
|
382
|
+
*/
|
|
231
383
|
export async function unlinkProvider(idToken, providerId, key, tenantId, fetchFn) {
|
|
232
384
|
const url = createIdentityURL('update');
|
|
233
385
|
const body = {
|
|
@@ -247,4 +399,80 @@ export async function unlinkProvider(idToken, providerId, key, tenantId, fetchFn
|
|
|
247
399
|
error: error ? mapFirebaseError(error.error) : null
|
|
248
400
|
};
|
|
249
401
|
}
|
|
402
|
+
/**
|
|
403
|
+
* Updates a user via the Identity Toolkit Admin API.
|
|
404
|
+
*
|
|
405
|
+
* @param projectId Firebase project ID.
|
|
406
|
+
* @param localId User UID.
|
|
407
|
+
* @param updates UpdateAccount request fields.
|
|
408
|
+
* @param googleOAuthAccessToken Google OAuth access token with Identity Toolkit scope.
|
|
409
|
+
* @param fetchFn Optional fetch implementation.
|
|
410
|
+
* @param tenantId Optional tenant ID.
|
|
411
|
+
*/
|
|
412
|
+
export async function updateAccountAdmin(projectId, localId, updates, googleOAuthAccessToken, fetchFn, tenantId) {
|
|
413
|
+
const url = createAdminIdentityURL(projectId, 'update', true, tenantId);
|
|
414
|
+
const body = {
|
|
415
|
+
localId,
|
|
416
|
+
...updates
|
|
417
|
+
};
|
|
418
|
+
const { data, error } = await restFetch(url, {
|
|
419
|
+
global: { fetch: fetchFn },
|
|
420
|
+
body,
|
|
421
|
+
bearerToken: googleOAuthAccessToken
|
|
422
|
+
});
|
|
423
|
+
if (error)
|
|
424
|
+
return {
|
|
425
|
+
data: null,
|
|
426
|
+
error: typeof error === 'object' && error.error
|
|
427
|
+
? mapFirebaseError(error.error)
|
|
428
|
+
: ensureError(error)
|
|
429
|
+
};
|
|
430
|
+
return { data, error: null };
|
|
431
|
+
}
|
|
432
|
+
/** Create an account using already validated and translated admin properties. */
|
|
433
|
+
export async function createAccountAdmin(projectId, properties, token, fetchFn, tenantId) {
|
|
434
|
+
const url = createAdminIdentityURL(projectId, '', true, tenantId);
|
|
435
|
+
const { data, error } = await restFetch(url, {
|
|
436
|
+
body: properties,
|
|
437
|
+
bearerToken: token,
|
|
438
|
+
global: { fetch: fetchFn }
|
|
439
|
+
});
|
|
440
|
+
if (error)
|
|
441
|
+
return {
|
|
442
|
+
data: null,
|
|
443
|
+
error: typeof error === 'object' && error.error
|
|
444
|
+
? mapFirebaseError(error.error)
|
|
445
|
+
: ensureError(error)
|
|
446
|
+
};
|
|
447
|
+
return { data, error: null };
|
|
448
|
+
}
|
|
449
|
+
/** Delete a single user account using admin credentials. */
|
|
450
|
+
export async function deleteAccountAdmin(projectId, uid, token, fetchFn, tenantId) {
|
|
451
|
+
const url = createAdminIdentityURL(projectId, 'delete', true, tenantId);
|
|
452
|
+
const { error } = await restFetch(url, {
|
|
453
|
+
body: { localId: uid },
|
|
454
|
+
bearerToken: token,
|
|
455
|
+
global: { fetch: fetchFn }
|
|
456
|
+
});
|
|
457
|
+
if (error)
|
|
458
|
+
return {
|
|
459
|
+
error: typeof error === 'object' && error.error
|
|
460
|
+
? mapFirebaseError(error.error)
|
|
461
|
+
: ensureError(error)
|
|
462
|
+
};
|
|
463
|
+
return { error: null };
|
|
464
|
+
}
|
|
465
|
+
/**
|
|
466
|
+
* Revokes refresh tokens for a user by setting `validSince` to now.
|
|
467
|
+
*
|
|
468
|
+
* @param projectId Firebase project ID.
|
|
469
|
+
* @param uid User UID.
|
|
470
|
+
* @param googleOAuthAccessToken Google OAuth access token with Identity Toolkit scope.
|
|
471
|
+
* @param fetchFn Optional fetch implementation.
|
|
472
|
+
* @param tenantId Optional tenant ID.
|
|
473
|
+
*/
|
|
474
|
+
export async function revokeRefreshTokens(projectId, uid, googleOAuthAccessToken, fetchFn, tenantId) {
|
|
475
|
+
const nowSeconds = Math.floor(Date.now() / 1000).toString();
|
|
476
|
+
return updateAccountAdmin(projectId, uid, { validSince: nowSeconds }, googleOAuthAccessToken, fetchFn, tenantId);
|
|
477
|
+
}
|
|
250
478
|
//# sourceMappingURL=firebase-auth-endpoints.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"firebase-auth-endpoints.js","sourceRoot":"","sources":["../../src/auth/firebase-auth-endpoints.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"firebase-auth-endpoints.js","sourceRoot":"","sources":["../../src/auth/firebase-auth-endpoints.ts"],"names":[],"mappings":"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"}
|