Von Google+ Log-in migrieren

<ph type="x-smartling-placeholder">

Schritte zur Minimierung der Auswirkungen von Änderungen am Umfang auf die Nutzer

  1. 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 stattdessen email.
  2. 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?
  3. 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.
  4. Fordern Sie Ihre Nutzer auf, dem neuen Umfang, z. B. email, noch einmal zuzustimmen, ohne profile.emails.read.
  5. Entfernen Sie den Bereich, der aus der Konfiguration des OAuth-Zustimmungsbildschirms für Google APIs eingestellt werden soll.
<ph type="x-smartling-placeholder">

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 einem data--Tag angibst, oder eines Parameterobjekts haben, ändern Sie den String clientid in client_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, anstatt g-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 einem data--Tag angibst, oder eines Parameterobjekts verwenden, ändern Sie den String clientid in client_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(), anstatt gapi.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 einem data--Tag angibst, oder eines Parameterobjekts verwenden, ändern Sie den String clientid in client_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 zu profile.

  • 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.