2017-05-30 3 views
1

J'ai intégré Google Connexion au Web par https://developers.google.com/identity/sign-in/web/incremental-auth. Après la connexion d'un utilisateur à l'aide du code de test ci-dessous, l'appel de addScope() déclenche l'affichage de la fenêtre Choose Account tout en demandant une étendue supplémentaire. Comment peut-on passer "Choisir un compte" et utiliser le compte d'utilisateur actuellement connecté? J'ai essayé d'ajouter les champs 'user_id' et 'login_hint' à l'objet de configuration grant() sans succès.Comment faire pour ignorer la fenêtre pop-up du compte avec Google Connexion lorsque vous demandez une étendue supplémentaire

<script src="https://apis.google.com/js/platform.js"></script> 
<div class="g-signin2" data-onsuccess="onSignIn" data-theme="dark"></div> 


function initClient() { 
    gapi.load('auth2', function() { 
     gapi.auth2.init({ 
      client_id: 'CLIENT_ID.apps.googleusercontent.com', 
      fetch_basic_profile: true 
     }); 
    }); 
}; 

function onSignIn(googleUser) { 
    var profile = googleUser.getBasicProfile(); 
    console.log("ID: " + profile.getId()); 
    console.log("Email: " + profile.getEmail()); 

    addScope(); 
} 

function addScope() { 
    var options = new gapi.auth2.SigninOptionsBuilder({ 'scope': 'email https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/contacts.readonly' }); 
    var auth2 = gapi.auth2.getAuthInstance(); 
    var googleUser = auth2.currentUser.get(); 
    googleUser.grant(options).then(
     function (success) { 
      console.log(JSON.stringify({ message: "success", value: success })); 
     }, 
     function (fail) { 
      alert(JSON.stringify({ message: "fail", value: fail })); 
     }); 
} 

initClient(); 

Répondre