0

J'essaie d'utiliser le nouveau Polymer-2.x avec Polyfire pour me connecter à Firebase, ce projet de démonstration affiche uniquement la liste des lieux et utilise l'authentification firebase pour m'assurer que seul l'utilisateur enregistré peut accéder la liste des lieux.Comment faire l'authentification firebase avec polymer-2x

mais je ne peux pas faire fonctionner l'authentification firebase et aucun échantillon pour ce projet, le seul exemple est pour Polymer-1.x et toujours utiliser l'ancien code avec l'objet Polymer.

voici une partie de mon code, la liste des lieux a bien fonctionné, elle peut récupérer la base de données firebase correctement, mais le script ne demande pas d'authentification, car je ne comprends pas comment l'appeler en ES6.

HTML Section:

<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> 

Voir Section:

<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 Section:

<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> 

la question est, comment appeler l'authentification contextuelle ou toute méthode firebase-authentification avec ce nouveau script ES6?

Répondre

0

Je viens tout juste de déplacer mon projet de base de polymère de 1 à 2 et bien qu'il ne fonctionne pas encore à 100%, il semble que les éléments en polymère fonctionnent.

cant vous suffit d'appeler:

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

oui, il a travaillé, mon problème est que je déclare firebase-auth-dehors module dom ... devrait être à l'intérieur ... – zho

+0

Oui, le module dom doit toujours encapsuler votre modèle et les balises de script. – Niklas