首页 > 解决方案 > Firebase Auth:用户会话携带到不同的浏览器

问题描述

假设 A 创建了一个帐户并登录。所以现在当B人打开网站时,他已经登录了A人的账户。

export.sendSignUpRequest = 函数(请求,资源){

const email = request.body.username;
const password = request.body.password;


firebase.auth().createUserWithEmailAndPassword(email, password).then(function(user) {
    var user = firebase.auth().currentUser;
    console.log(user.uid);
    const dataBaseRef = firebase.database().ref('users/'+user.uid+'/credentials');
    dataBaseRef.set({
        email : email,
    });
    res.redirect('/');
}, function(error) {
    console.log("error has happened because of : "+ error.message);
    res.render('signup', {error: error.message});
});

};

export.sendLoginRequest = function (request, res) {

const email = request.body.username;
const password = request.body.password;
firebase.auth().signInWithEmailAndPassword(email, password)
    .then(function(firebaseUser) {
        console.log(firebaseUser.user.email);            
        res.redirect('/');            
    }).catch(function(error) {
    res.render('login', {error: error.message, success:''});
});

};

export.home = 函数 (req, res) {

let user = firebase.auth().currentUser;

if (user) {
            console.log('user is signed in : '+ user.email);
            res.render('home', {user : user});
        } else {
            console.log('user is not signed in');
            res.render('home', {user : null});
        }

};

//Firebase 数据库规则 { /* 访问https://firebase.google.com/docs/database/security以了解有关安全规则的更多信息。*/ "rules": { ".read" : true, ".write" : true, "products": { ".indexOn": ["featuredProduct","type", "productId"], ".write" : “auth.token.admin == true”},“customerDiary”:{“.write”:“auth.token.admin == true”},“users”:{“$user_id”:{“.read”: "$user_id === auth.uid", ".write": "$user_id === auth.uid", "orders":{ ".indexOn": ["orderStatus"

标签: javascriptnode.jsfirebase-authentication

解决方案


推荐阅读