首页 > 解决方案 > 一旦会话过期,Node.js 会抓取刷新令牌 FIREBASE

问题描述

一旦用户使用 firebase ADMIN SDK 通过我的快速服务器登录,我目前正在获取令牌。我一直在寻找解决方案,以便在登录一小时后过期后保持用户会话。有没有办法在用户登录后获取刷新令牌以及初始令牌?我还想指出,我的客户端上没有初始化 firebase。我只通过我拥有云功能的快递服务器对其进行初始化。云函数如下:

exports.login = (req, res) => {
  const user = {
    email: req.body.email,
    password: req.body.password
  }

  const { valid, errors } = validateLoginData(user)

  if (!valid) return res.status(400).json(errors)

  firebase
    .auth()
    .signInWithEmailAndPassword(user.email, user.password)
    .then(data => {
      return data.user.getIdToken()
    })
    .then(token => {
      return res.json({ token })
    })
    .catch(err => {
      console.log(err)
      if (err.code === "auth/wrong-password") {
        return res
          .status(403)
          .json({ general: "wrong credentials please try again" })
      }
      return res
        .status(403)
        .json({ general: "wrong credentials please try again" })
    })
}

标签: node.jsfirebasefirebase-authentication

解决方案


推荐阅读