Zum Inhalt springen

Google Login Setup

GitHub

In dieser Anleitung lernen Sie, wie Sie Google Login mit Capgo Social Login einrichten. Um Google Login einzurichten, benötigen Sie Folgendes:

  • Eine Google-Konto

In diesem Teil stellen Sie die von Google angezeigte Anmeldeseite ein.

  1. Bitte gehen Sie zu console.cloud.google.com
  2. Klicken Sie auf den Projektselector Google Console Projektselector
  3. Wenn Sie noch keinen Projekt haben, bitten wir Sie, ein neues Projekt zu erstellen.
    1. Klicken Sie auf New project Neues Projekt-Button in Google Console
    2. Benennen Sie Ihr Projekt und klicken Sie Create Projektbenennungsseite mit Namefeld und Erstellen-Button
    3. Stellen Sie sicher, dass Sie sich auf dem richtigen Projekt befinden Projektname wird im Selector angezeigt, was eine korrekte Projektwahl anzeigt
  4. Beginnen Sie mit der Konfiguration des OAuth consent screen
    1. Klicken Sie auf die Suchleiste

      Google-Konsolen-Suchleiste
    2. Nach OAuth consent screen und klicken Sie darauf

      Suchergebnisse, die die OAuth-Konsent-Screen-Option anzeigen
    3. Konfigurieren Sie die Konsent-Screen

      Klicken Sie auf create

      OAuth-Konsent-Screen-Benutzer-Typen mit externen und internen Optionen
  5. Füllen Sie die Informationen über Ihre App
    1. Lassen Sie uns mit der App Information

      App-Informationen-Sektion beginnen, die App-Namen und Benutzer-Support-E-Mail-Felder anzeigt
      • Bitte geben Sie Ihren App Name
      • Geben Sie den user support email
      1. Sie KANNEN Hinzufügen Sie das App-Logo.

        Hinweis
      2. SOLLTE die Domain-Konfiguration für die App konfigurieren. App domain

        Hinweis
      3. müssen den Entwickler-E-Mail-Adresse bereitstellen Entwickler-Kontaktinformationen mit E-Mail-Feld

        Klicken Sie auf
      4. Speichern und fortfahren save and continue

        Konfigurieren Sie die Berechtigungen
  6. Klicken Sie auf
    1. __CAPGO_KEEP_0__ add or remove scopes

      Fügen Sie oder entfernen Sie die Berechtigungs-Schaltfläche in der Berechtigungs-Konfigurations-Ansicht
    2. Wählen Sie die folgenden Berechtigungen aus und klicken Sie update

      Berechtigungs-Dialog mit ausgewählten E-Mail- und Profil-Berechtigungen
    3. Klicken Sie save and continue

      Speichern und Fortsetzen-Schaltfläche in der Berechtigungs-Ansicht
  7. Einen Testbenutzer hinzufügen
    1. Klicken Sie auf add users Hinzufügen von Benutzern-Schaltfläche in der Testbenutzer-Sektion
    2. Einrichten Sie Ihr Google-E-Mail-Konto, drücken Sie Enter und klicken Sie add E-Mail-Eingabefeld und Hinzufügen-Schaltfläche für Testbenutzer
    3. Klicken Sie save and continue Speichern und Fortsetzen-Schaltfläche in der Testbenutzer-Ansicht
  8. Klicken Sie back to dashboard Zurück zur Dashboard-Button am unteren Ende der Abschlussseite
  9. Senden Sie Ihr App zur Überprüfung

Es gibt mehrere Möglichkeiten, Google Login mit Capacitor zu verwenden. Hier ist eine Tabelle, die die Unterschiede zwischen den beiden zusammenfasst:

Online-ZugriffOffline-Zugriff
Benötigt einen Backend-Server
Langzeitzugriffstoken
Einfache Einrichtung

Wenn Sie immer noch nicht wissen, welches Sie wählen sollten, überlegen Sie bitte die folgenden Szenarien:

  1. Sie möchten, dass der Benutzer sich anmeldet, und sofort nach der Anmeldung wird ihm ein benutzerdefinierter JWT ausgegeben. Ihre App ruft keine Google-APIs auf

    In diesem Fall wählen Sie Online-Zugriff.

  2. Ihre App ruft einige Google-APIs vom Client aus, aber nie vom Backend auf

    In diesem Fall wählen Sie Online-Zugriff.

  3. Ihre App ruft einige Google-APIs vom Backend aus, aber nur, wenn der Benutzer aktiv mit der App arbeitet.

    In diesem Fall wählen Sie "Online-Zugriff".

  4. Ihre App überprüft periodisch den Kalender des Benutzers, auch wenn dieser nicht aktiv mit der App arbeitet.

    In diesem Fall wählen Sie "Offline-Zugriff".

In diesem Teil des Tutorials zeige ich Ihnen, wie Sie den Benutzer auf Ihrem Backend validieren können.

Dieses Beispiel wird sehr einfach sein und auf folgenden Technologien basieren:

Sie können das code für dieses Beispiel finden hier

Wie Sie sehen können:

VS Code zeigt Google-Anmeldung code an, die Token überprüft

Die Idee ist eigentlich sehr einfach. Sie senden eine einfache Anfrage an GET und diese gibt Ihnen mit zurück, ob der Token gültig ist oder nicht und wenn es ist, gibt es Ihnen die E-Mail des Benutzers. Es gibt Ihnen auch einige andere Informationen über den Benutzer-Token https://www.googleapis.com/oauth2/v3/tokeninfo Google OAuth Playground zeigt Token-Informationen mit Benutzerdetails an

Von dort aus könnten Sie dem Benutzer Ihren eigenen JWT ausstellen oder eine Art Sitzungskochnie ausstellen. Die Möglichkeiten sind endlos, für die endgültige Auth-Implementierung

Wenn Sie Google __CAPGO_KEEP_0__ aufrufen möchten, empfehle ich Ihnen stark, sich an

If you do want to call Google API’s, I would strongly recommend looking at zu wenden. Von dort aus können Sie leicht erkennen, welche APIs Sie aufrufen könnenMit Offline-Zugriff mit Ihrem eigenen Backend

Wenn Sie Google __CAPGO_KEEP_0__ aufrufen möchten, empfehle ich Ihnen stark, sich an

Abschnitt mit dem Titel “Offline-Zugriff mit Ihrem eigenen Backend verwenden”

Um den Offline-Zugriff zu verwenden, benötigen Sie Folgendes:

  • Eine HTTP-Serviceliste

In diesem Beispiel verwende ich die folgenden Technologien, um den Offline-Zugriff in meiner App bereitzustellen:

Die code für dieses Beispiel finden Sie hier

As für den Client code, sieht er so aus:

import { Capacitor } from '@capacitor/core';
import { GoogleLoginOfflineResponse, SocialLogin } from '@capgo/capacitor-social-login';
import { usePopoutStore } from '@/popoutStore'; // <-- specific to my app
const baseURL = "[redacted]";
async function fullLogin() {
await SocialLogin.initialize({
google: {
webClientId: '[redacted]',
iOSClientId: '[redacted]',
iOSServerClientId: 'The same value as webClientId',
mode: 'offline' // <-- important
}
})
const response = await SocialLogin.login({
provider: 'google',
options: {
forceRefreshToken: true // <-- important
}
})
if (response.provider === 'google') {
const result = response.result as GoogleLoginOfflineResponse
const res = await fetch(`${baseURL}/auth/google_offline`, {
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
serverAuthCode: result.serverAuthCode,
platform: Capacitor.getPlatform()
}),
method: "POST"
})
if (res.status !== 200) {
popoutStore.popout("Full google login failed", "check console");
return
}
const { jwt } = await res.json();
const userinfo = await fetch(`${baseURL}/auth/get_google_user`, {
headers: {
Authorization: `Bearer ${jwt}`
}
})
if (userinfo.status !== 200) {
popoutStore.popout("Full google (userinfo) login failed", "check console");
return
}
popoutStore.popout("userinfo res", await userinfo.text());
}
}

Hinweis: was fehlt hier ist, dass es in der App keine SocialLogin.refresh() Anforderung gibt. Das ist bewusst. Bei Google Offline-Modus erfolgt die Aktualisierung nachdem Ihr Backend den serverAuthCode Refresh-Token sicher gespeichert hat.

Fortsetzen mit Google Login Setup

Sektion: Fortsetzen mit Google Login Setup

Wenn Sie Google Login Setup zur Planung der Authentifizierung und Account-Flüsse verwenden, verbinden Sie es mit Mit @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login zur Verwendung der native Fähigkeit in Mit @capgo/capacitor-social-login, for the native capability in Using @capgo/capacitor-social-login, @capgo/capacitor-Social-Login Für die Implementierungsdetails in @capgo/capacitor-Social-Login @capgo/capacitor-Passkey Für die Implementierungsdetails in @capgo/capacitor-Passkey @capgo/capacitor-Native-Biometrie Für die Implementierungsdetails in @capgo/capacitor-Native-Biometrie und Zwei-Faktor-Authentifizierung Für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.