2017-10-31 5 views
0

Versuchen des Benutzers Token zu bekommen Ich habe:Google Anmelden get Benutzertoken

Uncaught TypeError: profile.getAuthResponse is not a function

Wo

profile = googleUser

Dies ist mein Code:

function onSignIn(googleUser) { 
    var profile = googleUser.getBasicProfile(); 
    console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead. 
    console.log('Name: ' + profile.getName()); 
    console.log('Image URL: ' + profile.getImageUrl()); 
    console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present. 
    console.log('Token id: ' + profile.getAuthResponse().id_token); 
} 

Nichts wirklich dort etwas Besonderes.

Ich las auf Google doc, dass ich die Funktion getAuthResponse(). Id_token und nicht GoogleUser.getId() für Sicherheitszwecke verwendet werden soll.

In dieser Frage: Google access_token is undefined
Hier Sharkos vorschlagen gapi.auth.getToken() verwenden access_token aber ich bekam null

Irgendwelche Ideen, warum ich diesen Fehler bekommen.?

+0

Mögliche Duplikat [Google Zugriff \ _token ist nicht definiert] (https://stackoverflow.com/questions/33637843/google-access-token-is-undefined sein) – Boratzan

Antwort

1

Versuchen Sie, diese

function onSignIn(googleUser) { 
    var profile = googleUser.getBasicProfile(); 
    console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead. 
    console.log('Name: ' + profile.getName()); 
    console.log('Image URL: ' + profile.getImageUrl()); 
    console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present. 
    console.log('Token id: ' + googleUser.getAuthResponse().id_token); 
} 

Sie var Profil gesetzt = googleUser.getBasicProfile(); Daher können Sie getAuthResponse() für getBasicProfile() nicht verwenden. es hat googleUser.getAuthResponse()

https://developers.google.com/identity/sign-in/web/reference#googleusergetauthresponseincludeauthorizationdata