javascript - Firebase Auth - 设置 session 过期

标签 javascript firebase-authentication

如何设置 Firebase 身份验证 session 的 session 过期时间? 默认情况下, session 永不过期。

我希望 session 在 8 小时不活动后过期。

我已阅读the documentation但不知道如何设置 session 过期。

用于登录用户并在登录和注销时执行任务的代码

firebase.auth().signInWithEmailAndPassword(data.email, data.password)

firebase.auth().onAuthStateChanged((user) => {
  if (user) {
    //Signed in
  }else{
    //Signed out
  }
}

感谢大家的回复! 我已经尝试过,但似乎无法让 Firebase-admin 工作。

Firebase-db.js

const admin = require('firebase-admin')

const databaseConnection = {
  serviceAccountFile: './serviceAccount.json',
  databaseURL: 'https://myProject.firebaseio.com/'
}

const serviceAccount = require(databaseConnection.serviceAccountFile)

const app = admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: databaseConnection.databaseURL
}, 'test')

const database = admin.database(app)

module.exports = database

sessionSignout.js

const functions = require('firebase-functions')   
const database = require('../../firebase-db')
const admin = database.admin

exports.sessionSignout = functions
.region('europe-west1')
.pubsub
.schedule('*/15 * * * *')
.timeZone('Europe/Stockholm')
.onRun(async (event) => {
  database.ref(`users`)
  .once('value', (usersSnapshots) => {
    usersSnapshots.forEach((snapshot) => {
      const uid = snapshot.key
      admin.auth().revokeRefreshTokens(uid)
    })
  })
}

我收到错误

Error: function execution failed. Details: Cannot read property 'auth' of undefined

最佳答案

您链接的文档显示您可以使用 Firebase Admin SDK revoke a user's refresh tokens以终止他们的 session 。此代码必须在您控制的后端上运行,这意味着您无法在客户端应用程序中执行此操作。无论您选择什么定义,后端都需要知道用户何时变得“不活动”。将这一切连接起来并不简单,但却是可能的。

关于javascript - Firebase Auth - 设置 session 过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58355878/

相关文章:

javascript - 使用多个 Bootstrap 模式时出现问题(ngx-bootstrap 和 Angular)

android - 在 FirebaseUI 中更改 startActivityForResult 的布局

firebase - 有没有办法只使用他们的 Uid 来检索任何用户的 PhotoUrl?

android - 如何在没有 Identity Toolkit API 的情况下使 Firebase 身份验证完全工作

javascript - 将 Google Sheet 转换为多级 JSON 数组

javascript - 更改事件在主干 View 中触发而不是重置

javascript - onmousedown 是什么意思?

javascript - 将鼠标悬停在同一行的最后一个元素上时更改 'tr' 的背景颜色

firebase - 如何在flutter应用程序中使用相同的firebase匿名用户

swift - 密码重置 swift 4 firebase