javascript - 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"
解决方案
推荐阅读
- java - 我可以在类的构造函数中动态分配内存吗?
- ruby - 正则表达式提前结束:/[^]+/
- django - 在django rest框架中获取外键字段
- java - 错误处理会停止程序,但是我希望程序继续 Java 中的循环
- python-3.x - Python3中的argparse错误
- php - 从codeigniter中的另一个函数获取变量
- javascript - javascript加载并循环显示每个图像
- android - 在 android.mk 系统应用程序 android 中包含 .so
- node.js - 错误找不到模块“续集”
- java - SvnKit 导出在 linux 上随机失败