Firebase简单登录不返回用户对象
我正在尝试使用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
该响应由一个“标记”字符串和一个带有正确标识,电子邮件,提供者等的“用户”json字符串组成。
答案似乎是正确的,不知何故用户对象不会被填充。
我尝试了错误的电子邮件或密码,并收到相关的错误消息。
我错过了什么吗?
另外我注意到,对auth服务的调用是这样的:
https://auth.firebase.com/auth/firebase?&firebase=testfbang&email=myemail%40gmail.com&password=mypass5&callback=FirebaseAuthClient._callbacks._firebaseXDR136717460560112
我不是安全专家,但在URL中不明文密码是一个主要的安全问题?
感谢您的任何意见。
安德烈亚斯
上述代码段中的代码是正确的,但所使用的Firebase的地址/网址不正确。 所有'生产'用户Firebase使用域firebaseIO.com
,但上面的代码使用firebaseIO-demo.com
域,该域是安全禁用的,仅用于测试目的。 任何人都可以创建该域上的Firebase,并且为方便起见,但无法对Firebase帐户进行身份验证或绑定。
关于明文密码,所有的Firebase简单登录请求都被强制为HTTPS,所以这个密码永远不会以明文形式通过线路发送。
链接地址: http://www.djcxy.com/p/74043.html上一篇: Firebase simple login does not return a user object
下一篇: How do I use Firebase Simple Login with email & password