【问题标题】:Firebase session persistence in ExpressExpress 中的 Firebase 会话持久性
【发布时间】:2018-03-10 06:54:45
【问题描述】:

我刚开始学习 node、express 和 Firebase,经过深入研究,我决定放弃 express 的 express-session API 并使用 Firebase 的身份验证系统。

我正在尝试构建一个简单的应用程序,该应用程序可以使用 express 处理多个用户登录,但我不知道何时何地使用 Firebase 功能。我知道我需要在客户端进行某种会话,但我不确定如何实现它。

以下是我希望我的应用执行的操作:

  • 使用用户凭据登录
  • 将用户信息存储在会话对象中
  • 重定向到仪表板
  • 从会话对象中检索用户详细信息

这是我目前所拥有的:



    app.post('/login', (req, res, next) => {
        firebase.auth().setPersistence(firebase.auth.Auth.Persistence.LOCAL)
            .then(function() {
            firebase.auth().signInWithEmailAndPassword(req.body.email, req.body.password).then((user) => {
                res.redirect('/dashboard');
            })
                .catch((err) => {
                res.send(err);
            });

        })
            .catch(function(error) {
            // Handle Errors here.
            var errorCode = error.code;
            var errorMessage = error.message;
            console.log(errorMessage);
        });
    });

我已阅读有关 Admin SDK、authChange、令牌和客户端 SDK 的信息。我在这方面完全是新手,我对所有信息感到震惊。我觉得我缺少一个 onAuthChange 语句,但我不确定该放在哪里。这也是一个测试噩梦,因为我的本地服务器在我使用持久性时返回错误。

如何在 Express 中使用类似会话的对象?我需要实施什么来确保多个用户可以同时使用我的应用?

【问题讨论】:

    标签: firebase express firebase-authentication


    【解决方案1】:

    我找到了答案。无需在后端启动会话,因为 Firebase 函数会在 LocalStorage 中创建会话对象。强大的东西。

    【讨论】:

      猜你喜欢
      • 2016-09-30
      • 1970-01-01
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      • 2013-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多