管理 Firebase 中的用户

创建用户

如需在 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) {