创建用户
如需在 Firebase 项目中创建新用户,您可以调用 createUserWithEmailAndPassword 方法,或让用户通过 Google 登录服务或 Facebook 登录服务等联合身份提供方服务完成首次登录。
您还可以前往 Firebase 控制台的“Authentication”部分,在“用户”页面中创建以密码验证身份的新用户,或者使用 Admin SDK 创建此类新用户。
获取当前登录的用户
要获取当前用户,建议在 Auth 对象上设置一个观察者:
Web
import { getAuth, onAuthStateChanged } from "firebase/auth"; const auth = getAuth(); onAuthStateChanged(auth, (user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/auth.user const uid = user.uid; // ... } else { // User is signed out // ... } });
Web
firebase.auth().onAuthStateChanged((user) => { if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/v8/firebase.User var uid = user.uid; // ... } else { // User is signed out // ... } });
使用观察者可确保在您获取当前用户时,Auth 对象不会处于中间状态(例如初始化)。当您使用 signInWithRedirect 时,onAuthStateChanged 观测器会等到 getRedirectResult 解析后再触发。
您还可以使用 currentUser 属性来获取当前登录的用户。如果用户并未登录,则 currentUser 为 null:
Web
import { getAuth } from "firebase/auth"; const auth = getAuth(); const user = auth.currentUser; if (user) { // User is signed in, see docs for a list of available properties // https://firebase.google.com/docs/reference/js/auth.user // ... } else { // No user is signed in. }
Web
const user = firebase.auth().currentUser; if (user) {