我正在尝试在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);
}
答案 0 :(得分:1)
Firebase具有自定义身份验证,您可以将您的用户唯一ID传递给firebase并为特定用户生成令牌,因此您可以为其他用户创建唯一会话,您可以在下面的链接中进行引用
https://firebase.google.com/docs/auth/admin/create-custom-tokens