Javascript Firebase createUser身份验证错误
所以我遇到了firebase简单身份验证最奇怪的问题 当我访问Javascript Firebase createUser身份验证错误,javascript,backbone.js,coffeescript,firebase,firebase-security,Javascript,Backbone.js,Coffeescript,Firebase,Firebase Security,所以我遇到了firebase简单身份验证最奇怪的问题 当我访问localhost/#register时,填写表单,然后提交它,我在authClient.createUser()回调中得到一个SERVER\u错误。但是当我刷新页面并再次填写表单时,它就工作了 每次我重新启动服务器并尝试注册用户时,都会发生这种情况。 重申一下,我第一次执行它时会出现一个服务器错误,但在我刷新页面后,一切都像一个符咒一样工作。。。这让我觉得我错误地包含了firebase脚本,所有必要的文件在刷新之前都不会被包含,但我
localhost/#register
时,填写表单,然后提交它,我在authClient.createUser()回调中得到一个SERVER\u错误。但是当我刷新页面并再次填写表单时,它就工作了
每次我重新启动服务器并尝试注册用户时,都会发生这种情况。
重申一下,我第一次执行它时会出现一个服务器错误,但在我刷新页面后,一切都像一个符咒一样工作。。。这让我觉得我错误地包含了firebase脚本,所有必要的文件在刷新之前都不会被包含,但我看不出哪里出了问题
更新:我在提交表单时遇到此错误(出于隐私考虑,用星号标出):
错误来自firebase.js
第51-63行
堆栈
-带主干木偶的早午餐。基本上,它是一个gruntJS构建,带有coffee脚本和一个commonJS包装器,用于实现真正简单的前端模块化
index.html-其中包括脚本
<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Brunch with Marionette</title>
<meta name="viewport" content="width=device-width">
<!-- CSS and font-awesome -->
<link rel="stylesheet" href="stylesheets/app.css">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.1.1/css/font-awesome.css" rel="stylesheet">
<!-- Grunt compiled scripts -->
<script src="javascripts/vendor.js"></script>
<script src="javascripts/app.js"></script>
<!-- Firebase scripts -->
<script src="javascripts/backbone-firebase.js"></script>
<script src="https://cdn.firebase.com/v0/firebase.js"></script>
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-auth-client.js'></script>
<!-- Start application -->
<script>
require('initialize');
</script>
</head>
<body>
</body>
</html>
更新:我尝试将服务器从-demo
更改为生产服务器,但没有效果 您绝对不应该使用-demo服务器来完成这些操作。验证/安全性在演示服务器上不起作用。使用生产服务器。这些错误与生产服务器有什么不同吗?我在使用生产服务器时会遇到相同的错误
<!doctype html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Brunch with Marionette</title>
<meta name="viewport" content="width=device-width">
<!-- CSS and font-awesome -->
<link rel="stylesheet" href="stylesheets/app.css">
<link href="//netdna.bootstrapcdn.com/font-awesome/3.1.1/css/font-awesome.css" rel="stylesheet">
<!-- Grunt compiled scripts -->
<script src="javascripts/vendor.js"></script>
<script src="javascripts/app.js"></script>
<!-- Firebase scripts -->
<script src="javascripts/backbone-firebase.js"></script>
<script src="https://cdn.firebase.com/v0/firebase.js"></script>
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-auth-client.js'></script>
<!-- Start application -->
<script>
require('initialize');
</script>
</head>
<body>
</body>
</html>
template = require './templates/register'
User = require '../models/user'
user = new User()
module.exports = class RegisterView extends Backbone.Marionette.ItemView
id: 'register-view'
template: template
model: user
initialize: ->
this.form = $(this.el).find('form#account')
base = new Firebase("https://***********.firebaseIO-demo.com/")
this.authClient = new FirebaseAuthClient base,
(error, user_cb)->
if (error)
console.log(error)
else if (user_cb)
console.log('User ID: ' + user_cd.id + ', Provider: ' + user_cb.provider)
else
# This is currently what gets executed,
# which I'm pretty sure is correct behavior
console.log('logged out')
events:
'submit form': 'on_submit'
'blur #first_name' : 'check_first'
'blur #last_name' : 'check_last'
'blur #email' : 'check_email'
'blur #password' : 'check_password'
'blur #confirm_password' : 'check_confirm_password'
on_submit: (e)->
this.add_user()
check_first: (e)->
check_last: (e)->
check_email: (e)->
check_password: (e)->
check_confirm_password: (e)->
add_user: (e)->
form = $(this.el).find('form#account')
user.set({
first_name : form.find('#first_name').val()
last_name : form.find('#last_name').val()
email : form.find('#email').val()
password: form.find('#password').val()
})
window.UserList.add(user)
email = form.find('#email').val()
password = form.find('#password').val()
this.authClient.createUser(email, password,
(error, user)->
if (error)
console.log(error)
if (!error)
console.log('User Id: ' + user.id + ', Email: ' + user.email)
)