2017-05-30 9 views
1

Ich bin seit Stunden darauf festgefahren. Ich habe versucht, google nach Antworten zu suchen, aber ich verstehe keine von ihnen und muss davon ausgehen, dass es veralteter Code ist.Google Anmelden - automatische Last verhindern

Ich versuche ein 'Anmelden mit Google' zu meiner Website hinzufügen, aber ich will es nur zum Login-Check umleiten, wenn der Benutzer den Knopf drückt, nicht sobald es erkennt, dass ich bereits angemeldet bin in

Der Knopf.

<div class="g-signin2" data-onsuccess="onSignIn"></div> 

Script:

<script> 
function onSignIn(googleUser) { 
    var profile = googleUser.getBasicProfile(); 
    console.log('ID: ' + profile.getId()); 
    console.log('Name: ' + profile.getName()); 
    var id_token = googleUser.getAuthResponse().id_token; 
    window.location.replace("googleLogin.phptoken="+ id_token); 
    } 
</script> 

Wer dieses Problem überwunden?

Antwort

0

Ich kann mich wirklich nicht erinnern, was ich getan habe, um dieses Problem zu beheben, aber ich hatte das gleiche endete ein neues Skript hier ist ein Link zu einer js Geige Sie müssen Ihre eigene Client-ID einstecken und es tut nicht Haben Sie ein Bild, so sehen Sie nur ein kaputtes Bild für den Google-Login-Button.

var googleUser = {}; 
var startApp = function() { 
gapi.load('auth2', function(){ 
    // Retrieve the singleton for the GoogleAuth library and set up the client. 
    auth2 = gapi.auth2.init({ 
    client_id: '83******98-pe4uneu******sj.apps.googleusercontent.com', 
    cookiepolicy: 'single_host_origin', 
    // Request scopes in addition to 'profile' and 'email' 
    //scope: 'additional_scope' 
    }); 
    attachSignin(document.getElementById('customBtn')); 
}); 
}; 

function attachSignin(element) { 
console.log(element.id); 
auth2.attachClickHandler(element, {}, 
    function(googleUser) { 
    first_name = googleUser.getBasicProfile().getGivenName(); 
     last_name = googleUser.getBasicProfile().getFamilyName(); 
     email = googleUser.getBasicProfile().getEmail(); 
     console.log(googleUser.getBasicProfile().getGivenName()); 
     console.log(googleUser.getBasicProfile().getFamilyName()); 
     console.log(googleUser.getBasicProfile().getEmail()); 
     window.location = "/profile"  
    }, function(error) { 
     alert(JSON.stringify(error, undefined, 2)); 
    }); 

} 

startApp(); 

https://jsfiddle.net/josephmckenzie/9pxc41kx/

der gesamte Code sollten Sie in der js Geige ist, müssen