使用Polymer进行Firebase登录回调

时间:2016-02-25 06:11:42

标签: javascript callback firebase polymer

我正在构建一个使用firebase-auth元素进行身份验证的Polymer应用。我使用password提供程序和on-login属性的回调方法。回调方法设置为在调用测试时记录到控制台。如果我在登录时加载页面,我在控制台中看到一个日志行,表示当元素重新连接到现有会话时也会调用on-login回调,而不仅仅是在新登录时完成。但是,当我手动登录时,我在控制台中看到日志行两次,表明我的回调被引用了两次。

1)为什么被叫两次?有没有办法只调用一次?

2)有没有办法将回调绑定到登录操作,而不是后续页面加载?我可以从我提交登录的代码中调用回调方法,但这并没有考虑登录失败。

代码,请求:

的index.html

<firebase-auth id="auth" user="{{user}}" status-known="{{statusKnown}}" location="https://my-app.firebaseio.com/" provider="password" on-login="onLogin" on-error="onLoginError" on-logout="onLogout"></firebase-auth>

app.coffee

app.onLogin = (e) ->
  console.log "Logged in user #{app.user.uid}."

1 个答案:

答案 0 :(得分:0)

最终以问题的方式解决了这个问题:分两部分。

1)这实际上是firebase-auth元素中的一个错误。它已在提交37d1f69中解决。

2)出于我的目的,我构建了一个使用标志(通常为false)的变通方法,该标志在调用登录时设置为true并在消耗后设置回false通过回调中的条件。