firebase SERVER_ERROR的电子邮件/密码身份验证
email/password authentication for firebase SERVER_ERROR
我正在尝试使用Firebase的简单登录,并尝试遵循How do I use Firebase simple login with email&暗语
然而,每次我试图创建一个新用户(或登录)时,我都会得到一个
SERVER_ERROR:与的连接wss://s-xxxxxxxx在加载页面时被中断。
这是怎么造成的,我该如何解决?
此外,当我硬编码值时,它在Firefox上有效(即在注册提交处理程序之外使用createUser),但在Chrome上无效。
login.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-simple-login.js'></script>
</head>
<body>
<div id="login_or_register">
</div>
<button id="logout">Logout</button>
<script type='text/javascript' src='loginScript.js'></script>
</body>
</html>
loginScript.js
function showLoginRegister(auth){
$register_form = $('<form id="register">'+
'<input type="text" name="register-email" id="register-email" value="email@example.com">'+
'<input type="password" name="register-password" id="register-password" value="password">'+
'<input type="submit" value="Create an account!"/>'+'</form>')
$login_form = $('<form id="login">'+'<input type="text" name="login-email" id="login-email" value="email@example.com">'+
'<input type="password" name="login-password" id="login-password" value="password">'+
'<input type="checkbox" name="rememberCheckbox" id="rememberCheckbox" checked>'+
'<input type="submit" value="Sign in"/>'+'</form>')
$('#login_or_register').append($register_form,$login_form);
$("#register").submit(function() {
var email = $("#register-email").val();
var password = $("#register-password").val();
auth.createUser(email, password, function(error, user) {
if (!error) {
auth.login("password", {
email: email,
password: password,
rememberMe: false
});
}
else{
console.log(error);
}
});
});
$("#login").submit(function() {
var email = $("#login-email").val();
var password = $("#login-password").val();
var checkbox = $("#rememberCheckbox").val();
auth.login("password", {
email: email,
password: password,
rememberMe: checkbox
});
});
};
var ref = new Firebase('https://xxx.firebaseio.com/');
var auth = new FirebaseSimpleLogin(ref, function(error, user) {
if (error){
console.log(error);
return;
}
if (user) {
// user authenticated with Firebase
$("#logout").click(function(){
auth.logout();
})
}
else {
showLoginRegister(this);
// user is logged out
}
});
您看到的问题是,登录方法的网络请求失败了,因为您在完成之前就离开了当前页面。表单实际上正在提交,因此页面正在重定向/刷新。
为了防止这种行为,请更新您的代码,使其在每个$(element).submit()
方法的底部都包含一个return false;
,这将阻止表单提交,并完成身份验证请求。
$("#el").submit(function() {
// Do stuff here ...
return false;
});
相关文章:
- Sencha Touch和远程服务器上的身份验证
- Javascript清除缓存以清除基本身份验证凭据
- REST的面向公众的身份验证机制
- 当需要身份验证时,ui路由器不会重定向
- 使用Facebook登录,但仍然可以获得:“;此标识池不支持未经身份验证的访问“;
- AJAX HTTP基本身份验证解决方案
- 如何对单个页面进行密码保护(这不是身份验证系统的一部分)
- 使用用户名和密码使用node js,AngularJs和JWT进行身份验证
- “TypeError: req.flash 不是一个函数”,使用带有 nodejs、用户名和密码身份验证的护照
- 使用电子邮件和密码错误对用户进行身份验证
- 使用来自前端的 Oauth 密码流进行身份验证
- JQuery $.getJSON 与用户名和密码基本身份验证
- 如何在node.js中使用基本身份验证从url中获取用户名和密码
- firebase SERVER_ERROR的电子邮件/密码身份验证
- Web身份验证-如何安全地将用户名/密码从客户端传输到服务器
- chrome控制台显示带有摘要身份验证的密码
- 如何在使用不同的身份验证机制时安全地存储密码
- 我被要求在没有用户名和密码的情况下执行身份验证,我的选择是什么?
- sencha touch 2-使用摘要身份验证用户名和密码时,javascript中出现错误
- 使用Dart在浏览器中进行密码身份验证的脚本的适用性