2017-09-18 3 views
0

Je fais un site Web sur Meteor et j'ai des problèmes lors de l'utilisation de Google LogIn. Ma page Web se connecte correctement lorsqu'un utilisateur clique sur le bouton, vous demande l'e-mail et le mot de passe et se déconnecte correctement de ma page Web. Le problème est que, d'une manière ou d'une autre, ma page garde le UserId de Meteor et la prochaine fois que je clique sur le bouton LogIn, il ne me demande pas le mot de passe. De plus, après la déconnexion, si j'essaie de me connecter sur Youtube, GMail ou autre, il se connecte avec le compte que je viens de déconnecter de ma page web. Une idée pourrait-elle se produire?Je ne me déconnecte pas du projet Meteor avec Google Credentials

J'ai essayé de le résoudre en ajoutant ce code sur ma fonction de déconnexion, mais ne fonctionne pas:

Template.user_loggedin.events({ 
"click #logout": function (e, tmpl) { 
    Meteor.logout(function (err) { 
     if (err) { 
      //An error occured 
      Bert.alert('Error al cerrar sesión. Por favor, vuelva a intentarlo', 'warning', 'fixed-top', 'fa-remove'); 
     } else { 
      // your cleanup code here 
      Object.keys(Session.keys).forEach(function (key) { 
       Session.set(key, undefined); 
      }); 
      Session.keys = {}; // remove session keys 
      Router.go('/'); // redirect to the home page or elsewhere using iron:router 

      Bert.alert('Cerrado sesión correctamente', 'success', 'fixed-top', 'fa-check'); 
      } 
     }); 
    } 
}); 

Je pris ce code de here, mais je ne suis pas sûr que ce soit le même problème.

Et ceci est ma fonction LOGIN:

Template.user_loggedout.events({ 
    "click #login": function (e, tmpl) { 
     e.preventDefault(); 

     Meteor.loginWithGoogle({ 
      //Show what information is needed from the user 
      requestPermissions: ['profile', 'email', 'https://www.googleapis.com/auth/spreadsheets'] 
     }, function (err) { 
      if (err) { 
       Session.set('errorMessage', err.reason || 'Unknown error'); 
       Bert.alert('Error al Iniciar Sesión. Por favor, vuelva a intentarlo', 'warning', 'fixed-top', 'fa-remove'); 
      } else { 
       Bert.alert('Iniciado sesión correctamente', 'success', 'fixed-top', 'fa-check'); 
      } 
     }); 
    } 
}); 

Répondre

1

Je ne suis pas sûr à 100%, mais essentiellement en utilisant l'authentification Google que vous dites Meteor remettre à Google pour l'authentification. Donc, lorsque vous vous déconnectez de Meteor, il détruit le jeton de connexion dans le stockage local, en faisant ce qu'il faut.

Mais, si vous ne l'avez pas vous déconnecter de Google, lorsque vous exécutez votre application à nouveau, Meteor vérifie juste avec Google pour voir si vous êtes connecté et vous permet donc.

Je pense que cela est une fonctionnalité, pas un bug.