Authentication 使用firebase创建用户时出现未知错误
在尝试使用firebase实现简单的登录身份验证(电子邮件/密码)时,我收到来自浏览器的CORS错误 我检查了安全规则,它被设置为Authentication 使用firebase创建用户时出现未知错误,authentication,firebase,Authentication,Firebase,在尝试使用firebase实现简单的登录身份验证(电子邮件/密码)时,我收到来自浏览器的CORS错误 我检查了安全规则,它被设置为 { "rules": { ".read": true, ".write": true } } 下面是示例代码的摘要 <script src="https://cdn.firebase.com/js/client/1.0.15/firebase.js"></script> <script type='text/javascript'
{
"rules": {
".read": true,
".write": true
}
}
下面是示例代码的摘要
<script src="https://cdn.firebase.com/js/client/1.0.15/firebase.js"></script>
<script type='text/javascript' src='https://cdn.firebase.com/js/simple-login/1.5.0/firebase-simple-login.js'> </script>
var myRootRef = new Firebase('https://vivid-fire-myserver.firebaseio.com/');
var authClient = new FirebaseSimpleLogin(myRootRef, function(error, user) {
if (error) {
alert(error);
return;
}
if (user) {
alert('user already logged in');
} else {
alert('user logged out');
}
});
$("#registerButton").on("click", function() {
var email = $("#email").val();
var password = $("#password").val();
authClient.createUser(email, password, function(error, user) {
if (!error) {
alert('registered successfully');
} else {
alert(error);
}
});
});
var myRootRef=新Firebase('https://vivid-fire-myserver.firebaseio.com/');
var authClient=new FirebaseSimpleLogin(myRootRef,函数(错误,用户){
如果(错误){
警报(错误);
返回;
}
如果(用户){
警报(“用户已登录”);
}否则{
警报(“用户注销”);
}
});
$(“#注册表按钮”)。在(“单击”,函数(){
var email=$(“#email”).val();
var password=$(“#password”).val();
authClient.createUser(电子邮件、密码、函数(错误、用户){
如果(!错误){
警报(“注册成功”);
}否则{
警报(错误);
}
});
});
问题似乎是由于提交了我的表单,导致页面重新加载。正如Rob所确认的,“重新加载是在向服务器发出HTTP选项请求检查CORS配置能够完成之前进行的
一个解决方法是防止表单在提交时重新加载。我通过在html表单和jquery脚本中返回false来实现这一点
<form class="m-t" role="form" onSubmit="return goLogin()">
..........
function goLogin() {
$("#loginButton").click(function() {
......
)};
return false;
}
..........
函数goLogin(){
$(“#登录按钮”)。单击(函数(){
......
)};
返回false;
}
网络日志中有什么有趣的地方吗?这似乎是一个跨源错误,但不确定如何修复:跨源请求被阻止:同源策略不允许在读取远程资源。这可以通过将资源移动到同一域或启用CORS来修复。是因为脚本正在调用…和。。。?Firebase使用完全许可/通配符CORS策略。您在哪个浏览器/版本中看到这种行为?我使用的是最新的firefox和chrome,它们都以相同的方式失败。经过一点黑客攻击,我终于开始关注这个问题。我不确定这为什么会导致CORS错误,但我创建了以下带有和不带的基本表单type=“button”将失败/成功。出于某种原因,它需要声明type=“button”,否则将抛出CORS错误……你知道为什么会导致此错误吗?请按我