Schritte zur Minimierung der Auswirkungen von Änderungen am Umfang auf die Nutzer
- Wenn für Ihre Anwendung die E-Mail-Adresse eines authentifizierten Nutzers erforderlich ist und Sie zuvor
profile.emails.read
für diesen Zweck verwendet haben, nutzen Sie stattdessenemail
. - Holen Sie mit einer genehmigten Bestätigungsanfrage die Genehmigung für
profile.emails.read
ein. Weitere Informationen finden Sie im Hilfeartikel Wie reiche ich das Formular zur Überprüfung ein? - Widerrufen Sie das vorherige Nutzertoken auf den Bereich, der entfernt werden soll, oder entfernen Sie den Zugriff auf die Anwendung vollständig. Beispielsweise sollte ein Token mit
profile.emails.read
-Zugriff widerrufen werden. Wir empfehlen, den Widerruf vorzunehmen, während sich die Nutzer in Ihrer Anwendung befinden, damit Sie sofort die Einwilligung der Nutzer einholen können. - Fordern Sie Ihre Nutzer auf, dem neuen Umfang, z. B.
email
, noch einmal zuzustimmen, ohneprofile.emails.read
. - Entfernen Sie den Bereich, der aus der Konfiguration des OAuth-Zustimmungsbildschirms für Google APIs eingestellt werden soll.
Die Änderungen, die du vornehmen musst, um deine Website von Google+ Log-in zu Google zu migrieren Die Anmeldung hängt davon ab, welchen Google+ Log-in-Vorgang Sie verwenden. Im Allgemeinen ist die Migration erfordert, dass Sie die Anmeldeschaltfläche, die angeforderten Bereiche und die Anleitung aktualisieren zum Abrufen von Profilinformationen von Google.
Wenn Sie Ihre Anmeldeschaltfläche aktualisieren, beziehen Sie sich nicht auf Google+ und verwenden Sie nicht die Farbe Rot. Der aktualisierten Version von Branding-Richtlinien.
Die meisten G+ Log-in-Anwendungen haben eine Kombination der Umfänge angefordert:
plus.login
, plus.me
und plus.profile.emails.read
. Sie müssen die Karte neu kartieren.
Ihre Bereiche so:
Alter Bereich | Neuer Bereich |
---|---|
plus.login |
profile |
plus.me |
openid |
plus.profile.emails.read |
email |
Viele Implementierungen von Google+ Log-in haben die
Codeablauf beschrieben. Das bedeutet,
Die Android-, iOS- oder JavaScript-Apps erhalten einen OAuth-Code von Google.
sendet der Client diesen Code zusammen mit der websiteübergreifenden Anfrage an den Server zurück.
zum Schutz vor Fälschungen. Der Server validiert dann den Code und erhält Aktualisierungen und
Zugriffstokens, um Nutzerprofilinformationen aus der people.get
API abzurufen.
Google empfiehlt Ihnen jetzt, ein ID-Token anzufordern und von diesem den Client mit dem Server verbinden. ID-Tokens haben einen websiteübergreifenden Schutz vor Fälschungen sind bereits integriert und können auf Ihrem Server statisch verifiziert werden, wodurch ein Fehler einen zusätzlichen API-Aufruf, um Nutzerprofilinformationen von den Google-Servern abzurufen. Folgen Sie Anleitung zum Validieren von ID-Tokens auf Ihrem Server.
Wenn Sie Profilinformationen
mit dem Code-Ablauf abrufen möchten,
können Sie dies tun. Sobald Ihr Server ein Zugriffstoken hat, müssen Sie
Nutzerprofilinformationen abrufen
von den userinfo
-Endpunkten, die in unserer Anmeldung angegeben sind
Discovery-Dokument. Die API
Antwort anders formatiert als die Google+ Profilantwort.
müssen Sie das Parsing
auf das neue Format aktualisieren.
Schaltfläche „HTML-Anmeldung migrieren“
Wenn Ihre Seite durch eine Aufgabe des Kurses eine Google+ Log-in-Schaltfläche enthält
g-signin
für ein Element haben, nehmen Sie folgende Änderungen vor:
Wenn du deine Client-ID in einem
<meta>
-Tag oder einemdata-
-Tag angibst, oder eines Parameterobjekts haben, ändern Sie den Stringclientid
inclient_id
, wie im folgenden Beispiel:<!-- Google+ Sign-in (old) --> <meta name="google-signin-clientid" content="YOUR_CLIENT_ID">
<!-- Google Sign-in (new) --> <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
Weisen Sie die Klasse „
g-signin2
“ dem Element der Anmeldeschaltfläche zu, anstattg-signin
. Geben Sie außerdem separate Erfolgs- und Fehler-Callbacks anstelle eines wie im folgenden Beispiel dargestellt:<!-- Google+ Sign-in (old) --> <div class="g-signin" data-callback="signinCallback"> </div>
<!-- Google Sign-in (new) --> <div class="g-signin2" data-onsuccess="onSignIn" data-onfailure="onSignInFailure"> </div>
Definieren Sie anstelle eines einzelnen Callback-Handlers Erfolgs- und Fehler-Handler, wie im folgenden Beispiel:
// Google+ Sign-in (old) function signinCallback(authResult) { if (authResult['status']['signed_in']) { // Handle successful sign-in } else { // Handle sign-in errors console.log('Sign-in error: ' + authResult['error']); } }
// Google Sign-in (new) function onSignIn(googleUser) { // Handle successful sign-in } function onSignInFailure() { // Handle sign-in errors }
Durch diese Änderungen werden Ihre Standardbereiche auf
profile email openid
aktualisiert. Sie können die allgemeinen Profilinformationen des Nutzers abrufen, z. B. Name, E-Mail-Adresse und Foto. Bild-URL folgendermaßen:// Google Sign-in (new) function onSignIn(googleUser) { let profile = googleUser.getBasicProfile(); let fullName = profile.getName(); let email = profile.getEmail(); let imageUrl = profile.getImageUrl(); }
Dynamisch gerenderte Anmeldeschaltfläche migrieren
Wenn Sie in Ihre Seite eine Google+ Log-in-Schaltfläche eingefügt haben,
gapi.signin.render()
, nehmen Sie folgende Änderungen vor:
Wenn du deine Client-ID in einem
<meta>
-Tag oder einemdata-
-Tag angibst, oder eines Parameterobjekts verwenden, ändern Sie den Stringclientid
inclient_id
, wie im folgenden Beispiel:<!-- Google+ Sign-in (old) --> <meta name="google-signin-clientid" content="YOUR_CLIENT_ID">
<!-- Google Sign-in (new) --> <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
Rendern Sie die Anmeldeschaltfläche mit
gapi.signin2.render()
, anstattgapi.signin.render()
, wie im folgenden Beispiel:// Google+ Sign-in (old) gapi.signin.render('myButton', additionalParams);
// Google Sign-in (new) gapi.signin2.render('myButton', additionalParams);
Definieren Sie anstelle eines einzelnen Callback-Handlers Erfolgs- und Fehler-Handler, wie im folgenden Beispiel:
// Google+ Sign-in (old) function signinCallback(authResult) { if (authResult['status']['signed_in']) { // Handle successful sign-in } else { // Handle sign-in errors console.log('Sign-in error: ' + authResult['error']); } }
// Google Sign-in (new) function onSignIn(googleUser) { // Handle successful sign-in } function onSignInFailure() { // Handle sign-in errors }
Durch diese Änderungen werden Ihre Standardbereiche auf profile email openid
aktualisiert. Sie können
grundlegende Profilinformationen des Nutzers mit der Methode getBasicProfile()
abrufen
Von JavaScript initiierten Anmeldevorgang migrieren
Sie haben den Anmeldevorgang mit einem Aufruf von gapi.auth.signIn()
gestartet, als Nutzer
klicken Sie auf die Anmeldeschaltfläche und nehmen Sie folgende Änderungen vor:
Wenn du deine Client-ID in einem
<meta>
-Tag oder einemdata-
-Tag angibst, oder eines Parameterobjekts verwenden, ändern Sie den Stringclientid
inclient_id
, wie im folgenden Beispiel:<!-- Google+ Sign-in (old) --> <meta name="google-signin-clientid" content="YOUR_CLIENT_ID">
<!-- Google Sign-in (new) --> <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
Verwende
gapi.auth2.attachClickHandler()
, um den Anmeldevorgang zu starten, wenn eine Schaltfläche gedrückt wird, wie im folgenden Beispiel:// Google+ Sign-in (old) var signinButton = document.getElementById('signinButton'); signinButton.addEventListener('click', function() { gapi.auth.signIn(additionalParams); });
// Google Sign-in (new) auth2 = gapi.auth2.init(); auth2.attachClickHandler('signinButton', additionalParams, onSignIn, onSignInFailure);
Definieren Sie anstelle eines einzelnen Callback-Handlers Erfolgs- und Fehler-Handler, wie im folgenden Beispiel:
// Google+ Sign-in (old) function signinCallback(authResult) { if (authResult['status']['signed_in']) { // Handle successful sign-in } else { // Handle sign-in errors console.log('Sign-in error: ' + authResult['error']); } }
// Google Sign-in (new) function onSignIn(googleUser) { // Handle successful sign-in } function onSignInFailure() { // Handle sign-in errors }
Durch diese Änderungen werden Ihre Standardbereiche auf profile email openid
aktualisiert. Sie können
grundlegende Profilinformationen des Nutzers über einen Aufruf an getBasicProfile()
abrufen
.
Serverseitigen Hybridablauf migrieren
Wenn Sie die JavaScript API verwendet haben, um einen einmaligen Autorisierungscode für Sie zu erhalten die an Ihren Server übergeben werden sollen, nehmen Sie die folgenden Änderungen vor:
Ändern Sie den Bereich von
https://www.googleapis.com/auth/plus.login
zuprofile
.Methode
gapi.auth2.grantOfflineAccess()
mit vorhandenem Callback verwenden wie im folgenden Beispiel gezeigt:<!-- Google+ Sign-in (old) --> <div class="g-signin" data-scope="https://www.googleapis.com/auth/plus.login" data-clientid="YOUR_CLIENT_ID" data-redirecturi="postmessage" data-accesstype="offline" data-callback="signInCallback"> </div>
// Google Sign-in (new) auth2 = gapi.auth2.init({ client_id: 'YOUR_CLIENT_ID', scope: 'profile' }); ... auth2.grantOfflineAccess().then(signInCallback);
Wenn Sie auch Zugriff auf die E-Mail-Adresse des Nutzers benötigen, fügen Sie dem Bereichsparameter email
hinzu.