Email account

registration

We collect the user's email and password:

createUserWithEmailAndPassword(auth, email, password)
    .then((credential) => { /* credential.user.uid */ }
    .catch((error) => {/* */})
    .finally(() => {/* */})

hard-login

We collect the user's email and password:

signInWithEmailAndPassword(auth, email, password)

password reset

Firebase sends a password-reset email to the provided email. We may customize the mail content on the Firebase console:

sendPasswordResetEmail(auth, email)

email provider data (implementation detail)

The email provider's ID is password. The email provider data is added to providerData:

{
    "providerData": [
        {
            "providerId": "password",
            "uid": "user@example.com",
            "email": "user@example.com",
            "displayName": null,
            "phoneNumber": null,
            "photoURL": null
        }
    ]
}

earlymorning logo

© Antoine Weber 2026 - All rights reserved

Email account

registration

We collect the user's email and password:

createUserWithEmailAndPassword(auth, email, password)
    .then((credential) => { /* credential.user.uid */ }
    .catch((error) => {/* */})
    .finally(() => {/* */})

hard-login

We collect the user's email and password:

signInWithEmailAndPassword(auth, email, password)

password reset

Firebase sends a password-reset email to the provided email. We may customize the mail content on the Firebase console:

sendPasswordResetEmail(auth, email)

email provider data (implementation detail)

The email provider's ID is password. The email provider data is added to providerData:

{
    "providerData": [
        {
            "providerId": "password",
            "uid": "user@example.com",
            "email": "user@example.com",
            "displayName": null,
            "phoneNumber": null,
            "photoURL": null
        }
    ]
}