0

进行Firebase身份验证我试图在Polyfire中使用新的Polymer-2.x连接到Firebase,此演示项目仅显示位置列表并使用Firebase身份验证来确保只有注册用户才能访问地点清单。如何使用polymer-2x

但我不能让firebase身份验证工作,没有这个项目的样本,唯一的样本是Polymer-1.x,仍然使用Polymer对象的旧代码。

这里是我的一些代码,地方列表运行良好,它可以正确地获取firebase数据库,但脚本不要求验证,因为我不明白如何在ES6中调用它。

HTML部分:

<firebase-app 
     auth-domain="blablabla.firebaseapp.com" 
     database-url="https://blablabla.firebaseio.com" 
     api-key="blablabla" 
     storage-bucket="blablabla.appspot.com" 
     messaging-sender-id="blablabla"> 
</firebase-app> 
<firebase-auth id="auth" user="{{ user }}" provider="google" on-error="handleError"> 
</firebase-auth> 

视图部分:

<firebase-query 
    id="query" 
    path="/places" 
    data="{{ places }}"> 
</firebase-query> 

<ul> 
    <template is="dom-repeat" items="{{ places }}" as="item"> 
     <li>[[ item.name ]]</li> 
    </template> 
</ul> 

脚本部分:

<script> 
     class MyView1 extends Polymer.Element { 
      static get is() { 
       return 'my-view1'; 
      } 

      static get properties() { 
       return { 
        places: { 
         type: Object 
        } 
       } 
      } 
     } 

     window.customElements.define(MyView1.is, MyView1); 
</script> 

的问题是,如何调用弹出身份验证或任何火力点的认证方法有这个新的ES6脚本?

回答

0

我刚刚将我的firebase项目从polymer1移动到2,虽然它还没有100%工作,但看起来聚合物火焰元素确实有效。

不能您只要致电:

loginGoogle() { 
     var that = this; 
     this.$.auth.signInWithPopup().then(function(result) { 
      // This gives you a Google Access Token 
      var token = result.credential.accessToken; 
      // The signed-in user info 
      var user = result.user; 

     }).catch(function(error) { 
      // Handle Errors here. 
      var errorCode = error.code; 
      var errorMessage = error.message; 
      // The email of the user's account used. 
      var email = error.email; 
      // The firebase.auth.AuthCredential type that was used. 
      var credential = error.credential; 
      console.log('Error during the login', errorCode, errorMessage); 
     }); 
    } 
+0

是它的工作,我的问题是,我宣布火力-auth的外DOM模块...应该是...里面是 – zho

+0

,DOM的模块应该始终封装您的模板和脚本标签。 – Niklas