Firebase简单登录不返回用户对象
我正在尝试使用FIrebase的简单登录和电子邮件/密码提供程序。 我的设置非常简单,它是Firebase文档的副本:Firebase简单登录不返回用户对象,firebase,firebase-security,Firebase,Firebase Security,我正在尝试使用FIrebase的简单登录和电子邮件/密码提供程序。 我的设置非常简单,它是Firebase文档的副本: <!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type='text/javascript' src='https://cdn.firebas
<!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>
但当我点击登录按钮时,我得到:
Not logged in
响应由一个“令牌”字符串和一个具有正确id、电子邮件、提供者等的“用户”json字符串组成
响应似乎正确,但不知何故用户对象没有填充
我尝试使用错误的电子邮件或密码,但收到了相关的错误消息
我错过什么了吗
我还注意到,对auth服务的调用是这样的:
https://auth.firebase.com/auth/firebase?&firebase=testfbang&email=myemail%40gmail.com&password=mypass5&callback=FirebaseAuthClient._callbacks._firebaseXDR136717460560112
我不是一个安全专家,但是url上的明文密码不是一个主要的安全问题吗
谢谢你的意见
Andreas上述代码片段中的代码是正确的,但所用Firebase的地址/URL不正确。所有“生产”用户Firebase都使用域
firebaseIO.com
,但上述代码使用firebaseIO demo.com
域,该域已禁用安全性,仅用于测试目的。该域上的Firebase可以由任何人创建并作为一种方便的方式传递,但不能通过身份验证或绑定到Firebase帐户
关于明文密码,所有Firebase Simple登录请求都被强制使用HTTPS,因此该密码实际上从未通过网络以明文形式发送 上述代码片段中的代码是正确的,但所用Firebase的地址/URL不正确。所有“生产”用户Firebase都使用域
firebaseIO.com
,但上述代码使用firebaseIO demo.com
域,该域已禁用安全性,仅用于测试目的。该域上的Firebase可以由任何人创建并作为一种方便的方式传递,但不能通过身份验证或绑定到Firebase帐户
关于明文密码,所有Firebase Simple登录请求都被强制使用HTTPS,因此该密码实际上从未通过网络以明文形式发送 罗布,谢谢你的回答。更改URL非常有效。我不知道我怎么会错过它。谢谢你罗布,谢谢你的回答。更改URL非常有效。我不知道我怎么会错过它。
https://auth.firebase.com/auth/firebase?&firebase=testfbang&email=myemail%40gmail.com&password=mypass5&callback=FirebaseAuthClient._callbacks._firebaseXDR136717460560112