Firebase身份验证微服务

时间:2020-06-06 09:29:02

标签: node.js firebase firebase-authentication

我正在尝试在Node.js中编写REST微服务,该服务将处理来自不同平台的用户身份验证(除其他事项外)请求。

我想让设备记住登录的用户,并仅保留会话本身。目前正在发生的事情是我一次只能登录一个用户。如果另一个用户从另一个设备登录,则新用户将作为 currentUser 返回。这是我第一次使用Firebase身份验证,所以我很困惑。

这是登录端点的代码:

async signInUser( req, res, next ) {
    var user = firebase.auth().currentUser;

    if ( !user) {
        var email = req.body.email;
        var password = req.body.password;

        // sign user in: if login fails, send error message as response
        user = await firebase.auth().signInWithEmailAndPassword( email, password)
                        .catch( function( error) {
                            res.send( error.message);
                        });
    }
    // login successful: send user object as response
    res.send( user);        
}

1 个答案:

答案 0 :(得分:1)

Firebase具有自定义身份验证,您可以将您的用户唯一ID传递给firebase并为特定用户生成令牌,因此您可以为其他用户创建唯一会话,您可以在下面的链接中进行引用

https://firebase.google.com/docs/auth/admin/create-custom-tokens