From fbf0c910c9b4fc5aef70c68cb2976d3ba18e12d8 Mon Sep 17 00:00:00 2001 From: Clinton Blackburn Date: Tue, 27 May 2025 16:54:22 -0700 Subject: [PATCH 1/2] Corrected types for CreateRequest Per https://github.com/firebase/firebase-admin-node/issues/1508, `phoneNumber` is not nullable for create requests. --- src/auth/auth-config.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/auth/auth-config.ts b/src/auth/auth-config.ts index 3310a8441e..e1fc0bd61f 100644 --- a/src/auth/auth-config.ts +++ b/src/auth/auth-config.ts @@ -242,6 +242,11 @@ export interface CreateRequest extends UpdateRequest { * The user's multi-factor related properties. */ multiFactor?: MultiFactorCreateSettings; + + /** + * The user's primary phone number. + */ + phoneNumber?: string; } /** From 9ee33652104157951965084f13eb80303e25533a Mon Sep 17 00:00:00 2001 From: jonathanedey Date: Thu, 28 May 2026 11:57:32 -0400 Subject: [PATCH 2/2] fix(auth): decouple `CreateRequest` interface from `UpdateRequest` --- etc/firebase-admin.auth.api.md | 9 +++++++- src/auth/auth-config.ts | 41 +++++++++++++++++++++++++++++----- 2 files changed, 44 insertions(+), 6 deletions(-) diff --git a/etc/firebase-admin.auth.api.md b/etc/firebase-admin.auth.api.md index c47f4f170f..1300fea965 100644 --- a/etc/firebase-admin.auth.api.md +++ b/etc/firebase-admin.auth.api.md @@ -232,8 +232,15 @@ export interface CreatePhoneMultiFactorInfoRequest extends BaseCreateMultiFactor } // @public -export interface CreateRequest extends UpdateRequest { +export interface CreateRequest { + disabled?: boolean; + displayName?: string; + email?: string; + emailVerified?: boolean; multiFactor?: MultiFactorCreateSettings; + password?: string; + phoneNumber?: string; + photoURL?: string; uid?: string; } diff --git a/src/auth/auth-config.ts b/src/auth/auth-config.ts index e1fc0bd61f..7e5c1a8b63 100644 --- a/src/auth/auth-config.ts +++ b/src/auth/auth-config.ts @@ -231,22 +231,53 @@ export interface UserProvider { * Interface representing the properties to set on a new user record to be * created. */ -export interface CreateRequest extends UpdateRequest { +export interface CreateRequest { /** - * The user's `uid`. + * Whether or not the user is disabled: `true` for disabled; + * `false` for enabled. */ - uid?: string; + disabled?: boolean; /** - * The user's multi-factor related properties. + * The user's display name. */ - multiFactor?: MultiFactorCreateSettings; + displayName?: string; + + /** + * The user's primary email. + */ + email?: string; + + /** + * Whether or not the user's primary email is verified. + */ + emailVerified?: boolean; + + /** + * The user's unhashed password. + */ + password?: string; /** * The user's primary phone number. */ phoneNumber?: string; + + /** + * The user's photo URL. + */ + photoURL?: string; + + /** + * The user's `uid`. + */ + uid?: string; + + /** + * The user's multi-factor related properties. + */ + multiFactor?: MultiFactorCreateSettings; } /**