Google-Anmeldeverfahren einrichten
Eine Voreinstellung mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
Einführung
Abschnitt mit dem Titel „Einführung“In dieser Anleitung lernen Sie, wie Sie Google Login mit Capgo Social Login einrichten. Um Google Login einzurichten, benötigen Sie Folgendes:
- Ein Google-Konto
Allgemeine Einstellungen
Abschnitt mit dem Titel „Allgemeine Einstellungen“In dieser Abschnitt wird die Anmeldung durch Google konfiguriert.
- Bitte gehen Sie zu console.cloud.google.com
- Klicken Sie auf den Projektselector
- Wenn Sie noch keinen Projekt haben, bitte ein neues Projekt erstellen.
- Klicken Sie auf
New project
- Benennen Sie Ihr Projekt und klicken Sie
Create
- Stellen Sie sicher, dass Sie sich im richtigen Projekt befinden
- Klicken Sie auf
- Beginnen Sie mit der Konfiguration des
OAuth consent screen-
Klicken Sie auf die Suchleiste
-
Suchen Sie nach
OAuth consent screenund klicken Sie darauf
-
Konfigurieren Sie die Konsent-Schirm
Klicken Sie auf
create
-
- Füllen Sie die Informationen über Ihre App
-
Lassen Sie uns mit der
App Information
- Bitte geben Sie Ihren
App Name - Geben Sie ein
user support email
-
Sie KÖNNEN den App-Logo hinzufügen.
-
Sie SOLLTE die
App domain
-
Sie MUSSEN den E-Mail-Adresse des Entwicklers im
-
Klicken Sie auf
save and continue
- Bitte geben Sie Ihren
-
- Konfigurieren Sie die Berechtigungen
-
Klicken Sie auf
add or remove scopes
-
Wählen Sie die folgenden Berechtigungen aus und klicken Sie
update
-
Klicken Sie
save and continue
-
- Einen Testbenutzer hinzufügen
- Klicken Sie auf
add users
- Geben Sie Ihre Google-E-Mail ein, drücken Sie Enter und klicken Sie
add
- Klicken Sie
save and continue
- Klicken Sie auf
- Klicken Sie
back to dashboard
- Bewerben Sie Ihre App zur Verifizierung
Unterschiede zwischen Online-Zugriff und Offline-Zugriff
Abschnitt: Unterschiede zwischen Online-Zugriff und Offline-ZugriffEs gibt mehrere Möglichkeiten, Google Login mit Capacitor zu verwenden. Hier ist ein Tabelle, die die Unterschiede zwischen den beiden zusammenfasst:
| Online-Zugriff | Offline-Zugriff | |
|---|---|---|
| Benötigt einen Backend | ❌ | ✅ |
| Langzeitzugriffstoken | ❌ | ✅ |
| Einfache Einrichtung | ✅ | ❌ |
Wenn Sie immer noch nicht wissen, welche Sie wählen sollten, überlegen Sie bitte folgende Szenarien:
-
Der Benutzer soll sich anmelden, und direkt danach erhalten Sie ihm einen benutzerdefinierten JWT. Ihre App ruft die Google-APIs NICHT auf.
Wählen Sie in diesem Fall den Online-Zugriff.
-
Ihre App ruft einige Google-APIs vom Client aus, aber nie vom Backend.
Wählen Sie in diesem Fall den Online-Zugriff.
-
Ihre App ruft einige Google-APIs vom Backend aus, aber nur dann, wenn der Benutzer aktiv am App-Verwendung ist.
Wählen Sie in diesem Fall den Online-Zugriff.
-
Ihre App überprüft periodisch den Kalender des Benutzers, auch wenn er nicht aktiv am App-Verwendung ist.
Wählen Sie in diesem Fall den Offline-Zugriff.
Ein Beispiel-Backend für den Online-Zugriff
Ein Beispiel-Backend für den Online-ZugriffIn diesem Teil der Anleitung zeige ich Ihnen, wie Sie den Benutzer auf Ihrem Backend validieren.
Dieses Beispiel wird sehr einfach sein und auf folgenden Technologien basieren: __CAPGO_KEEP_0__
Sie finden die code für dieses Beispiel hier
Wie Sie sehen können:
Die Idee ist eigentlich sehr einfach. Sie senden eine einfache GET Anfrage an https://www.googleapis.com/oauth2/v3/tokeninfo 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 auch einige andere Informationen über den Benutzer-Token
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 API’s anrufen möchten, empfehle ich Ihnen, sich an Google’s OAuth 2.0-SpielplatzDort können Sie leicht erkennen, welche APIs aufgerufen werden können.
Mit Offline-Zugriff mit Ihrem eigenen Backend
Abschnitt mit dem Titel ‘Mit Offline-Zugriff mit Ihrem eigenen Backend’Um Offline-Zugriff zu verwenden, benötigen Sie Folgendes:
- Ein HTTP-Server
Bei diesem Beispiel werde ich die folgenden Technologien verwenden, um den Offline-Zugriff in meiner App bereitzustellen:
-
LowDb (eine einfache Datenbank)
Die code für dieses Beispiel finden Sie hier
Beachten Sie sich den Client code an:
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()); }}Beachten Sie, was hier fehlt: es gibt keine SocialLogin.refresh() Aufruf in der App. Das ist absichtlich. In Googles Offline-Modus erfolgt die Aktualisierung nachdem Ihr Backend den serverAuthCode Refresh-Token sicher gespeichert hat.