firebase-admin-edge 1.0.11 → 1.0.13

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.
Files changed (36) hide show
  1. package/README.md +18 -7
  2. package/dist/auth/firebase-admin-auth.js +33 -33
  3. package/dist/auth/firebase-admin-auth.js.map +1 -1
  4. package/dist/auth/firebase-admin-auth.test.js +71 -71
  5. package/dist/auth/firebase-admin-auth.test.js.map +1 -1
  6. package/dist/auth/firebase-auth-endpoints.js +27 -27
  7. package/dist/auth/firebase-auth-endpoints.test.js +29 -29
  8. package/dist/auth/firebase-auth-endpoints.test.js.map +1 -1
  9. package/dist/auth/firebase-auth.js +7 -7
  10. package/dist/auth/firebase-auth.js.map +1 -1
  11. package/dist/auth/firebase-auth.test.js +9 -9
  12. package/dist/auth/firebase-jwt.js +32 -32
  13. package/dist/auth/firebase-jwt.js.map +1 -1
  14. package/dist/auth/firebase-jwt.test.js +14 -14
  15. package/dist/auth/firebase-jwt.test.js.map +1 -1
  16. package/dist/auth/github-oauth.d.ts +16 -0
  17. package/dist/auth/github-oauth.d.ts.map +1 -0
  18. package/dist/auth/github-oauth.js +31 -0
  19. package/dist/auth/github-oauth.js.map +1 -0
  20. package/dist/auth/google-oauth.d.ts.map +1 -1
  21. package/dist/auth/google-oauth.js +16 -15
  22. package/dist/auth/google-oauth.js.map +1 -1
  23. package/dist/auth/google-oauth.test.js +15 -14
  24. package/dist/auth/google-oauth.test.js.map +1 -1
  25. package/dist/firebase-edge-server.d.ts +14 -74
  26. package/dist/firebase-edge-server.d.ts.map +1 -1
  27. package/dist/firebase-edge-server.js +105 -278
  28. package/dist/firebase-edge-server.js.map +1 -1
  29. package/dist/firebase-edge-server.test.js +115 -76
  30. package/dist/firebase-edge-server.test.js.map +1 -1
  31. package/dist/rest-fetch.d.ts.map +1 -1
  32. package/dist/rest-fetch.js +7 -6
  33. package/dist/rest-fetch.js.map +1 -1
  34. package/dist/rest-fetch.test.js +48 -30
  35. package/dist/rest-fetch.test.js.map +1 -1
  36. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { refreshFirebaseIdToken, createAuthUri, signInWithIdp, signInWithCustomToken, getAccountInfoByUid, createSessionCookie, getJWKs, getPublicKeys, } from './firebase-auth-endpoints.js';
2
+ import { refreshFirebaseIdToken, createAuthUri, signInWithIdp, signInWithCustomToken, getAccountInfoByUid, createSessionCookie, getJWKs, getPublicKeys } from './firebase-auth-endpoints.js';
3
3
  import * as restFetch from '../rest-fetch.js';
4
4
  vi.mock('../rest-fetch.js');
5
5
  describe('firebase-auth-endpoints', () => {
@@ -14,13 +14,13 @@ describe('firebase-auth-endpoints', () => {
14
14
  it('should refresh token successfully', async () => {
15
15
  const mockResponse = {
16
16
  access_token: 'new-token',
17
- refresh_token: 'new-refresh-token',
17
+ refresh_token: 'new-refresh-token'
18
18
  };
19
19
  const restFetchSpy = vi
20
20
  .mocked(restFetch.restFetch)
21
21
  .mockResolvedValue({
22
22
  data: mockResponse,
23
- error: null,
23
+ error: null
24
24
  });
25
25
  const result = await refreshFirebaseIdToken('refresh-token', API_KEY, mockFetch);
26
26
  expect(result.data).toEqual(mockResponse);
@@ -28,18 +28,18 @@ describe('firebase-auth-endpoints', () => {
28
28
  expect(restFetchSpy).toHaveBeenCalledWith('https://securetoken.googleapis.com/v1/token', expect.objectContaining({
29
29
  body: {
30
30
  grant_type: 'refresh_token',
31
- refresh_token: 'refresh-token',
31
+ refresh_token: 'refresh-token'
32
32
  },
33
33
  params: { key: API_KEY },
34
34
  form: true,
35
- global: { fetch: mockFetch },
35
+ global: { fetch: mockFetch }
36
36
  }));
37
37
  });
38
38
  it('should handle error response', async () => {
39
39
  const mockError = { message: 'Invalid refresh token' };
40
40
  vi.mocked(restFetch.restFetch).mockResolvedValue({
41
41
  data: null,
42
- error: { error: mockError },
42
+ error: { error: mockError }
43
43
  });
44
44
  const result = await refreshFirebaseIdToken('invalid-token', API_KEY);
45
45
  expect(result.data).toBeNull();
@@ -53,7 +53,7 @@ describe('firebase-auth-endpoints', () => {
53
53
  .mocked(restFetch.restFetch)
54
54
  .mockResolvedValue({
55
55
  data: mockResponse,
56
- error: null,
56
+ error: null
57
57
  });
58
58
  const result = await createAuthUri('https://redirect.com', API_KEY, mockFetch);
59
59
  expect(result.data).toEqual(mockResponse);
@@ -62,10 +62,10 @@ describe('firebase-auth-endpoints', () => {
62
62
  expect(restFetchSpy).toHaveBeenCalledWith('https://identitytoolkit.googleapis.com/v1/accounts:createAuthUri', expect.objectContaining({
63
63
  body: {
64
64
  continueUri: 'https://redirect.com',
65
- providerId: 'google.com',
65
+ providerId: 'google.com'
66
66
  },
67
67
  params: { key: API_KEY },
68
- global: { fetch: mockFetch },
68
+ global: { fetch: mockFetch }
69
69
  }));
70
70
  });
71
71
  });
@@ -73,11 +73,11 @@ describe('firebase-auth-endpoints', () => {
73
73
  it('should sign in with IDP successfully', async () => {
74
74
  const mockResponse = {
75
75
  idToken: 'firebase-token',
76
- refreshToken: 'refresh',
76
+ refreshToken: 'refresh'
77
77
  };
78
78
  vi.mocked(restFetch.restFetch).mockResolvedValue({
79
79
  data: mockResponse,
80
- error: null,
80
+ error: null
81
81
  });
82
82
  const result = await signInWithIdp('provider-token', 'https://request.com', 'google.com', API_KEY, mockFetch);
83
83
  expect(result.data).toEqual(mockResponse);
@@ -86,8 +86,8 @@ describe('firebase-auth-endpoints', () => {
86
86
  body: {
87
87
  postBody: 'id_token=provider-token&providerId=google.com',
88
88
  requestUri: 'https://request.com',
89
- returnSecureToken: true,
90
- },
89
+ returnSecureToken: true
90
+ }
91
91
  }));
92
92
  });
93
93
  });
@@ -96,7 +96,7 @@ describe('firebase-auth-endpoints', () => {
96
96
  const mockResponse = { idToken: 'firebase-token' };
97
97
  vi.mocked(restFetch.restFetch).mockResolvedValue({
98
98
  data: mockResponse,
99
- error: null,
99
+ error: null
100
100
  });
101
101
  const result = await signInWithCustomToken('jwt-token', API_KEY, mockFetch);
102
102
  expect(result.data).toEqual(mockResponse);
@@ -108,7 +108,7 @@ describe('firebase-auth-endpoints', () => {
108
108
  const mockUser = { localId: 'user-123', email: 'test@example.com' };
109
109
  vi.mocked(restFetch.restFetch).mockResolvedValue({
110
110
  data: { users: [mockUser] },
111
- error: null,
111
+ error: null
112
112
  });
113
113
  const result = await getAccountInfoByUid('user-123', ACCESS_TOKEN, PROJECT_ID, mockFetch);
114
114
  expect(result.data).toEqual(mockUser);
@@ -117,7 +117,7 @@ describe('firebase-auth-endpoints', () => {
117
117
  it('should return null when no users found', async () => {
118
118
  vi.mocked(restFetch.restFetch).mockResolvedValue({
119
119
  data: { users: [] },
120
- error: null,
120
+ error: null
121
121
  });
122
122
  const result = await getAccountInfoByUid('user-123', ACCESS_TOKEN, PROJECT_ID);
123
123
  expect(result.data).toBeNull();
@@ -130,22 +130,22 @@ describe('firebase-auth-endpoints', () => {
130
130
  .mocked(restFetch.restFetch)
131
131
  .mockResolvedValue({
132
132
  data: mockResponse,
133
- error: null,
133
+ error: null
134
134
  });
135
135
  const result = await createSessionCookie('id-token', ACCESS_TOKEN, PROJECT_ID, undefined, mockFetch);
136
136
  expect(result.data).toBe('cookie-value');
137
137
  expect(restFetchSpy).toHaveBeenCalledWith(`https://identitytoolkit.googleapis.com/v1/projects/${PROJECT_ID}:createSessionCookie`, expect.objectContaining({
138
138
  body: expect.objectContaining({
139
139
  // default is 14 days in ms converted to seconds
140
- validDuration: 1209600,
141
- }),
140
+ validDuration: 1209600
141
+ })
142
142
  }));
143
143
  });
144
144
  it('should create session cookie with custom expiry (using seconds)', async () => {
145
145
  const mockResponse = { sessionCookie: 'cookie-value' };
146
146
  vi.mocked(restFetch.restFetch).mockResolvedValue({
147
147
  data: mockResponse,
148
- error: null,
148
+ error: null
149
149
  });
150
150
  const result = await createSessionCookie('id-token', ACCESS_TOKEN, PROJECT_ID, 3600, // 1 hour in seconds
151
151
  mockFetch);
@@ -157,7 +157,7 @@ describe('firebase-auth-endpoints', () => {
157
157
  const mockKeys = [{ kid: 'key-1', kty: 'RSA' }];
158
158
  vi.mocked(restFetch.restFetch).mockResolvedValue({
159
159
  data: { keys: mockKeys },
160
- error: null,
160
+ error: null
161
161
  });
162
162
  const result = await getJWKs(mockFetch);
163
163
  expect(result.data).toEqual(mockKeys);
@@ -166,7 +166,7 @@ describe('firebase-auth-endpoints', () => {
166
166
  it('should return null when no keys found', async () => {
167
167
  vi.mocked(restFetch.restFetch).mockResolvedValue({
168
168
  data: null,
169
- error: null,
169
+ error: null
170
170
  });
171
171
  const result = await getJWKs();
172
172
  expect(result.data).toBeNull();
@@ -177,7 +177,7 @@ describe('firebase-auth-endpoints', () => {
177
177
  const mockKeys = { 'key-1': 'public-key-value' };
178
178
  vi.mocked(restFetch.restFetch).mockResolvedValue({
179
179
  data: mockKeys,
180
- error: null,
180
+ error: null
181
181
  });
182
182
  const result = await getPublicKeys(mockFetch);
183
183
  expect(result.data).toEqual(mockKeys);
@@ -187,7 +187,7 @@ describe('firebase-auth-endpoints', () => {
187
187
  const mockError = { message: 'Failed to fetch keys' };
188
188
  vi.mocked(restFetch.restFetch).mockResolvedValue({
189
189
  data: null,
190
- error: { error: mockError },
190
+ error: { error: mockError }
191
191
  });
192
192
  const result = await getPublicKeys();
193
193
  expect(result.data).toBeNull();
@@ -201,7 +201,7 @@ describe('firebase-auth-endpoints', () => {
201
201
  .mocked(restFetch.restFetch)
202
202
  .mockResolvedValue({
203
203
  data: mockResponse,
204
- error: null,
204
+ error: null
205
205
  });
206
206
  const idToken = 'id-token';
207
207
  const token = 'access-token';
@@ -221,7 +221,7 @@ describe('firebase-auth-endpoints', () => {
221
221
  .mocked(restFetch.restFetch)
222
222
  .mockResolvedValue({
223
223
  data: { users: [mockUser] },
224
- error: null,
224
+ error: null
225
225
  });
226
226
  const uid = 'user-123';
227
227
  const token = 'access-token';
@@ -243,15 +243,15 @@ describe('firebase-auth-endpoints', () => {
243
243
  .mocked(restFetch.restFetch)
244
244
  .mockResolvedValue({
245
245
  data: mockResponse,
246
- error: null,
246
+ error: null
247
247
  });
248
248
  const result = await createSessionCookie('id-token', ACCESS_TOKEN, PROJECT_ID, 1209600000, // 14 days in ms
249
249
  mockFetch);
250
250
  expect(result.data).toBe('cookie-value');
251
251
  expect(restFetchSpy).toHaveBeenCalledWith(expect.stringContaining('createSessionCookie'), expect.objectContaining({
252
252
  body: expect.objectContaining({
253
- validDuration: 1209600,
254
- }),
253
+ validDuration: 1209600
254
+ })
255
255
  }));
256
256
  });
257
257
  });
@@ -1 +1 @@
1
- {"version":3,"file":"firebase-auth-endpoints.test.js","sourceRoot":"","sources":["../../src/auth/firebase-auth-endpoints.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firebase-auth-endpoints.test.js","sourceRoot":"","sources":["../../src/auth/firebase-auth-endpoints.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { signInWithCustomToken, signInWithIdp, } from './firebase-auth-endpoints.js';
1
+ import { signInWithCustomToken, signInWithIdp } from './firebase-auth-endpoints.js';
2
2
  export class FirebaseAuth {
3
3
  firebase_config;
4
4
  fetch;
@@ -11,18 +11,18 @@ export class FirebaseAuth {
11
11
  if (signInError) {
12
12
  return {
13
13
  data: null,
14
- error: signInError,
14
+ error: signInError
15
15
  };
16
16
  }
17
17
  if (!signInData) {
18
18
  return {
19
19
  data: null,
20
- error: null,
20
+ error: null
21
21
  };
22
22
  }
23
23
  return {
24
24
  data: signInData,
25
- error: null,
25
+ error: null
26
26
  };
27
27
  }
28
28
  async signInWithCustomToken(customToken) {
@@ -30,18 +30,18 @@ export class FirebaseAuth {
30
30
  if (signInError) {
31
31
  return {
32
32
  data: null,
33
- error: signInError,
33
+ error: signInError
34
34
  };
35
35
  }
36
36
  if (!signInData) {
37
37
  return {
38
38
  data: null,
39
- error: null,
39
+ error: null
40
40
  };
41
41
  }
42
42
  return {
43
43
  data: signInData,
44
- error: null,
44
+ error: null
45
45
  };
46
46
  }
47
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"firebase-auth.js","sourceRoot":"","sources":["../../src/auth/firebase-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,aAAa,GAChB,MAAM,8BAA8B,CAAC;AAGtC,MAAM,OAAO,YAAY;IAET;IACA;IAFZ,YACY,eAA+B,EAC/B,KAA+B;QAD/B,oBAAe,GAAf,eAAe,CAAgB;QAC/B,UAAK,GAAL,KAAK,CAA0B;IACxC,CAAC;IAEJ,KAAK,CAAC,kBAAkB,CACpB,OAAe,EACf,UAAkB,EAClB,UAAU,GAAG,YAAY;QAEzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,aAAa,CAChE,OAAO,EACP,UAAU,EACV,UAAU,EACV,IAAI,CAAC,eAAe,CAAC,MAAM,EAC3B,IAAI,CAAC,KAAK,CACb,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW;aACrB,CAAC;QACN,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;aACd,CAAC;QACN,CAAC;QAED,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;SACd,CAAC;IACN,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QAC3C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,GAC1C,MAAM,qBAAqB,CACvB,WAAW,EACX,IAAI,CAAC,eAAe,CAAC,MAAM,EAC3B,IAAI,CAAC,KAAK,CACb,CAAC;QAEN,IAAI,WAAW,EAAE,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW;aACrB,CAAC;QACN,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;aACd,CAAC;QACN,CAAC;QAED,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;SACd,CAAC;IACN,CAAC;CACJ"}
1
+ {"version":3,"file":"firebase-auth.js","sourceRoot":"","sources":["../../src/auth/firebase-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,aAAa,EAChB,MAAM,8BAA8B,CAAC;AAGtC,MAAM,OAAO,YAAY;IAET;IACA;IAFZ,YACY,eAA+B,EAC/B,KAA+B;QAD/B,oBAAe,GAAf,eAAe,CAAgB;QAC/B,UAAK,GAAL,KAAK,CAA0B;IACxC,CAAC;IAEJ,KAAK,CAAC,kBAAkB,CACpB,OAAe,EACf,UAAkB,EAClB,UAAU,GAAG,YAAY;QAEzB,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,aAAa,CAChE,OAAO,EACP,UAAU,EACV,UAAU,EACV,IAAI,CAAC,eAAe,CAAC,MAAM,EAC3B,IAAI,CAAC,KAAK,CACb,CAAC;QAEF,IAAI,WAAW,EAAE,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW;aACrB,CAAC;QACN,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;aACd,CAAC;QACN,CAAC;QAED,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;SACd,CAAC;IACN,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,WAAmB;QAC3C,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,GAC1C,MAAM,qBAAqB,CACvB,WAAW,EACX,IAAI,CAAC,eAAe,CAAC,MAAM,EAC3B,IAAI,CAAC,KAAK,CACb,CAAC;QAEN,IAAI,WAAW,EAAE,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,WAAW;aACrB,CAAC;QACN,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI;aACd,CAAC;QACN,CAAC;QAED,OAAO;YACH,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,IAAI;SACd,CAAC;IACN,CAAC;CACJ"}
@@ -6,7 +6,7 @@ describe('FirebaseAuth', () => {
6
6
  const mockConfig = {
7
7
  apiKey: 'test-api-key',
8
8
  authDomain: 'test-project.firebaseapp.com',
9
- projectId: 'test-project',
9
+ projectId: 'test-project'
10
10
  };
11
11
  let firebaseAuth;
12
12
  let mockFetch;
@@ -23,11 +23,11 @@ describe('FirebaseAuth', () => {
23
23
  expiresIn: '3600',
24
24
  localId: 'user123',
25
25
  providerId: 'google.com',
26
- federatedId: 'fed123',
26
+ federatedId: 'fed123'
27
27
  };
28
28
  vi.mocked(endpoints.signInWithIdp).mockResolvedValue({
29
29
  data: mockData,
30
- error: null,
30
+ error: null
31
31
  });
32
32
  const result = await firebaseAuth.signInWithProvider('idToken', 'http://localhost', 'google.com');
33
33
  expect(result.data).toEqual(mockData);
@@ -38,7 +38,7 @@ describe('FirebaseAuth', () => {
38
38
  const mockError = { code: 400, message: 'Authentication failed' };
39
39
  vi.mocked(endpoints.signInWithIdp).mockResolvedValue({
40
40
  data: null,
41
- error: mockError,
41
+ error: mockError
42
42
  });
43
43
  const result = await firebaseAuth.signInWithProvider('idToken', 'http://localhost');
44
44
  expect(result.data).toBeNull();
@@ -47,7 +47,7 @@ describe('FirebaseAuth', () => {
47
47
  it('should return null data and error when no data returned', async () => {
48
48
  vi.mocked(endpoints.signInWithIdp).mockResolvedValue({
49
49
  data: null,
50
- error: null,
50
+ error: null
51
51
  });
52
52
  const result = await firebaseAuth.signInWithProvider('idToken', 'http://localhost');
53
53
  expect(result.data).toBeNull();
@@ -62,11 +62,11 @@ describe('FirebaseAuth', () => {
62
62
  expiresIn: '3600',
63
63
  localId: 'user456',
64
64
  providerId: 'custom',
65
- federatedId: 'fed456',
65
+ federatedId: 'fed456'
66
66
  };
67
67
  vi.mocked(endpoints.signInWithCustomToken).mockResolvedValue({
68
68
  data: mockData,
69
- error: null,
69
+ error: null
70
70
  });
71
71
  const result = await firebaseAuth.signInWithCustomToken('customToken');
72
72
  expect(result.data).toEqual(mockData);
@@ -77,7 +77,7 @@ describe('FirebaseAuth', () => {
77
77
  const mockError = { code: 400, message: 'Invalid custom token' };
78
78
  vi.mocked(endpoints.signInWithCustomToken).mockResolvedValue({
79
79
  data: null,
80
- error: mockError,
80
+ error: mockError
81
81
  });
82
82
  const result = await firebaseAuth.signInWithCustomToken('customToken');
83
83
  expect(result.data).toBeNull();
@@ -86,7 +86,7 @@ describe('FirebaseAuth', () => {
86
86
  it('should return null data and error when no data returned', async () => {
87
87
  vi.mocked(endpoints.signInWithCustomToken).mockResolvedValue({
88
88
  data: null,
89
- error: null,
89
+ error: null
90
90
  });
91
91
  const result = await firebaseAuth.signInWithCustomToken('customToken');
92
92
  expect(result.data).toBeNull();
@@ -1,5 +1,5 @@
1
- import { decodeProtectedHeader, errors, jwtVerify, importPKCS8, SignJWT, importX509, importSPKI, } from 'jose';
2
- import { JOSEError, JWSInvalid, JWSSignatureVerificationFailed, JWTClaimValidationFailed, JWTExpired, JWTInvalid, } from 'jose/errors';
1
+ import { decodeProtectedHeader, errors, jwtVerify, importPKCS8, SignJWT, importX509, importSPKI } from 'jose';
2
+ import { JOSEError, JWSInvalid, JWSSignatureVerificationFailed, JWTClaimValidationFailed, JWTExpired, JWTInvalid } from 'jose/errors';
3
3
  import { getJWKs, getPublicKeys } from './firebase-auth-endpoints.js';
4
4
  const ALGORITHM_RS256 = 'RS256';
5
5
  const OAUTH_TOKEN_URL = 'https://oauth2.googleapis.com/token';
@@ -7,7 +7,7 @@ const SCOPES = [
7
7
  'https://www.googleapis.com/auth/datastore',
8
8
  'https://www.googleapis.com/auth/identitytoolkit',
9
9
  'https://www.googleapis.com/auth/devstorage.read_write',
10
- 'https://www.googleapis.com/auth/devstorage.read_write',
10
+ 'https://www.googleapis.com/auth/devstorage.read_write'
11
11
  ];
12
12
  const keyMap = new Map();
13
13
  async function importPublicCryptoKey(publicKey) {
@@ -31,13 +31,13 @@ export async function verifySessionJWT(sessionCookie, projectId, fetchFn = globa
31
31
  if (error) {
32
32
  return {
33
33
  data: null,
34
- error,
34
+ error
35
35
  };
36
36
  }
37
37
  if (!keyData) {
38
38
  return {
39
39
  data: null,
40
- error: new Error('No public keys retrieved'),
40
+ error: new Error('No public keys retrieved')
41
41
  };
42
42
  }
43
43
  // Decode header to get kid
@@ -47,14 +47,14 @@ export async function verifySessionJWT(sessionCookie, projectId, fetchFn = globa
47
47
  !keyData[header.kid]) {
48
48
  return {
49
49
  error: new Error('Invalid session cookie: no KID found'),
50
- data: null,
50
+ data: null
51
51
  };
52
52
  }
53
53
  const publicKeyString = keyData[header.kid];
54
54
  if (!publicKeyString) {
55
55
  return {
56
56
  error: new Error('No public key found for the given KID'),
57
- data: null,
57
+ data: null
58
58
  };
59
59
  }
60
60
  const expectedIssuer = `https://session.firebase.google.com/${projectId}`;
@@ -64,38 +64,38 @@ export async function verifySessionJWT(sessionCookie, projectId, fetchFn = globa
64
64
  const { payload } = await jwtVerify(sessionCookie, publicKey, {
65
65
  issuer: expectedIssuer,
66
66
  audience: expectedAudience,
67
- algorithms: [ALGORITHM_RS256],
67
+ algorithms: [ALGORITHM_RS256]
68
68
  });
69
69
  return {
70
70
  error: null,
71
- data: payload,
71
+ data: payload
72
72
  };
73
73
  }
74
74
  catch (err) {
75
75
  if (err instanceof JWTExpired) {
76
76
  return {
77
77
  error: new Error('JWT has expired'),
78
- data: null,
78
+ data: null
79
79
  };
80
80
  }
81
81
  if (err instanceof JWTClaimValidationFailed) {
82
82
  return {
83
83
  error: new Error(`JWT claim validation failed: ${err.message}`),
84
- data: null,
84
+ data: null
85
85
  };
86
86
  }
87
87
  if (err instanceof JWSInvalid ||
88
88
  err instanceof JWSSignatureVerificationFailed) {
89
89
  return {
90
90
  error: new Error('JWT signature verification failed'),
91
- data: null,
91
+ data: null
92
92
  };
93
93
  }
94
94
  return {
95
95
  error: new Error(err instanceof Error
96
96
  ? err.message
97
97
  : 'Unknown error during JWT verification'),
98
- data: null,
98
+ data: null
99
99
  };
100
100
  }
101
101
  }
@@ -105,64 +105,64 @@ export async function verifyJWT(idToken, projectId, fetchFn) {
105
105
  if (!kid) {
106
106
  return {
107
107
  error: new Error('Invalid ID token: no KID found'),
108
- data: null,
108
+ data: null
109
109
  };
110
110
  }
111
111
  const { data, error } = await getJWKs(fetchFn);
112
112
  if (error) {
113
113
  return {
114
114
  error,
115
- data: null,
115
+ data: null
116
116
  };
117
117
  }
118
118
  if (!data || !data.length) {
119
119
  return {
120
120
  error: new Error('No JWKs retrieved'),
121
- data: null,
121
+ data: null
122
122
  };
123
123
  }
124
124
  const jwk = data.find((key) => key.kid === kid);
125
125
  if (!jwk) {
126
126
  return {
127
127
  error: new Error(`No matching JWK found for KID: ${kid}`),
128
- data: null,
128
+ data: null
129
129
  };
130
130
  }
131
131
  const { payload } = await jwtVerify(idToken, jwk, {
132
132
  issuer: `https://securetoken.google.com/${projectId}`,
133
133
  audience: projectId,
134
- algorithms: ['RS256'],
134
+ algorithms: ['RS256']
135
135
  });
136
136
  return {
137
137
  error: null,
138
- data: payload,
138
+ data: payload
139
139
  };
140
140
  }
141
141
  catch (err) {
142
142
  if (err instanceof JWTExpired) {
143
143
  return {
144
144
  error: new Error('JWT has expired'),
145
- data: null,
145
+ data: null
146
146
  };
147
147
  }
148
148
  if (err instanceof JWTClaimValidationFailed) {
149
149
  return {
150
150
  error: new Error(`JWT claim validation failed: ${err.message}`),
151
- data: null,
151
+ data: null
152
152
  };
153
153
  }
154
154
  if (err instanceof JWTInvalid ||
155
155
  err instanceof JWSSignatureVerificationFailed) {
156
156
  return {
157
157
  error: new Error('JWT signature verification failed'),
158
- data: null,
158
+ data: null
159
159
  };
160
160
  }
161
161
  return {
162
162
  error: new Error(err instanceof Error
163
163
  ? err.message
164
164
  : 'Unknown error during JWT verification'),
165
- data: null,
165
+ data: null
166
166
  };
167
167
  }
168
168
  }
@@ -179,7 +179,7 @@ export async function signJWT(serviceAccount) {
179
179
  catch (e) {
180
180
  return {
181
181
  data: null,
182
- error: new Error('Failed to import private key. Please ensure the private key is correctly formatted.'),
182
+ error: new Error('Failed to import private key. Please ensure the private key is correctly formatted.')
183
183
  };
184
184
  }
185
185
  const now = Math.floor(Date.now() / 1000);
@@ -189,14 +189,14 @@ export async function signJWT(serviceAccount) {
189
189
  sub: client_email,
190
190
  aud: OAUTH_TOKEN_URL,
191
191
  iat: now,
192
- exp: now + 3600, // 1 hour
192
+ exp: now + 3600 // 1 hour
193
193
  };
194
194
  const token = await new SignJWT(payload)
195
195
  .setProtectedHeader({ alg: ALGORITHM_RS256, typ: 'JWT' })
196
196
  .sign(key);
197
197
  return {
198
198
  data: token,
199
- error: null,
199
+ error: null
200
200
  };
201
201
  }
202
202
  catch (e) {
@@ -208,7 +208,7 @@ export async function signJWT(serviceAccount) {
208
208
  }
209
209
  return {
210
210
  data: null,
211
- error: new Error('Unknown error during JWT signing'),
211
+ error: new Error('Unknown error during JWT signing')
212
212
  };
213
213
  }
214
214
  }
@@ -229,14 +229,14 @@ const RESERVED_CLAIMS = [
229
229
  'nonce',
230
230
  'sub',
231
231
  'firebase',
232
- 'user_id',
232
+ 'user_id'
233
233
  ];
234
234
  export async function signJWTCustomToken(uid, serviceAccount, additionalClaims = {}) {
235
235
  const { private_key, client_email } = serviceAccount;
236
236
  if (Object.keys(additionalClaims).some((k) => RESERVED_CLAIMS.includes(k) || k.startsWith('firebase'))) {
237
237
  return {
238
238
  data: null,
239
- error: new Error(`Reserved claims (${RESERVED_CLAIMS.join(', ')}) cannot be used in additionalClaims`),
239
+ error: new Error(`Reserved claims (${RESERVED_CLAIMS.join(', ')}) cannot be used in additionalClaims`)
240
240
  };
241
241
  }
242
242
  const payload = { uid };
@@ -256,19 +256,19 @@ export async function signJWTCustomToken(uid, serviceAccount, additionalClaims =
256
256
  .sign(key);
257
257
  return {
258
258
  data: token,
259
- error: null,
259
+ error: null
260
260
  };
261
261
  }
262
262
  catch (e) {
263
263
  if (e instanceof errors.JOSEError) {
264
264
  return {
265
265
  data: null,
266
- error: e,
266
+ error: e
267
267
  };
268
268
  }
269
269
  return {
270
270
  data: null,
271
- error: e,
271
+ error: e
272
272
  };
273
273
  }
274
274
  }