我正在尝试通过电子邮件/密码提供商使用 FIrebase 的简单登录。我的设置非常简单,它是 Firebase 文档的副本:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-auth-client.js'></script>
<script>
var chatRef = new Firebase('https://testfbang.firebaseIO-demo.com');
var authClient = new FirebaseAuthClient(chatRef, function(error, user) {
if (error) {
// an error occurred while attempting login
console.log(error);
} else if (user) {
// user authenticated with Firebase
console.log('User ID: ' + user.id + ', Provider: ' + user.provider);
} else {
// user is logged out
console.log('Not logged in')
}
});
authClient.createUser('myemail@gmail.com', 'mypass', function(error, user) {
if (!error) {
console.log('User Id: ' + user.id + ', Email: ' + user.email);
}
});
function dologin(){
authClient.login('password', {
email: 'myemail@gmail.com',
password: 'mypass'
});
};
</script>
</head>
<body>
<button onclick="dologin()">login</button>
</body>
</html>
用户创建正确,我在我的控制台:
User Id: 2, Email: myemail@gmail.com
但是当我点击登录按钮时,我得到:
Not logged in
响应由一个“token”字符串和一个带有正确 id、email、provider 等的“user”json 字符串组成。
响应似乎是正确的,不知何故用户对象没有被填充。
我尝试使用错误的电子邮件或密码,并收到相关的错误消息。
我错过了什么吗?
我还注意到对身份验证服务的调用是这样的:
https://auth.firebase.com/auth/firebase?&firebase=testfbang&email=myemail%40gmail.com&password=mypass5&callback=FirebaseAuthClient._callbacks._firebaseXDR136717460560112
我不是安全专家,但网址上的明文密码不是主要的安全问题吗?
感谢您的任何意见。
安德烈亚斯