Best Practices für die Implementierung von „Über Google anmelden“

Über Google anmelden

Einführung

„Über Google anmelden“ ist eine schnelle und sichere Methode für Nutzer, sich in Ihrer App oder auf Ihrer Website anzumelden. Eine korrekte Implementierung vereinfacht nicht nur die Nutzerregistrierung, sondern erhöht auch die Sicherheit Ihrer Anwendung. In diesem Dokument werden die Best Practices für die Integration von „Über Google anmelden“ auf Web-, Android- und iOS-Plattformen beschrieben. In dieser Dokumentation geht es ausschließlich um die Authentifizierung. Die Autorisierung wird in diesem Dokument nicht behandelt.

Checkliste für Integrationsmeilensteine

Diese Checkliste bietet einen allgemeinen Leitfaden für die Einbindung von „Mit Google anmelden“. Es ist in wichtige Phasen unterteilt, von der Ersteinrichtung bis zur Einführung in der Produktionsumgebung. Anhand dieser Liste können Sie Ihren Fortschritt verfolgen. Klicken Sie auf die Links, um die detaillierte Anleitung für die einzelnen Meilensteine aufzurufen.

Phase 0: Erste Schritte (optional)

Mit praktischen, detaillierten Codelabs für Entwickler können Sie Ihre Integration beschleunigen.

Web: Führen Sie das Codelab One Tap und Über Google anmelden aus, um eine grundlegende Webintegration zu erstellen.

Android: Absolvieren Sie das Android-Codelab, um die Grundlagen des Credential Manager für Android kennenzulernen.

 iOS: Sehen Sie sich das iOS-Codelab an, um eine Einführung in das iOS SDK zu erhalten.

Phase 1: Google Cloud-Projekt und Marke konfigurieren

Sorgen Sie dafür, dass Ihr Projekt von Anfang an auf Erfolg ausgerichtet ist.

 Google Cloud-Projekte für verschiedene Umgebungen und Marken strukturieren.

 Konfigurieren Sie den OAuth-Zustimmungsbildschirm mit allen erforderlichen Branding- und Supportinformationen.

 Erstellen Sie für jede Plattform (Web, Android, iOS) den richtigen OAuth-Client-ID-Typ.

Phase 2: Kernentwicklung: Frontend und Backend

Sichere Serverlogik und plattformspezifische Nutzererfahrung entwickeln:

Bei der Frontend-Entwicklung:

 Sehen Sie sich die allgemeinen Best Practices für die Nutzerfreundlichkeit an und wenden Sie sie an, um die Akzeptanz und das Vertrauen der Nutzer zu maximieren.

 Web: Verwenden Sie die offizielle JavaScript-Bibliothek und binden Sie sowohl den Schaltflächen- als auch den One Tap-Ablauf ein.

 Android: Verwenden Sie das offizielle Android SDK für die Integration.

 iOS: Verwenden Sie das offizielle iOS SDK für die Integration.

Bei der Backend-Entwicklung:

 Implementieren Sie eine sichere Backend-Validierung von Google-ID-Tokens.

Verwenden Sie den sub-Anspruch als eindeutige und permanente Nutzer-ID in Ihrem System.

 Planen Sie gegebenenfalls die Trennung von Authentifizierungs- und Autorisierungsbereichen.

Phase 3: Sicherheitshärtung und Produktionsstart

Sorgen Sie dafür, dass Ihre Integration sicher, konform und produktionsbereit ist.

 Best Practices für die Sicherheit prüfen und implementieren.

 Schließen Sie den Prozess zur OAuth-App-Überprüfung vor dem Start ab.

Achten Sie darauf, dass Ihre Anwendung die Widerrufung von Tokens bei der Löschung von Nutzerkonten korrekt verarbeitet.

Allgemeine Best Practices (alle Plattformen)

Diese Best Practices gelten unabhängig von der Plattform, für die Sie entwickeln. Entwickler sollten sich auch die allgemeinen OAuth 2.0-Richtlinien ansehen, um sicherzugehen, dass sie alle Vorgaben erfüllen.

In diesem Abschnitt werden die Best Practices für die Strukturierung Ihrer Google Cloud-Projekte und die Einrichtung Ihrer OAuth-Clients für Sicherheits- und Branding-Compliance beschrieben.

  • Separate Projekte für Tests und Produktion verwenden

    Da einige Google-Richtlinien nur für Produktionsanwendungen gelten, müssen Sie in der Google Cloud Console separate Projekte für Ihre verschiedenen Bereitstellungsumgebungen wie Entwicklung, Staging und Produktion erstellen. Weitere Informationen finden Sie auf dieser Seite.

  • Separate Projekte für jede Marke oder Domain verwenden

    Wenn Ihre Organisation mehrere Anwendungen mit unterschiedlichen Marken verwaltet, sollte jede Marke ein eigenes Google Cloud-Projekt haben. Die nutzerorientierten Informationen, die auf dem Zustimmungsbildschirm angezeigt werden, z. B. Anwendungsname, Logo, Support-E-Mail-Adresse und Links zu den Nutzungsbedingungen und der Datenschutzerklärung, werden auf Projektebene konfiguriert. Das bedeutet, dass alle OAuth-Client-IDs, die in einem einzelnen Projekt erstellt wurden, dasselbe Branding haben. Wenn jede Marke ihr eigenes Projekt hat, sehen Nutzer die richtige Marke und die richtigen rechtlichen Informationen für die jeweilige Anwendung, die sie verwenden.

  • Allgemeine Support-E-Mail-Adresse angeben

    Die Support-E-Mail-Adresse für Nutzer wird öffentlich auf dem OAuth-Zustimmungsbildschirm angezeigt. Um Professionalität zu wahren und Kontinuität zu gewährleisten, sollten Sie immer eine allgemeine Support-E‑Mail-Adresse konfigurieren, z.B. support@yourdomain.com) in der Konfiguration des OAuth-Zustimmungsbildschirms des Google Cloud-Projekts anstelle der E-Mail-Adresse eines einzelnen Mitarbeiters. Weitere Informationen finden Sie auf dieser Seite.

  • OAuth-Client pro Plattform

    Sie sollten für jede Plattform, auf der Ihre App ausgeführt wird, einen separaten OAuth-Client erstellen, z.B. Web, Android, iOS) – alles im selben Google Cloud-Projekt. Die Verwendung des richtigen Clienttyps für jede Plattform ist aus zwei Hauptgründen entscheidend:

    • Höhere Sicherheit: Jeder Clienttyp ermöglicht plattformspezifische Sicherheitsfunktionen. Ein Android-Client kann beispielsweise durch seinen Paketnamen und sein Signaturzertifikat gesperrt werden, um eine unbefugte Verwendung Ihrer Client-ID zu verhindern.
    • Ordnungsgemäße Funktionalität: Damit wird sichergestellt, dass Ihre Anwendung korrekt in plattformspezifische SDKs und Funktionen wie den Credential Manager unter Android oder das Sign in with Google SDK für iOS eingebunden wird.

    Diese Struktur vereinfacht auch die Nutzerfreundlichkeit. Da die Einwilligung auf Google Cloud-Projektebene erfolgt, müssen Nutzer sie Ihrer Anwendung nur einmal auf allen Plattformen erteilen. Weitere Informationen finden Sie in den offiziellen OAuth 2.0-Richtlinien.

  • OAuth-App-Überprüfung durchlaufen

    Damit in Ihrer Produktions-App Name und Logo angezeigt werden, muss sie verifiziert sein. Die Art der Bestätigung hängt von den Daten ab, die Sie vom Nutzer anfordern.

    • Da bei Mit Google anmelden nur Authentifizierungsbereiche (email, profile und openid) angefordert werden, ist nur eine vereinfachte Markenüberprüfung erforderlich. Dieser Prozess ist in der Regel schneller und konzentriert sich auf die Bestätigung der Identität Ihrer Marke.

    Damit Sie Ihren Zeitplan für die Einführung besser planen können, bietet Google eine Aufschlüsselung der verschiedenen Bestätigungstypen und der erwarteten Überprüfungszeiten. Weitere Informationen zu den Überprüfungsrichtlinien finden Sie in der OAuth-Anwendungsüberprüfung.

Sicherheit und Token-Verarbeitung

In diesem Abschnitt geht es um die Laufzeitanforderungen und Sicherheitsmaßnahmen, die Entwickler auf ihren Backend-Servern implementieren müssen.

  • Google-ID-Tokens in Ihr Backend einbinden

    • ID-Token überprüfen: Überprüfen Sie immer die Integrität des Google-ID-Tokens auf Ihrem Backend-Server. Vertrauen Sie einem Token niemals nur, weil er von Ihrem Client gesendet wird. Wir empfehlen, für diese Bestätigung eine Google API-Clientbibliothek zu verwenden. Weitere Informationen finden Sie unter Google-ID-Token auf Serverseite bestätigen.
    • sub-Anspruch verwenden: Verwenden Sie nur das Google-ID-Token-Feld sub als Kennung für den Nutzer, da es für alle Google-Konten eindeutig und stabil ist und nie wiederverwendet wird. Sie sollten das Feld sub speichern und dem Nutzer in Ihrem Kontoverwaltungssystem zuordnen. Sie können zwar die E‑Mail-Adresse aus dem ID-Token verwenden, um zu prüfen, ob der Nutzer ein bestehendes Konto hat, aber verwenden Sie die E‑Mail-Adresse nicht als Kennung, da ein Google-Konto zu verschiedenen Zeitpunkten mehrere E‑Mail-Adressen haben kann.
  • Tokens beim Löschen von Konten widerrufen

    Es wird dringend empfohlen, Nutzern, die sich mit Google anmelden, die Möglichkeit zu geben, die Verbindung ihres Google-Kontos zu Ihrer Anwendung zu trennen. Wenn ein Nutzer sein Konto löscht, müssen Sie alle Zugriffs- und Aktualisierungstokens widerrufen, die Ihre Anwendung erhalten hat.

    Weitere Informationen zum Widerrufen von Clientseitentokens finden Sie in der Dokumentation für Web, Android und iOS. Informationen zum serverseitigen Widerruf finden Sie unter OAuth 2.0 für Webserveranwendungen verwenden.

  • Authentifizierung von Autorisierung trennen

    Die Sign in with Google-SDKs fordern nur die für die Authentifizierung erforderlichen Bereichstypen an. Wenn Ihre Anwendung Zugriff auf andere Google-Dienste wie Google Kalender oder Drive benötigt, sollten Sie diese Berechtigungen separat und nur dann anfordern, wenn der Nutzer versucht, eine Aktion auszuführen, für die sie erforderlich sind. Weitere Informationen finden Sie unter Getrennte Authentifizierungs- und Autorisierungsvorgänge.

  • Best Practices für die Sicherheit

    Für eine sichere Einbindung sollten Sie das ID-Token immer auf Ihrem Backend-Server mit der Google API-Clientbibliothek überprüfen. Für einen umfassenderen Schutz vor verschiedenen Bedrohungen sollten Sie das Sicherheitspaket und den produktübergreifenden Kontoschutz (RISC) implementieren. Außerdem wird für iOS-Apps dringend empfohlen, App Check zu integrieren, um sicherzustellen, dass Anfragen von Ihrer authentischen App stammen.

User Experience (UX)

In diesem Abschnitt geht es um die Optimierung der nutzerorientierten Elemente und der Anmelde-/Registrierungsabläufe.

  • Schaltfläche gut sichtbar platzieren: Die Schaltfläche „Über Google anmelden“ sollte auf Ihrer Anmelde- und Registrierungsseite gut sichtbar und zugänglich sein.

  • Markenrichtlinien einhalten: Verwenden Sie die offiziellen Google-Anmeldeschaltflächen, um eine einheitliche und vertrauenswürdige Nutzererfahrung zu gewährleisten. Lesen Sie die offiziellen Branding-Richtlinien für „Über Google anmelden“.

  • Reibungslose Registrierung: Für neue Nutzer wird automatisch ein Konto erstellt oder sie werden beim ersten erfolgreichen „Über Google anmelden“-Vorgang zum Erstellen eines neuen Kontos weitergeleitet. Prüfen Sie im Backend, ob ein Nutzer mit der angegebenen sub-ID vorhanden ist. Wenn nicht, erstellen Sie ein neues Konto. So wird der Registrierungsaufwand minimiert.

  • Vereinfachte Anmeldung: Verwenden Sie für wiederkehrende Nutzer die sub-ID, um sie zu identifizieren und in ihrem bestehenden Konto zu authentifizieren. Implementieren Sie Funktionen wie die automatische Anmeldung für Web und Android, damit Nutzer schnell und sicher wieder in Ihre App gelangen.

  • Social Sign-in-Methoden verwalten: In den Nutzereinstellungen gibt es einen zentralen Bereich „Verknüpfte Konten“, in dem Nutzer verschiedene Social Sign-in-Methoden (z.B. Google) verwalten können.

    • Verknüpfung: Stellen Sie eine Schaltfläche „Über Google anmelden“ für bestehende Nutzer bereit, die andere Methoden verwenden (z.B. Nutzername und Passwort). Wenn sie darauf klicken, wird der Authentifizierungsablauf gestartet, um ihr Google-Konto mit ihrem bestehenden Profil zu verknüpfen.

    • Verknüpfung aufheben: Bieten Sie eine Option zum Trennen des Kontos an. Dazu müssen Sie Tokens widerrufen und die Google-Verknüpfung aus Ihrer Datenbank entfernen.

Android-Implementierung (Apps und Spiele)

Standard-Android-Apps

Für Android-Implementierungen sollten Sie den Credential Manager verwenden. Es ist die empfohlene Methode für die Verarbeitung von Nutzeranmeldedaten und bietet eine einheitliche, sichere und konsistente Anmeldung auf Android.

Verwenden Sie die OAuth-Client-ID für Android für die Implementierung. Wenn Sie „Über Google anmelden“ bereits auf anderen Plattformen (z.B. im Web oder unter iOS) implementiert haben, sollten Sie im selben Google Cloud-Projekt eine neue OAuth-Client-ID vom Typ „Android“ erstellen.

Implementierungsabläufe

Eine robuste Implementierung sollte sowohl die Bottom-Sheet-Benutzeroberfläche von Credential Manager als auch die Schaltfläche „Über Google anmelden“ umfassen.

  • Bottomsheet: Dies ist ein entwicklergesteuerter, reibungsloser Prompt, der vom Anmeldedaten-Manager angezeigt wird, wenn ein Nutzer auf Ihrem Anmeldebildschirm landet.
  • Schaltfläche „Über Google anmelden“: Dies ist der explizite, vom Nutzer initiierte Anmeldevorgang, den der Nutzer durch Tippen starten kann.
  • Eine genaue Google Cloud-Projektkonfiguration ist unerlässlich. Dazu müssen Sie die richtigen Arten von OAuth-Client-IDs erstellen und bestimmte Details wie den SHA-1-Zertifikatsfingerabdruck Ihrer App angeben. Folgen Sie genau dem offiziellen Android-Entwicklerleitfaden, um die Einrichtung korrekt vorzunehmen.

Sie sollten immer den Schaltflächenablauf einbeziehen, da Nutzer das Bottomsheet möglicherweise schließen oder in ihren Einstellungen deaktiviert haben. Über die Schaltfläche können sie den Anmeldevorgang jederzeit starten.

Placement-Strategie

  • Schaltfläche „Über Google anmelden“:

    • Standort: Die Schaltfläche „Über Google anmelden“ sollte auf den entsprechenden Registrierungs- oder Anmeldeseiten angezeigt werden.
    • Sichtbarkeit: Platzieren Sie die Schaltfläche gut sichtbar neben anderen Anmeldemethoden, z. B. neben Feldern für Nutzername und Passwort oder anderen Anbietern für die Anmeldung über soziale Netzwerke.
  • Credential Manager-Bottomsheet:

    • Trigger: Das Bottomsheet sollte automatisch aufgerufen werden, wenn Ihre Anmeldeseite oder die App gestartet wird. Sie sollte nicht durch das Tippen eines Nutzers auf eine Schaltfläche ausgelöst werden.
    • Automatische Anmeldung: Für wiederkehrende Nutzer wird dringend empfohlen, die Option automatische Anmeldung im Credential Manager zu aktivieren. So können Nutzer, die Ihre App bereits verwendet haben und deren Einwilligung vorliegt, ohne Interaktion wieder angemeldet werden.

Android-Spiele

Für Android-Spiele ist die Credential Manager API nicht die empfohlene Methode. Stattdessen sollten Spieleentwickler die Google Play-Spieldienste (PGS) verwenden, die auf der plattformübergreifenden Google-Identität basieren und die Anmeldung über Google nutzen. Weitere Informationen finden Sie in der Dokumentation zu plattformübergreifenden Google-Identitäten mit „Mit Google anmelden“.

iOS-Implementierung

Offizielles „Mit Google anmelden“-SDK verwenden

Für iOS-Apps sollten Sie das offizielle Sign in with Google for iOS and macOS SDK verwenden. Diese Bibliothek bietet die sicherste und nutzerfreundlichste Möglichkeit, „Mit Google anmelden“ zu integrieren.

Verwenden Sie die OAuth-Client-ID für iOS für die Implementierung. Wenn Sie „Über Google anmelden“ bereits auf anderen Plattformen (z.B. Web, Android) implementiert haben, sollten Sie im selben Google Cloud-Projekt eine neue OAuth-Client-ID vom Typ „iOS“ erstellen.

Schaltfläche „Über Google anmelden“ hinzufügen

  • Platzierung: Fügen Sie die Schaltfläche „Über Google anmelden“ in der Anmeldeansicht Ihrer App auf den Registrierungs- und Anmeldeseiten ein. Platzieren Sie sie gut sichtbar neben anderen Anmeldemethoden wie Feldern für Nutzernamen und Passwörter oder anderen Anmeldeanbietern für soziale Netzwerke.
  • Empfohlene Komponenten verwenden: Verwenden Sie die offiziellen Schaltflächenkomponenten, die vom SDK für SwiftUI und UIKit bereitgestellt werden. Diese Komponenten generieren automatisch eine Schaltfläche, die den Google-Branding-Richtlinien entspricht. Sie sind die empfohlene Methode zum Anzeigen der Schaltfläche.

Sicherheit mit App Check verbessern

Schützen Sie Ihre Backend-Ressourcen vor Missbrauch, indem Sie prüfen, ob Anfragen an Ihren OAuth 2.0-Client von Ihrer authentischen App stammen. App Check verwendet einen Attestierungsanbieter, um zu prüfen, ob Anfragen von einer echten, unveränderten Instanz Ihrer App stammen, und lehnt Anfragen ab, die dies nicht tun. Weitere Informationen finden Sie unter App Check für Google Log-in unter iOS.

Webimplementierung

Anleitung für Websites und Webanwendungen.

Offizielle JavaScript-Bibliothek für Google Log-in verwenden

Für Webimplementierungen sollten Sie die offizielle JavaScript-Bibliothek für „Über Google anmelden“ verwenden. Dies ist die neueste Generation der Identitätsbibliotheken von Google für das Web. Sie umfasst sowohl die Schaltflächen- als auch die One Tap-Funktionen.

Verwenden Sie die OAuth-Client-ID für Web für die Implementierung. Wenn Sie „Über Google anmelden“ bereits auf anderen Plattformen (z.B. Android, iOS) implementiert haben, sollten Sie im selben Google Cloud-Projekt eine neue OAuth-Client-ID vom Typ „Web“ erstellen.

Sowohl Schaltflächen- als auch One Tap-Abläufe implementieren

Es hat sich bewährt, sowohl die Schaltfläche „Über Google anmelden“ als auch die Anmeldung mit One Tap zu implementieren.

  • Schaltfläche „Über Google anmelden“: Dies ist der explizite, vom Nutzer initiierte Anmelde-/Registrierungsvorgang.
  • One Tap: Dies bietet eine reibungslose Aufforderung zur Anmeldung oder Registrierung mit geringen Unterbrechungen.
  • Verwenden Sie für beide Implementierungen dieselbe OAuth-Client-ID für Web.

Sie sollten die Schaltfläche immer als primäre Anmeldeoption einfügen. Nutzer können die Einmalanmeldung in den Einstellungen ihres Google-Kontos schließen oder deaktivieren. Die Schaltfläche ist jedoch immer verfügbar, sodass Nutzer sich immer anmelden können.

Placement-Strategie

  • Schaltfläche „Über Google anmelden“:

    • Standort: Zeigen Sie den personalisierten Button „Über Google anmelden“ auf Ihren speziellen Registrierungs- oder Anmeldeseiten an.
      • Es gibt kein einzelnes Muster, das für alle Websites am besten funktioniert (z.B. Weiterleitung im Vergleich zu Pop-up). Ihr Webdesign- oder UX-Team sollte diese Abläufe testen und optimieren, um die Abschlussraten für die Registrierung und Anmeldung zu maximieren.
    • Sichtbarkeit: Platzieren Sie die Schaltfläche gut sichtbar neben anderen Anmeldemethoden, z. B. neben Feldern für Nutzername und Passwort oder anderen Anbietern für die Anmeldung über soziale Netzwerke.
    • Überprüfung: Im Abschnitt Überlegungen zur Schaltfläche „Über Google anmelden“ finden Sie Informationen zur optimalen Konfiguration und Leistung.
  • One Tap Prompt:

    • Standort: Sie können die Aufforderung zur Anmeldung mit nur einem Fingertipp auf mehreren Seiten Ihrer Website anzeigen, z. B. auf einzelnen Produktseiten, Artikelseiten oder sogar auf der Startseite. Der Hauptvorteil von One Tap besteht darin, dass Nutzer sich anmelden oder ein Konto erstellen können, ohne die aktuelle Seite verlassen zu müssen.
    • Automatische Anmeldung: Für wiederkehrende Nutzer wird dringend empfohlen, die Option automatische Anmeldung in One Tap zu aktivieren. So können Nutzer, die Ihre Einwilligung bereits erteilt haben, ohne Interaktion wieder in Ihrer App angemeldet werden.
    • Überprüfen: Im Abschnitt Überlegungen zu One Tap finden Sie Informationen zur optimalen Konfiguration und Leistung.