Express中的Firebase会话持久性

时间:2018-03-10 06:54:46

标签: firebase express firebase-authentication

我刚开始学习node,express和Firebase,经过深思熟虑后,我决定放弃快递的快速会话API并使用Firebase的身份验证系统。

我正在尝试构建一个简单的应用程序,该应用程序可以使用快速处理多个用户登录,但我在使用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);
        });
    });

我已经阅读了管理SDK,authChange,令牌和客户端SDK。我是这方面的新手,我被所有的信息所震撼。我觉得我错过了onAuthChange声明,但我不确定在哪里放置它。这也是一个测试噩梦,因为我的本地服务器在使用持久性时会返回错误。

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

1 个答案:

答案 0 :(得分:0)

我找到了答案。由于Firebase功能在LocalStorage中创建会话对象,因此无需在后端启动会话。强大的东西。