2017-05-30 2 views
1

Ich habe Google Log In für das Web per https://developers.google.com/identity/sign-in/web/incremental-auth integriert. Nachdem ein Benutzer mit dem folgenden Testcode angemeldet wurde, löst das Aufrufen von addScope() das Popup-Menü Choose Account aus, während ein zusätzlicher Bereich angefordert wird. Wie kann man "Konto auswählen" überspringen und das aktuell angemeldete Benutzerkonto verwenden? Ich habe versucht, die Felder 'user_id' und 'login_hint' dem grant() - Konfigurationsobjekt ohne Erfolg hinzuzufügen.So überspringen Sie das Popup-Fenster zum Auswählen eines Kontos mit Google Anmelden, wenn Sie einen zusätzlichen Bereich anfordern

<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(); 

Antwort

Verwandte Themen