Да, вы можете использовать его как UID в своей коллекции пользователей.
Вот мой процесс аутентификации:
1 / Пользователь создает новую учетную запись с адресом электронной почты / паролем
async signUpWithPassword(email, password) {
await firebase.auth().createUserWithEmailAndPassword(email, password)
// user created!
}
2 / Я запускаю облачную функцию с помощью триггеров autCreate, чтобы сохранить пользователя в моей коллекции:
export const createUserProfile = functions.auth
.user()
.onCreate((user: admin.auth.UserRecord) => {
const { uid } = user
const userRef = db.doc(`users/${uid}`)
// Save it to firestore
return userRef.set({ points: 200 })
})
3 / Если этот пользователь пытается зарегистрироваться у другого поставщика (Google / Facebook и т. Д.)), Я определяю, использует ли он тот же адрес электронной почты, и поэтому я связываю нового провайдера с текущим через привязку аккаунта:
https://firebase.google.com/docs/auth/web/account-linking
Таким образом, пользователь собираетсяк одному уникальному UID / профилю подключено несколько провайдеров аутентификации.