firebase / firebase/firebase-admin-node

Importing user with phone providerData creates invalid user record

Open
#2,141 0 comments 2 reactions 1 assignee Claimed by @renkelvin View on GitHub
api: auth
Dominant language
TypeScript
Stars
1.7k
Forks
419
Avg merge
3d 10h
Merged PRs (30d)
16

Description

### [REQUIRED] Step 2: Describe your environment

* Operating System version: macOS Ventura 13
* Firebase SDK version: 11.6.0, 9.5.0
* Firebase Product: auth
* Node.js version: 16.16.0
* NPM version: 8.11.0

### [REQUIRED] Step 3: Describe the problem

#### Steps to reproduce:

When importing a user with a phone provider, the import is successful but it appears to create an invalid user account. When trying to fetch that user account (via `getUser`), it fails with the following error:

```
Error: INTERNAL ASSERT FAILED: Invalid user info response
```

However, importing the user with the `phoneNumber` in `UserImportRecord` but without the entry in `providerData` works. When fetching the user that it creates, the phone provider is there. So I suspect Firebase is implicitly creating the phone provider when `phoneNumber` is specified automatically, and specifying the `phone` provider in the import causes some sort of conflict.

#### Relevant Code:

```
const fireAuth = auth();

await fireAuth.importUsers(
[
{
uid: 'tLoo6OE5mrhwruQDJBugNU101234',
phoneNumber: '+12345678901',
providerData: [
{
uid: '+12345678901',
providerId: 'phone',
phoneNumber: '+12345678901'
}
],
}
],
);

// This will throw an error
console.log(await fireAuth.getUser('tLoo6OE5mrhwruQDJBugNU101234'));
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.