firebase / firebase/firebase-functions

Incorrect emailVerified Status Returned as false for Microsoft Provider in functions.auth.user().onCreate()

Open
#1,592 8 comments 6 reactions 1 assignee Claimed by @cabljac View on GitHub
api: auth bug reproduced
Dominant language
TypeScript
Stars
1.1k
Forks
232
Avg merge
20h 46m
Merged PRs (30d)
15

Description

### Related issues

I did not find any related issues that address this specific problem.

### [REQUIRED] Version info

**node:** v18.20.3

**firebase-functions:** 5.0.1

**firebase-tools:** 13.11.2

**firebase-admin:** 12.2.0

### [REQUIRED] Test case

I have a Firebase Cloud Function that triggers on user creation (functions.auth.user().onCreate()). When a user registers using the Microsoft authentication provider, the emailVerified field is returned as false in the user object, even though the Microsoft account has a verified email.

### [REQUIRED] Steps to reproduce

1. Set up Firebase Authentication with Microsoft as a provider.
2. Create a Cloud Function that triggers on user creation (functions.auth.user().onCreate()).
3. Register a new user using the Microsoft provider.
4. Inspect the emailVerified field in the user object within the triggered Cloud Function.

### [REQUIRED] Expected behavior

The emailVerified field should be true when the user registers using the Microsoft provider, as the email is verified by Microsoft during their authentication process.

### [REQUIRED] Actual behavior

The emailVerified field is returned as false for users registering with the Microsoft provider, even though the email should be considered verified by Microsoft.

result User into hook
```
{
"uid": "BLTZuXMlmxSotyULCIifeenCxE82",
"email": "test@domain.com",
"emailVerified": false,
"displayName": "My Name",
"photoURL": null,
"phoneNumber": null,
"disabled": false,
"passwordHash": null,
"passwordSalt": null,
"tokensValidAfterTime": null,
"metadata": {
"creationTime": "2024-08-14T05:55:07Z",
"lastSignInTime": "2024-08-14T05:55:07Z"
},
"customClaims": {},
"providerData": [
{
"displayName": "My Name",
"email": "test@domain.com",
"providerId": "microsoft.com",
"uid": "c0698c11-44b8-41ed-9f2c-8f431484a35e",
"toJSON": "[Function (anonymous)]"
}
]
}

```

**Note: Locally in the emulator, this works as expected, and the emailVerified field is set to true.**

### Were you able to successfully deploy your functions?

Yes, the functions deploy successfully without any errors.

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.