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