firebase-admin-edge 1.1.1 → 3.0.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.
Files changed (481) hide show
  1. package/README.md +103 -260
  2. package/dist/app-check/app-check-endpoints.d.ts +31 -0
  3. package/dist/app-check/app-check-endpoints.d.ts.map +1 -0
  4. package/dist/app-check/app-check-endpoints.js +75 -0
  5. package/dist/app-check/app-check-endpoints.js.map +1 -0
  6. package/dist/app-check/app-check-jwt.d.ts +16 -0
  7. package/dist/app-check/app-check-jwt.d.ts.map +1 -0
  8. package/dist/app-check/app-check-jwt.js +59 -0
  9. package/dist/app-check/app-check-jwt.js.map +1 -0
  10. package/dist/app-check/app-check.d.ts +48 -0
  11. package/dist/app-check/app-check.d.ts.map +1 -0
  12. package/dist/app-check/app-check.js +142 -0
  13. package/dist/app-check/app-check.js.map +1 -0
  14. package/dist/auth/auth-blocking-types.d.ts +44 -0
  15. package/dist/auth/auth-blocking-types.d.ts.map +1 -0
  16. package/dist/auth/auth-blocking-types.js +2 -0
  17. package/dist/auth/auth-blocking-types.js.map +1 -0
  18. package/dist/auth/auth-config-types.d.ts +146 -0
  19. package/dist/auth/auth-config-types.d.ts.map +1 -0
  20. package/dist/auth/auth-config-types.js +2 -0
  21. package/dist/auth/auth-config-types.js.map +1 -0
  22. package/dist/auth/auth-config.d.ts +15 -0
  23. package/dist/auth/auth-config.d.ts.map +1 -0
  24. package/dist/auth/auth-config.js +413 -0
  25. package/dist/auth/auth-config.js.map +1 -0
  26. package/dist/auth/auth-emulator.d.ts +7 -0
  27. package/dist/auth/auth-emulator.d.ts.map +1 -0
  28. package/dist/auth/auth-emulator.js +24 -0
  29. package/dist/auth/auth-emulator.js.map +1 -0
  30. package/dist/auth/auth-endpoint-errors.d.ts +2 -0
  31. package/dist/auth/auth-endpoint-errors.d.ts.map +1 -1
  32. package/dist/auth/auth-endpoint-errors.js +20 -1
  33. package/dist/auth/auth-endpoint-errors.js.map +1 -1
  34. package/dist/auth/email-link.d.ts +24 -0
  35. package/dist/auth/email-link.d.ts.map +1 -0
  36. package/dist/auth/email-link.js +103 -0
  37. package/dist/auth/email-link.js.map +1 -0
  38. package/dist/auth/firebase-admin-auth.d.ts +56 -8
  39. package/dist/auth/firebase-admin-auth.d.ts.map +1 -1
  40. package/dist/auth/firebase-admin-auth.js +323 -63
  41. package/dist/auth/firebase-admin-auth.js.map +1 -1
  42. package/dist/auth/firebase-auth-endpoints.d.ts +93 -5
  43. package/dist/auth/firebase-auth-endpoints.d.ts.map +1 -1
  44. package/dist/auth/firebase-auth-endpoints.js +342 -73
  45. package/dist/auth/firebase-auth-endpoints.js.map +1 -1
  46. package/dist/auth/firebase-auth.d.ts +82 -6
  47. package/dist/auth/firebase-auth.d.ts.map +1 -1
  48. package/dist/auth/firebase-auth.js +103 -10
  49. package/dist/auth/firebase-auth.js.map +1 -1
  50. package/dist/auth/firebase-jwt.d.ts +19 -10
  51. package/dist/auth/firebase-jwt.d.ts.map +1 -1
  52. package/dist/auth/firebase-jwt.js +176 -39
  53. package/dist/auth/firebase-jwt.js.map +1 -1
  54. package/dist/auth/firebase-types.d.ts +3 -0
  55. package/dist/auth/firebase-types.d.ts.map +1 -1
  56. package/dist/auth/google-oauth.d.ts +0 -1
  57. package/dist/auth/google-oauth.d.ts.map +1 -1
  58. package/dist/auth/google-oauth.js +16 -86
  59. package/dist/auth/google-oauth.js.map +1 -1
  60. package/dist/auth/identity-builder-types.d.ts +36 -0
  61. package/dist/auth/identity-builder-types.d.ts.map +1 -0
  62. package/dist/auth/identity-builder-types.js +2 -0
  63. package/dist/auth/identity-builder-types.js.map +1 -0
  64. package/dist/auth/identity-count-query.d.ts +17 -0
  65. package/dist/auth/identity-count-query.d.ts.map +1 -0
  66. package/dist/auth/identity-count-query.js +51 -0
  67. package/dist/auth/identity-count-query.js.map +1 -0
  68. package/dist/auth/identity-filter.d.ts +9 -0
  69. package/dist/auth/identity-filter.d.ts.map +1 -0
  70. package/dist/auth/identity-filter.js +129 -0
  71. package/dist/auth/identity-filter.js.map +1 -0
  72. package/dist/auth/identity-query.d.ts +11 -0
  73. package/dist/auth/identity-query.d.ts.map +1 -0
  74. package/dist/auth/identity-query.js +122 -0
  75. package/dist/auth/identity-query.js.map +1 -0
  76. package/dist/auth/identity-reference.d.ts +131 -0
  77. package/dist/auth/identity-reference.d.ts.map +1 -0
  78. package/dist/auth/identity-reference.js +293 -0
  79. package/dist/auth/identity-reference.js.map +1 -0
  80. package/dist/auth/identity-types.d.ts +44 -0
  81. package/dist/auth/identity-types.d.ts.map +1 -0
  82. package/dist/auth/identity-types.js +2 -0
  83. package/dist/auth/identity-types.js.map +1 -0
  84. package/dist/auth/identity-write.d.ts +41 -0
  85. package/dist/auth/identity-write.d.ts.map +1 -0
  86. package/dist/auth/identity-write.js +146 -0
  87. package/dist/auth/identity-write.js.map +1 -0
  88. package/dist/auth/identity.d.ts +84 -0
  89. package/dist/auth/identity.d.ts.map +1 -0
  90. package/dist/auth/identity.js +319 -0
  91. package/dist/auth/identity.js.map +1 -0
  92. package/dist/auth/project-config-manager.d.ts +10 -0
  93. package/dist/auth/project-config-manager.d.ts.map +1 -0
  94. package/dist/auth/project-config-manager.js +22 -0
  95. package/dist/auth/project-config-manager.js.map +1 -0
  96. package/dist/auth/provider-credential.d.ts +43 -0
  97. package/dist/auth/provider-credential.d.ts.map +1 -0
  98. package/dist/auth/provider-credential.js +107 -0
  99. package/dist/auth/provider-credential.js.map +1 -0
  100. package/dist/auth/provider-session.d.ts +10 -0
  101. package/dist/auth/provider-session.d.ts.map +1 -0
  102. package/dist/auth/provider-session.js +28 -0
  103. package/dist/auth/provider-session.js.map +1 -0
  104. package/dist/auth/tenant-manager.d.ts +17 -0
  105. package/dist/auth/tenant-manager.d.ts.map +1 -0
  106. package/dist/auth/tenant-manager.js +59 -0
  107. package/dist/auth/tenant-manager.js.map +1 -0
  108. package/dist/auth/user-import.d.ts +7 -1
  109. package/dist/auth/user-import.d.ts.map +1 -1
  110. package/dist/auth/user-import.js +53 -15
  111. package/dist/auth/user-import.js.map +1 -1
  112. package/dist/auth/user-record.d.ts +1 -0
  113. package/dist/auth/user-record.d.ts.map +1 -1
  114. package/dist/auth/user-record.js +5 -0
  115. package/dist/auth/user-record.js.map +1 -1
  116. package/dist/auth/user-request.d.ts +4 -1
  117. package/dist/auth/user-request.d.ts.map +1 -1
  118. package/dist/auth/user-request.js +7 -4
  119. package/dist/auth/user-request.js.map +1 -1
  120. package/dist/db/aggregate.d.ts +49 -0
  121. package/dist/db/aggregate.d.ts.map +1 -0
  122. package/dist/db/aggregate.js +115 -0
  123. package/dist/db/aggregate.js.map +1 -0
  124. package/dist/db/bulk-writer.d.ts +55 -0
  125. package/dist/db/bulk-writer.d.ts.map +1 -0
  126. package/dist/db/bulk-writer.js +257 -0
  127. package/dist/db/bulk-writer.js.map +1 -0
  128. package/dist/db/bundle-builder.d.ts +17 -0
  129. package/dist/db/bundle-builder.d.ts.map +1 -0
  130. package/dist/db/bundle-builder.js +118 -0
  131. package/dist/db/bundle-builder.js.map +1 -0
  132. package/dist/db/bytes.d.ts +12 -0
  133. package/dist/db/bytes.d.ts.map +1 -0
  134. package/dist/db/bytes.js +49 -0
  135. package/dist/db/bytes.js.map +1 -0
  136. package/dist/db/collection-group.d.ts +14 -0
  137. package/dist/db/collection-group.d.ts.map +1 -0
  138. package/dist/db/collection-group.js +43 -0
  139. package/dist/db/collection-group.js.map +1 -0
  140. package/dist/db/collection-reference.d.ts +21 -0
  141. package/dist/db/collection-reference.d.ts.map +1 -0
  142. package/dist/db/collection-reference.js +46 -0
  143. package/dist/db/collection-reference.js.map +1 -0
  144. package/dist/db/document-reference.d.ts +41 -0
  145. package/dist/db/document-reference.d.ts.map +1 -0
  146. package/dist/db/document-reference.js +125 -0
  147. package/dist/db/document-reference.js.map +1 -0
  148. package/dist/db/document-snapshot.d.ts +31 -0
  149. package/dist/db/document-snapshot.d.ts.map +1 -0
  150. package/dist/db/document-snapshot.js +103 -0
  151. package/dist/db/document-snapshot.js.map +1 -0
  152. package/dist/db/explain.d.ts +28 -0
  153. package/dist/db/explain.d.ts.map +1 -0
  154. package/dist/db/explain.js +61 -0
  155. package/dist/db/explain.js.map +1 -0
  156. package/dist/db/field-path.d.ts +10 -0
  157. package/dist/db/field-path.d.ts.map +1 -0
  158. package/dist/db/field-path.js +65 -0
  159. package/dist/db/field-path.js.map +1 -0
  160. package/dist/db/field-value.d.ts +17 -0
  161. package/dist/db/field-value.d.ts.map +1 -0
  162. package/dist/db/field-value.js +57 -0
  163. package/dist/db/field-value.js.map +1 -0
  164. package/dist/db/filter.d.ts +20 -0
  165. package/dist/db/filter.d.ts.map +1 -0
  166. package/dist/db/filter.js +48 -0
  167. package/dist/db/filter.js.map +1 -0
  168. package/dist/db/firestore-converter.d.ts +11 -0
  169. package/dist/db/firestore-converter.d.ts.map +1 -0
  170. package/dist/db/firestore-converter.js +14 -0
  171. package/dist/db/firestore-converter.js.map +1 -0
  172. package/dist/db/firestore-document.d.ts +62 -0
  173. package/dist/db/firestore-document.d.ts.map +1 -0
  174. package/dist/db/firestore-document.js +238 -0
  175. package/dist/db/firestore-document.js.map +1 -0
  176. package/dist/db/firestore-endpoints.d.ts +41 -0
  177. package/dist/db/firestore-endpoints.d.ts.map +1 -0
  178. package/dist/db/firestore-endpoints.js +735 -0
  179. package/dist/db/firestore-endpoints.js.map +1 -0
  180. package/dist/db/firestore-error-codes.d.ts +24 -0
  181. package/dist/db/firestore-error-codes.d.ts.map +1 -0
  182. package/dist/db/firestore-error-codes.js +24 -0
  183. package/dist/db/firestore-error-codes.js.map +1 -0
  184. package/dist/db/firestore-logging.d.ts +23 -0
  185. package/dist/db/firestore-logging.d.ts.map +1 -0
  186. package/dist/db/firestore-logging.js +41 -0
  187. package/dist/db/firestore-logging.js.map +1 -0
  188. package/dist/db/firestore-path.d.ts +4 -0
  189. package/dist/db/firestore-path.d.ts.map +1 -0
  190. package/dist/db/firestore-path.js +37 -0
  191. package/dist/db/firestore-path.js.map +1 -0
  192. package/dist/db/firestore-results.d.ts +12 -0
  193. package/dist/db/firestore-results.d.ts.map +1 -0
  194. package/dist/db/firestore-results.js +19 -0
  195. package/dist/db/firestore-results.js.map +1 -0
  196. package/dist/db/firestore-settings.d.ts +22 -0
  197. package/dist/db/firestore-settings.d.ts.map +1 -0
  198. package/dist/db/firestore-settings.js +83 -0
  199. package/dist/db/firestore-settings.js.map +1 -0
  200. package/dist/db/firestore-telemetry.d.ts +21 -0
  201. package/dist/db/firestore-telemetry.d.ts.map +1 -0
  202. package/dist/db/firestore-telemetry.js +84 -0
  203. package/dist/db/firestore-telemetry.js.map +1 -0
  204. package/dist/db/firestore-types.d.ts +25 -0
  205. package/dist/db/firestore-types.d.ts.map +1 -0
  206. package/dist/db/firestore-types.js +2 -0
  207. package/dist/db/firestore-types.js.map +1 -0
  208. package/dist/db/firestore.d.ts +157 -0
  209. package/dist/db/firestore.d.ts.map +1 -0
  210. package/dist/db/firestore.js +513 -0
  211. package/dist/db/firestore.js.map +1 -0
  212. package/dist/db/geo-point.d.ts +11 -0
  213. package/dist/db/geo-point.d.ts.map +1 -0
  214. package/dist/db/geo-point.js +29 -0
  215. package/dist/db/geo-point.js.map +1 -0
  216. package/dist/db/json-stream.d.ts +3 -0
  217. package/dist/db/json-stream.d.ts.map +1 -0
  218. package/dist/db/json-stream.js +117 -0
  219. package/dist/db/json-stream.js.map +1 -0
  220. package/dist/db/pipeline-expression.d.ts +293 -0
  221. package/dist/db/pipeline-expression.d.ts.map +1 -0
  222. package/dist/db/pipeline-expression.js +1436 -0
  223. package/dist/db/pipeline-expression.js.map +1 -0
  224. package/dist/db/pipeline-query.d.ts +6 -0
  225. package/dist/db/pipeline-query.d.ts.map +1 -0
  226. package/dist/db/pipeline-query.js +91 -0
  227. package/dist/db/pipeline-query.js.map +1 -0
  228. package/dist/db/pipeline.d.ts +120 -0
  229. package/dist/db/pipeline.d.ts.map +1 -0
  230. package/dist/db/pipeline.js +396 -0
  231. package/dist/db/pipeline.js.map +1 -0
  232. package/dist/db/query-document-snapshot.d.ts +2 -0
  233. package/dist/db/query-document-snapshot.d.ts.map +1 -0
  234. package/dist/db/query-document-snapshot.js +2 -0
  235. package/dist/db/query-document-snapshot.js.map +1 -0
  236. package/dist/db/query-partition.d.ts +14 -0
  237. package/dist/db/query-partition.d.ts.map +1 -0
  238. package/dist/db/query-partition.js +32 -0
  239. package/dist/db/query-partition.js.map +1 -0
  240. package/dist/db/query-request.d.ts +96 -0
  241. package/dist/db/query-request.d.ts.map +1 -0
  242. package/dist/db/query-request.js +283 -0
  243. package/dist/db/query-request.js.map +1 -0
  244. package/dist/db/query.d.ts +129 -0
  245. package/dist/db/query.d.ts.map +1 -0
  246. package/dist/db/query.js +468 -0
  247. package/dist/db/query.js.map +1 -0
  248. package/dist/db/recursive-delete.d.ts +6 -0
  249. package/dist/db/recursive-delete.d.ts.map +1 -0
  250. package/dist/db/recursive-delete.js +38 -0
  251. package/dist/db/recursive-delete.js.map +1 -0
  252. package/dist/db/snapshot-listener.d.ts +10 -0
  253. package/dist/db/snapshot-listener.d.ts.map +1 -0
  254. package/dist/db/snapshot-listener.js +71 -0
  255. package/dist/db/snapshot-listener.js.map +1 -0
  256. package/dist/db/timestamp.d.ts +29 -0
  257. package/dist/db/timestamp.d.ts.map +1 -0
  258. package/dist/db/timestamp.js +98 -0
  259. package/dist/db/timestamp.js.map +1 -0
  260. package/dist/db/transaction.d.ts +44 -0
  261. package/dist/db/transaction.d.ts.map +1 -0
  262. package/dist/db/transaction.js +177 -0
  263. package/dist/db/transaction.js.map +1 -0
  264. package/dist/db/value-equality.d.ts +3 -0
  265. package/dist/db/value-equality.d.ts.map +1 -0
  266. package/dist/db/value-equality.js +29 -0
  267. package/dist/db/value-equality.js.map +1 -0
  268. package/dist/db/vector-query.d.ts +38 -0
  269. package/dist/db/vector-query.d.ts.map +1 -0
  270. package/dist/db/vector-query.js +110 -0
  271. package/dist/db/vector-query.js.map +1 -0
  272. package/dist/db/vector-value.d.ts +8 -0
  273. package/dist/db/vector-value.d.ts.map +1 -0
  274. package/dist/db/vector-value.js +25 -0
  275. package/dist/db/vector-value.js.map +1 -0
  276. package/dist/db/write-batch.d.ts +25 -0
  277. package/dist/db/write-batch.d.ts.map +1 -0
  278. package/dist/db/write-batch.js +72 -0
  279. package/dist/db/write-batch.js.map +1 -0
  280. package/dist/db/write-request.d.ts +36 -0
  281. package/dist/db/write-request.d.ts.map +1 -0
  282. package/dist/db/write-request.js +257 -0
  283. package/dist/db/write-request.js.map +1 -0
  284. package/dist/firebase-edge-server.d.ts +145 -36
  285. package/dist/firebase-edge-server.d.ts.map +1 -1
  286. package/dist/firebase-edge-server.js +495 -258
  287. package/dist/firebase-edge-server.js.map +1 -1
  288. package/dist/index.d.ts +7 -0
  289. package/dist/index.d.ts.map +1 -1
  290. package/dist/index.js +6 -0
  291. package/dist/index.js.map +1 -1
  292. package/dist/rest-fetch.d.ts +1 -1
  293. package/dist/rest-fetch.d.ts.map +1 -1
  294. package/dist/storage/storage-acl.d.ts +48 -0
  295. package/dist/storage/storage-acl.d.ts.map +1 -0
  296. package/dist/storage/storage-acl.js +101 -0
  297. package/dist/storage/storage-acl.js.map +1 -0
  298. package/dist/storage/storage-bucket-endpoints.d.ts +10 -0
  299. package/dist/storage/storage-bucket-endpoints.d.ts.map +1 -0
  300. package/dist/storage/storage-bucket-endpoints.js +514 -0
  301. package/dist/storage/storage-bucket-endpoints.js.map +1 -0
  302. package/dist/storage/storage-bucket-types.d.ts +183 -0
  303. package/dist/storage/storage-bucket-types.d.ts.map +1 -0
  304. package/dist/storage/storage-bucket-types.js +2 -0
  305. package/dist/storage/storage-bucket-types.js.map +1 -0
  306. package/dist/storage/storage-bucket.d.ts +122 -0
  307. package/dist/storage/storage-bucket.d.ts.map +1 -0
  308. package/dist/storage/storage-bucket.js +544 -0
  309. package/dist/storage/storage-bucket.js.map +1 -0
  310. package/dist/storage/storage-channel.d.ts +10 -0
  311. package/dist/storage/storage-channel.d.ts.map +1 -0
  312. package/dist/storage/storage-channel.js +15 -0
  313. package/dist/storage/storage-channel.js.map +1 -0
  314. package/dist/storage/storage-checksum.d.ts +35 -0
  315. package/dist/storage/storage-checksum.d.ts.map +1 -0
  316. package/dist/storage/storage-checksum.js +312 -0
  317. package/dist/storage/storage-checksum.js.map +1 -0
  318. package/dist/storage/storage-endpoints.d.ts +14 -0
  319. package/dist/storage/storage-endpoints.d.ts.map +1 -0
  320. package/dist/storage/storage-endpoints.js +721 -0
  321. package/dist/storage/storage-endpoints.js.map +1 -0
  322. package/dist/storage/storage-file.d.ts +126 -0
  323. package/dist/storage/storage-file.d.ts.map +1 -0
  324. package/dist/storage/storage-file.js +604 -0
  325. package/dist/storage/storage-file.js.map +1 -0
  326. package/dist/storage/storage-hmac-key.d.ts +26 -0
  327. package/dist/storage/storage-hmac-key.d.ts.map +1 -0
  328. package/dist/storage/storage-hmac-key.js +45 -0
  329. package/dist/storage/storage-hmac-key.js.map +1 -0
  330. package/dist/storage/storage-iam.d.ts +20 -0
  331. package/dist/storage/storage-iam.d.ts.map +1 -0
  332. package/dist/storage/storage-iam.js +43 -0
  333. package/dist/storage/storage-iam.js.map +1 -0
  334. package/dist/storage/storage-md5.d.ts +11 -0
  335. package/dist/storage/storage-md5.d.ts.map +1 -0
  336. package/dist/storage/storage-md5.js +96 -0
  337. package/dist/storage/storage-md5.js.map +1 -0
  338. package/dist/storage/storage-notification.d.ts +24 -0
  339. package/dist/storage/storage-notification.d.ts.map +1 -0
  340. package/dist/storage/storage-notification.js +40 -0
  341. package/dist/storage/storage-notification.js.map +1 -0
  342. package/dist/storage/storage-progress.d.ts +4 -0
  343. package/dist/storage/storage-progress.d.ts.map +1 -0
  344. package/dist/storage/storage-progress.js +17 -0
  345. package/dist/storage/storage-progress.js.map +1 -0
  346. package/dist/storage/storage-reference-endpoints.d.ts +63 -0
  347. package/dist/storage/storage-reference-endpoints.d.ts.map +1 -0
  348. package/dist/storage/storage-reference-endpoints.js +276 -0
  349. package/dist/storage/storage-reference-endpoints.js.map +1 -0
  350. package/dist/storage/storage-reference-helpers.d.ts +12 -0
  351. package/dist/storage/storage-reference-helpers.d.ts.map +1 -0
  352. package/dist/storage/storage-reference-helpers.js +72 -0
  353. package/dist/storage/storage-reference-helpers.js.map +1 -0
  354. package/dist/storage/storage-reference-signing.d.ts +40 -0
  355. package/dist/storage/storage-reference-signing.d.ts.map +1 -0
  356. package/dist/storage/storage-reference-signing.js +289 -0
  357. package/dist/storage/storage-reference-signing.js.map +1 -0
  358. package/dist/storage/storage-reference-types.d.ts +76 -0
  359. package/dist/storage/storage-reference-types.d.ts.map +1 -0
  360. package/dist/storage/storage-reference-types.js +2 -0
  361. package/dist/storage/storage-reference-types.js.map +1 -0
  362. package/dist/storage/storage-results.d.ts +8 -0
  363. package/dist/storage/storage-results.d.ts.map +1 -0
  364. package/dist/storage/storage-results.js +32 -0
  365. package/dist/storage/storage-results.js.map +1 -0
  366. package/dist/storage/storage-resumable.d.ts +18 -0
  367. package/dist/storage/storage-resumable.d.ts.map +1 -0
  368. package/dist/storage/storage-resumable.js +166 -0
  369. package/dist/storage/storage-resumable.js.map +1 -0
  370. package/dist/storage/storage-retry.d.ts +9 -0
  371. package/dist/storage/storage-retry.d.ts.map +1 -0
  372. package/dist/storage/storage-retry.js +104 -0
  373. package/dist/storage/storage-retry.js.map +1 -0
  374. package/dist/storage/storage-signed-url.d.ts +9 -0
  375. package/dist/storage/storage-signed-url.d.ts.map +1 -0
  376. package/dist/storage/storage-signed-url.js +96 -0
  377. package/dist/storage/storage-signed-url.js.map +1 -0
  378. package/dist/storage/storage-special-endpoints.d.ts +10 -0
  379. package/dist/storage/storage-special-endpoints.d.ts.map +1 -0
  380. package/dist/storage/storage-special-endpoints.js +394 -0
  381. package/dist/storage/storage-special-endpoints.js.map +1 -0
  382. package/dist/storage/storage-special-types.d.ts +154 -0
  383. package/dist/storage/storage-special-types.d.ts.map +1 -0
  384. package/dist/storage/storage-special-types.js +2 -0
  385. package/dist/storage/storage-special-types.js.map +1 -0
  386. package/dist/storage/storage-types.d.ts +251 -0
  387. package/dist/storage/storage-types.d.ts.map +1 -0
  388. package/dist/storage/storage-types.js +2 -0
  389. package/dist/storage/storage-types.js.map +1 -0
  390. package/dist/storage/storage-upload-stream.d.ts +41 -0
  391. package/dist/storage/storage-upload-stream.d.ts.map +1 -0
  392. package/dist/storage/storage-upload-stream.js +335 -0
  393. package/dist/storage/storage-upload-stream.js.map +1 -0
  394. package/dist/storage/storage-xml-signing.d.ts +17 -0
  395. package/dist/storage/storage-xml-signing.d.ts.map +1 -0
  396. package/dist/storage/storage-xml-signing.js +144 -0
  397. package/dist/storage/storage-xml-signing.js.map +1 -0
  398. package/dist/storage/storage.d.ts +159 -0
  399. package/dist/storage/storage.d.ts.map +1 -0
  400. package/dist/storage/storage.js +545 -0
  401. package/dist/storage/storage.js.map +1 -0
  402. package/dist/utils/token-cache.d.ts.map +1 -1
  403. package/dist/utils/token-cache.js +3 -2
  404. package/dist/utils/token-cache.js.map +1 -1
  405. package/package.json +24 -8
  406. package/dist/auth/auth-endpoint-errors.test.d.ts +0 -2
  407. package/dist/auth/auth-endpoint-errors.test.d.ts.map +0 -1
  408. package/dist/auth/auth-endpoint-errors.test.js +0 -411
  409. package/dist/auth/auth-endpoint-errors.test.js.map +0 -1
  410. package/dist/auth/email-action-request.test.d.ts +0 -2
  411. package/dist/auth/email-action-request.test.d.ts.map +0 -1
  412. package/dist/auth/email-action-request.test.js +0 -128
  413. package/dist/auth/email-action-request.test.js.map +0 -1
  414. package/dist/auth/errors.test.d.ts +0 -2
  415. package/dist/auth/errors.test.d.ts.map +0 -1
  416. package/dist/auth/errors.test.js +0 -123
  417. package/dist/auth/errors.test.js.map +0 -1
  418. package/dist/auth/firebase-admin-auth.test.d.ts +0 -2
  419. package/dist/auth/firebase-admin-auth.test.d.ts.map +0 -1
  420. package/dist/auth/firebase-admin-auth.test.js +0 -1542
  421. package/dist/auth/firebase-admin-auth.test.js.map +0 -1
  422. package/dist/auth/firebase-auth-endpoints.test.d.ts +0 -2
  423. package/dist/auth/firebase-auth-endpoints.test.d.ts.map +0 -1
  424. package/dist/auth/firebase-auth-endpoints.test.js +0 -1082
  425. package/dist/auth/firebase-auth-endpoints.test.js.map +0 -1
  426. package/dist/auth/firebase-auth.test.d.ts +0 -2
  427. package/dist/auth/firebase-auth.test.d.ts.map +0 -1
  428. package/dist/auth/firebase-auth.test.js +0 -167
  429. package/dist/auth/firebase-auth.test.js.map +0 -1
  430. package/dist/auth/firebase-jwt.test.d.ts +0 -2
  431. package/dist/auth/firebase-jwt.test.d.ts.map +0 -1
  432. package/dist/auth/firebase-jwt.test.js +0 -164
  433. package/dist/auth/firebase-jwt.test.js.map +0 -1
  434. package/dist/auth/github-oauth.d.ts +0 -19
  435. package/dist/auth/github-oauth.d.ts.map +0 -1
  436. package/dist/auth/github-oauth.js +0 -145
  437. package/dist/auth/github-oauth.js.map +0 -1
  438. package/dist/auth/github-oauth.test.d.ts +0 -2
  439. package/dist/auth/github-oauth.test.d.ts.map +0 -1
  440. package/dist/auth/github-oauth.test.js +0 -202
  441. package/dist/auth/github-oauth.test.js.map +0 -1
  442. package/dist/auth/google-oauth.test.d.ts +0 -2
  443. package/dist/auth/google-oauth.test.d.ts.map +0 -1
  444. package/dist/auth/google-oauth.test.js +0 -200
  445. package/dist/auth/google-oauth.test.js.map +0 -1
  446. package/dist/auth/oauth.d.ts +0 -3
  447. package/dist/auth/oauth.d.ts.map +0 -1
  448. package/dist/auth/oauth.js +0 -48
  449. package/dist/auth/oauth.js.map +0 -1
  450. package/dist/auth/oauth.test.d.ts +0 -2
  451. package/dist/auth/oauth.test.d.ts.map +0 -1
  452. package/dist/auth/oauth.test.js +0 -109
  453. package/dist/auth/oauth.test.js.map +0 -1
  454. package/dist/auth/user-batch.test.d.ts +0 -2
  455. package/dist/auth/user-batch.test.d.ts.map +0 -1
  456. package/dist/auth/user-batch.test.js +0 -73
  457. package/dist/auth/user-batch.test.js.map +0 -1
  458. package/dist/auth/user-import.test.d.ts +0 -2
  459. package/dist/auth/user-import.test.d.ts.map +0 -1
  460. package/dist/auth/user-import.test.js +0 -217
  461. package/dist/auth/user-import.test.js.map +0 -1
  462. package/dist/auth/user-record.test.d.ts +0 -2
  463. package/dist/auth/user-record.test.d.ts.map +0 -1
  464. package/dist/auth/user-record.test.js +0 -198
  465. package/dist/auth/user-record.test.js.map +0 -1
  466. package/dist/auth/user-request.test.d.ts +0 -2
  467. package/dist/auth/user-request.test.d.ts.map +0 -1
  468. package/dist/auth/user-request.test.js +0 -327
  469. package/dist/auth/user-request.test.js.map +0 -1
  470. package/dist/firebase-edge-errors.test.d.ts +0 -2
  471. package/dist/firebase-edge-errors.test.d.ts.map +0 -1
  472. package/dist/firebase-edge-errors.test.js +0 -72
  473. package/dist/firebase-edge-errors.test.js.map +0 -1
  474. package/dist/firebase-edge-server.test.d.ts +0 -2
  475. package/dist/firebase-edge-server.test.d.ts.map +0 -1
  476. package/dist/firebase-edge-server.test.js +0 -293
  477. package/dist/firebase-edge-server.test.js.map +0 -1
  478. package/dist/rest-fetch.test.d.ts +0 -2
  479. package/dist/rest-fetch.test.d.ts.map +0 -1
  480. package/dist/rest-fetch.test.js +0 -164
  481. package/dist/rest-fetch.test.js.map +0 -1
@@ -1,5 +1,13 @@
1
- import { generateEmailActionLink, deleteAccountsAdmin, importAccountsAdmin, createAccountAdmin, updateAccountAdmin, deleteAccountAdmin, createSessionCookie, downloadAccount, getAccountInfo, getAccountsInfo, revokeRefreshTokens } from './firebase-auth-endpoints.js';
2
- import { signJWTCustomToken, verifyJWT, verifySessionJWT } from './firebase-jwt.js';
1
+ import { buildIdentityMetadataRequest } from './identity-write.js';
2
+ import { buildIdentityWriteRequest } from './identity-write.js';
3
+ import { countAccounts, queryAccounts, createAuthEmulatorFetch, manageAuthConfig, generateEmailActionLink, deleteAccountsAdmin, importAccountsAdmin, createAccountAdmin, updateAccountAdmin, deleteAccountAdmin, createSessionCookie, downloadAccount, getAccountInfo, getAccountsInfo, revokeRefreshTokens } from './firebase-auth-endpoints.js';
4
+ import { resolveAuthEmulatorHost } from './auth-emulator.js';
5
+ import { buildAuthConfigRequest, validateTenantId } from './auth-config.js';
6
+ import { ProjectConfigManager } from './project-config-manager.js';
7
+ import { TenantManager } from './tenant-manager.js';
8
+ export { ProjectConfigManager } from './project-config-manager.js';
9
+ export { TenantManager } from './tenant-manager.js';
10
+ import { verifyAuthBlockingJWT, signJWTCustomToken, verifyJWT, verifySessionJWT } from './firebase-jwt.js';
3
11
  import { getToken } from './google-oauth.js';
4
12
  import { FirebaseEdgeError, FirebaseAdminAuthErrorInfo, ensureError } from './errors.js';
5
13
  import { validateDeleteUsers, createBatchUserResult } from './user-batch.js';
@@ -13,26 +21,170 @@ import { buildEmailActionRequest } from './email-action-request.js';
13
21
  */
14
22
  export class FirebaseAdminAuth {
15
23
  serviceAccountKey;
24
+ /** Count accounts with the same native filter used by Identity queries. @internal */
25
+ async _countUsers(filter) {
26
+ try {
27
+ const { error: tokenError, data: token } = await this.getCachedToken();
28
+ if (tokenError) {
29
+ return { data: null, error: tokenError };
30
+ }
31
+ if (!token?.access_token) {
32
+ return {
33
+ data: null,
34
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
35
+ };
36
+ }
37
+ return await countAccounts(token.access_token, this.serviceAccountKey.project_id, filter, this.tenantId, this.fetch);
38
+ }
39
+ catch (cause) {
40
+ return { data: null, error: ensureError(cause) };
41
+ }
42
+ }
43
+ /** Execute a validated Identity query using this client's token and tenant. @internal */
44
+ async _queryUsers(options) {
45
+ try {
46
+ const { error: tokenError, data: token } = await this.getCachedToken();
47
+ if (tokenError) {
48
+ return { data: null, error: tokenError };
49
+ }
50
+ if (!token?.access_token) {
51
+ return {
52
+ data: null,
53
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
54
+ };
55
+ }
56
+ const { error, data } = await queryAccounts(token.access_token, this.serviceAccountKey.project_id, options, this.tenantId, this.fetch);
57
+ if (error) {
58
+ return { data: null, error };
59
+ }
60
+ return { data: data.map(createUserRecord), error: null };
61
+ }
62
+ catch (cause) {
63
+ return { data: null, error: ensureError(cause) };
64
+ }
65
+ }
16
66
  tenantId;
17
67
  fetch;
18
68
  cache;
19
69
  cacheName;
70
+ /** Verify a blocking-event JWT. Audience matching follows the SDK's substring convention. */
71
+ async _verifyAuthBlockingToken(token, audience) {
72
+ const result = await verifyAuthBlockingJWT(token, this.serviceAccountKey.project_id, audience, this.fetch, !!this.emulatorHost);
73
+ if (result.error)
74
+ return result;
75
+ if (this.tenantId && result.data.tenant_id !== this.tenantId)
76
+ return {
77
+ data: null,
78
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_TENANT_ID_INVALID)
79
+ };
80
+ return result;
81
+ }
82
+ emulatorHost;
20
83
  _cacheName = '__cache';
84
+ projectManager;
85
+ tenants;
86
+ createProviderConfig(config) {
87
+ return this.executeConfig({
88
+ resource: 'provider',
89
+ action: 'create',
90
+ id: config?.providerId,
91
+ properties: config
92
+ });
93
+ }
94
+ getProviderConfig(providerId) {
95
+ return this.executeConfig({
96
+ resource: 'provider',
97
+ action: 'get',
98
+ id: providerId
99
+ });
100
+ }
101
+ updateProviderConfig(providerId, config) {
102
+ return this.executeConfig({
103
+ resource: 'provider',
104
+ action: 'update',
105
+ id: providerId,
106
+ properties: config
107
+ });
108
+ }
109
+ deleteProviderConfig(providerId) {
110
+ return this.executeConfig({
111
+ resource: 'provider',
112
+ action: 'delete',
113
+ id: providerId
114
+ });
115
+ }
116
+ listProviderConfigs(filter) {
117
+ return this.executeConfig({
118
+ resource: 'provider',
119
+ action: 'list',
120
+ type: filter?.type,
121
+ maxResults: filter?.maxResults,
122
+ pageToken: filter?.pageToken
123
+ });
124
+ }
125
+ projectConfigManager() {
126
+ if (this.projectManager)
127
+ return this.projectManager;
128
+ this.projectManager = new ProjectConfigManager(this.executeConfig.bind(this));
129
+ return this.projectManager;
130
+ }
131
+ tenantManager() {
132
+ if (this.tenants)
133
+ return this.tenants;
134
+ this.tenants = new TenantManager(this.executeConfig.bind(this), (tenantId) => new FirebaseAdminAuth(this.serviceAccountKey, {
135
+ tenantId,
136
+ fetch: this.fetch,
137
+ cache: this.cache,
138
+ cacheName: this._cacheName,
139
+ emulatorHost: this.emulatorHost
140
+ }));
141
+ return this.tenants;
142
+ }
143
+ async executeConfig(operation) {
144
+ try {
145
+ buildAuthConfigRequest(operation);
146
+ const { data: token, error } = await this.getCachedToken();
147
+ if (error)
148
+ return { data: null, error };
149
+ if (!token?.access_token)
150
+ return {
151
+ data: null,
152
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
153
+ };
154
+ return await manageAuthConfig(this.serviceAccountKey.project_id, operation, token.access_token, this.fetch, this.tenantId);
155
+ }
156
+ catch (cause) {
157
+ if (cause instanceof FirebaseEdgeError)
158
+ return { data: null, error: cause };
159
+ return {
160
+ data: null,
161
+ error: new FirebaseEdgeError({
162
+ code: 'auth/configuration-request-failed',
163
+ message: 'Authentication configuration request failed.'
164
+ }, { cause: ensureError(cause) })
165
+ };
166
+ }
167
+ }
21
168
  /**
22
169
  * Creates a new Firebase Admin Auth instance.
23
170
  *
24
171
  * @param serviceAccountKey Firebase service account credentials
25
- * @param tenantId Optional tenant ID for multi-tenancy
26
- * @param fetch Optional custom fetch implementation
27
- * @param cache Optional cache implementation for token caching
28
- * @param cacheName Optional cache key name (defaults to '__cache')
172
+ * @param options Optional constructor settings, including Auth emulator configuration.
29
173
  */
30
- constructor(serviceAccountKey, tenantId, fetch, cache, cacheName) {
174
+ constructor(serviceAccountKey, options = {}) {
31
175
  this.serviceAccountKey = serviceAccountKey;
176
+ const { tenantId, fetch, cache, cacheName } = options;
177
+ if (tenantId !== undefined) {
178
+ validateTenantId(tenantId);
179
+ }
32
180
  this.tenantId = tenantId;
33
181
  this.fetch = fetch;
34
182
  this.cache = cache;
35
183
  this.cacheName = cacheName;
184
+ this.emulatorHost = resolveAuthEmulatorHost(options.emulatorHost);
185
+ if (this.emulatorHost) {
186
+ this.fetch = createAuthEmulatorFetch(this.emulatorHost, this.fetch);
187
+ }
36
188
  this._cacheName = this.cacheName || this._cacheName;
37
189
  }
38
190
  /**
@@ -42,7 +194,20 @@ export class FirebaseAdminAuth {
42
194
  * @returns Promise with token data and error
43
195
  */
44
196
  async getCachedToken() {
45
- const cachedToken = await this.cache?.getCache(this._cacheName);
197
+ if (this.emulatorHost) {
198
+ return {
199
+ data: {
200
+ access_token: 'owner',
201
+ expires_in: 3600,
202
+ token_type: 'Bearer',
203
+ scope: '',
204
+ id_token: ''
205
+ },
206
+ error: null
207
+ };
208
+ }
209
+ const cacheKey = `${this._cacheName}:auth:${this.serviceAccountKey.client_email}`;
210
+ const cachedToken = await this.cache?.getCache(cacheKey);
46
211
  if (cachedToken) {
47
212
  return {
48
213
  data: cachedToken,
@@ -51,8 +216,11 @@ export class FirebaseAdminAuth {
51
216
  }
52
217
  const { data: token, error: getTokenError } = await getToken(this.serviceAccountKey, this.fetch);
53
218
  if (token && this.cache) {
54
- // Google tokens are valid for 1 hour
55
- this.cache?.setCache('token', token, 3600);
219
+ // Cache adapters accept milliseconds. Expire before the OAuth token does.
220
+ const ttlMs = Math.max(0, (token.expires_in - 60) * 1000);
221
+ if (Number.isFinite(ttlMs) && ttlMs > 0) {
222
+ await this.cache.setCache(cacheKey, token, ttlMs);
223
+ }
56
224
  }
57
225
  if (getTokenError) {
58
226
  return {
@@ -65,6 +233,84 @@ export class FirebaseAdminAuth {
65
233
  error: null
66
234
  };
67
235
  }
236
+ /** @internal Write without fetching the user record afterward. */
237
+ async _writeIdentityUser(uid, properties, mode = 'update') {
238
+ if (mode !== 'update' && uid === undefined) {
239
+ return {
240
+ data: null,
241
+ error: new FirebaseEdgeError({
242
+ code: 'auth/invalid-argument',
243
+ message: `${mode} requires an existing UID.`
244
+ })
245
+ };
246
+ }
247
+ if (uid !== undefined) {
248
+ const error = validateUserUid(uid);
249
+ if (error) {
250
+ return { error, data: null };
251
+ }
252
+ }
253
+ const { error: validationError, data: body } = mode === 'metadata'
254
+ ? buildIdentityMetadataRequest(properties)
255
+ : buildIdentityWriteRequest(properties, uid === undefined ? 'create' : mode);
256
+ if (validationError) {
257
+ return { error: validationError, data: null };
258
+ }
259
+ try {
260
+ const { error: tokenError, data: token } = await this.getCachedToken();
261
+ if (tokenError) {
262
+ return { error: tokenError, data: null };
263
+ }
264
+ if (!token?.access_token) {
265
+ return {
266
+ data: null,
267
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
268
+ };
269
+ }
270
+ const { customAttributes, ...createBody } = body;
271
+ const { error, data } = uid === undefined
272
+ ? await createAccountAdmin(this.serviceAccountKey.project_id, createBody, token.access_token, this.fetch, this.tenantId)
273
+ : await updateAccountAdmin(this.serviceAccountKey.project_id, uid, body, token.access_token, this.fetch, this.tenantId);
274
+ if (error) {
275
+ return { error: ensureError(error), data: null };
276
+ }
277
+ if (typeof data?.localId !== 'string' ||
278
+ !data.localId ||
279
+ (uid !== undefined && data.localId !== uid)) {
280
+ return {
281
+ data: null,
282
+ error: new FirebaseEdgeError({
283
+ code: 'auth/internal-error',
284
+ message: 'Identity write returned no matching UID.'
285
+ })
286
+ };
287
+ }
288
+ if (uid === undefined && customAttributes !== undefined) {
289
+ try {
290
+ const { error: claimsError } = await updateAccountAdmin(this.serviceAccountKey.project_id, data.localId, { customAttributes }, token.access_token, this.fetch, this.tenantId);
291
+ if (claimsError) {
292
+ throw claimsError;
293
+ }
294
+ }
295
+ catch (cause) {
296
+ const error = ensureError(cause);
297
+ return {
298
+ data: null,
299
+ error: new FirebaseEdgeError({
300
+ code: error instanceof FirebaseEdgeError
301
+ ? error.code
302
+ : 'auth/internal-error',
303
+ message: `User ${data.localId} was created, but setting custom claims failed: ${error.message}`
304
+ }, { cause: error, context: { uid: data.localId } })
305
+ };
306
+ }
307
+ }
308
+ return { error: null, data: { uid: data.localId } };
309
+ }
310
+ catch (cause) {
311
+ return { error: ensureError(cause), data: null };
312
+ }
313
+ }
68
314
  /** Create a user and return the complete user record. */
69
315
  async createUser(properties) {
70
316
  const request = buildUserRequest(properties, 'create');
@@ -342,24 +588,37 @@ export class FirebaseAdminAuth {
342
588
  * @returns Promise with object containing user data or null, and error if any
343
589
  */
344
590
  async getUser(uid) {
345
- const { data: token, error: tokenError } = await this.getCachedToken();
346
- if (tokenError) {
347
- return {
348
- data: null,
349
- error: tokenError
350
- };
591
+ return this.lookupUser({ uid });
592
+ }
593
+ async lookupUser(identifier) {
594
+ const validation = buildUsersLookupRequest([identifier]);
595
+ if (validation.error)
596
+ return { data: null, error: validation.error };
597
+ try {
598
+ const { data: token, error: tokenError } = await this.getCachedToken();
599
+ if (tokenError)
600
+ return { data: null, error: tokenError };
601
+ if (!token?.access_token)
602
+ return {
603
+ data: null,
604
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
605
+ };
606
+ const result = await getAccountInfo(identifier, token.access_token, this.serviceAccountKey.project_id, this.tenantId, this.fetch);
607
+ if (result.error)
608
+ return { data: null, error: result.error };
609
+ if (!result.data)
610
+ return {
611
+ data: null,
612
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_NOT_FOUND)
613
+ };
614
+ return { data: result.data, error: null };
351
615
  }
352
- const { data, error } = await getAccountInfo({ uid }, token.access_token, this.serviceAccountKey.project_id, this.tenantId, this.fetch);
353
- if (error) {
616
+ catch (cause) {
354
617
  return {
355
618
  data: null,
356
- error
619
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_LOOKUP_FAILED, { cause: ensureError(cause) })
357
620
  };
358
621
  }
359
- return {
360
- data,
361
- error: null
362
- };
363
622
  }
364
623
  /**
365
624
  * Lists one page of users, using Firebase Admin's page size and token contract.
@@ -435,24 +694,7 @@ export class FirebaseAdminAuth {
435
694
  * @returns Promise with object containing user data or null, and error if any
436
695
  */
437
696
  async getUserByEmail(email) {
438
- const { data: token, error: tokenError } = await this.getCachedToken();
439
- if (tokenError) {
440
- return {
441
- data: null,
442
- error: tokenError
443
- };
444
- }
445
- const { data, error } = await getAccountInfo({ email }, token.access_token, this.serviceAccountKey.project_id, this.tenantId, this.fetch);
446
- if (error) {
447
- return {
448
- data: null,
449
- error
450
- };
451
- }
452
- return {
453
- data,
454
- error: null
455
- };
697
+ return this.lookupUser({ email });
456
698
  }
457
699
  /** Look up a linked provider UID, or a primary email/phone identifier. */
458
700
  async getUserByProviderUid(providerId, uid) {
@@ -512,7 +754,7 @@ export class FirebaseAdminAuth {
512
754
  * @returns Promise with object containing decoded token payload or null, and error if any
513
755
  */
514
756
  async verifyIdToken(idToken, checkRevoked = false) {
515
- const { data: decodedIdToken, error: verifyError } = await verifyJWT(idToken, this.serviceAccountKey.project_id, this.fetch);
757
+ const { data: decodedIdToken, error: verifyError } = await verifyJWT(idToken, this.serviceAccountKey.project_id, this.fetch, !!this.emulatorHost);
516
758
  if (verifyError) {
517
759
  return {
518
760
  data: null,
@@ -540,7 +782,7 @@ export class FirebaseAdminAuth {
540
782
  };
541
783
  }
542
784
  }
543
- if (!checkRevoked) {
785
+ if (!checkRevoked && !this.emulatorHost) {
544
786
  return {
545
787
  data: decodedIdToken,
546
788
  error: null
@@ -550,7 +792,10 @@ export class FirebaseAdminAuth {
550
792
  if (userError) {
551
793
  return {
552
794
  data: null,
553
- error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_LOOKUP_FAILED, { cause: ensureError(userError) })
795
+ error: new FirebaseEdgeError(userError.code ===
796
+ FirebaseAdminAuthErrorInfo.ADMIN_USER_NOT_FOUND.code
797
+ ? FirebaseAdminAuthErrorInfo.ADMIN_USER_RECORD_NOT_FOUND
798
+ : FirebaseAdminAuthErrorInfo.ADMIN_USER_LOOKUP_FAILED, { cause: ensureError(userError) })
554
799
  };
555
800
  }
556
801
  if (!user) {
@@ -693,7 +938,7 @@ export class FirebaseAdminAuth {
693
938
  * @returns Promise with object containing decoded session payload or null, and error if any
694
939
  */
695
940
  async verifySessionCookie(sessionCookie, checkRevoked = false) {
696
- const { data, error } = await verifySessionJWT(sessionCookie, this.serviceAccountKey.project_id, this.fetch);
941
+ const { data, error } = await verifySessionJWT(sessionCookie, this.serviceAccountKey.project_id, this.fetch, !!this.emulatorHost);
697
942
  if (error) {
698
943
  return {
699
944
  data: null,
@@ -721,7 +966,7 @@ export class FirebaseAdminAuth {
721
966
  };
722
967
  }
723
968
  }
724
- if (!checkRevoked) {
969
+ if (!checkRevoked && !this.emulatorHost) {
725
970
  return {
726
971
  data,
727
972
  error: null
@@ -731,7 +976,10 @@ export class FirebaseAdminAuth {
731
976
  if (userError) {
732
977
  return {
733
978
  data: null,
734
- error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_USER_LOOKUP_FAILED, { cause: ensureError(userError) })
979
+ error: new FirebaseEdgeError(userError.code ===
980
+ FirebaseAdminAuthErrorInfo.ADMIN_USER_NOT_FOUND.code
981
+ ? FirebaseAdminAuthErrorInfo.ADMIN_USER_RECORD_NOT_FOUND
982
+ : FirebaseAdminAuthErrorInfo.ADMIN_USER_LOOKUP_FAILED, { cause: ensureError(userError) })
735
983
  };
736
984
  }
737
985
  if (!user) {
@@ -762,25 +1010,40 @@ export class FirebaseAdminAuth {
762
1010
  * @returns Promise with object containing revoke response data or null, and error if any
763
1011
  */
764
1012
  async revokeRefreshTokens(uid) {
765
- const { data: token, error: getTokenError } = await this.getCachedToken();
766
- if (getTokenError) {
1013
+ const uidError = validateUserUid(uid);
1014
+ if (uidError)
1015
+ return { data: null, error: uidError };
1016
+ try {
1017
+ const { data: token, error: getTokenError } = await this.getCachedToken();
1018
+ if (getTokenError) {
1019
+ return {
1020
+ data: null,
1021
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SERVICE_ACCOUNT_TOKEN_FAILED, { cause: getTokenError })
1022
+ };
1023
+ }
1024
+ if (!token?.access_token)
1025
+ return {
1026
+ data: null,
1027
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_NO_TOKEN_RETURNED)
1028
+ };
1029
+ const { data: revokeData, error: revokeError } = await revokeRefreshTokens(this.serviceAccountKey.project_id, uid, token.access_token, this.fetch, this.tenantId);
1030
+ if (revokeError || !revokeData) {
1031
+ return {
1032
+ data: null,
1033
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_REVOKE_TOKENS_FAILED, { cause: ensureError(revokeError) })
1034
+ };
1035
+ }
767
1036
  return {
768
- data: null,
769
- error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_SERVICE_ACCOUNT_TOKEN_FAILED, { cause: getTokenError })
1037
+ data: revokeData,
1038
+ error: null
770
1039
  };
771
1040
  }
772
- const { data: revokeData, error: revokeError } = await revokeRefreshTokens(this.serviceAccountKey.project_id, uid, token.access_token, this.fetch, this.tenantId);
773
- if (revokeError) {
774
- console.error('Error revoking tokens:', revokeError);
1041
+ catch (cause) {
775
1042
  return {
776
1043
  data: null,
777
- error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_REVOKE_TOKENS_FAILED, { cause: ensureError(revokeError) })
1044
+ error: new FirebaseEdgeError(FirebaseAdminAuthErrorInfo.ADMIN_REVOKE_TOKENS_FAILED, { cause: ensureError(cause) })
778
1045
  };
779
1046
  }
780
- return {
781
- data: revokeData,
782
- error: null
783
- };
784
1047
  }
785
1048
  /**
786
1049
  * Creates a custom Firebase authentication token for a given user.
@@ -790,10 +1053,7 @@ export class FirebaseAdminAuth {
790
1053
  * @returns Promise with object containing custom token string or null, and error if any
791
1054
  */
792
1055
  async createCustomToken(uid, developerClaims = {}) {
793
- const claims = this.tenantId
794
- ? { ...developerClaims, tenant_id: this.tenantId }
795
- : developerClaims;
796
- const { data, error } = await signJWTCustomToken(uid, this.serviceAccountKey, claims);
1056
+ const { data, error } = await signJWTCustomToken(uid, this.serviceAccountKey, developerClaims, this.tenantId, !!this.emulatorHost);
797
1057
  if (error) {
798
1058
  return {
799
1059
  data: 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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"}