Google Login Einrichtung
Eine Einrichtungsanweisung mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
Einführung
Abschnitt mit dem Titel „Einführung“In diesem Leitfaden lernen Sie, wie Sie Google Login mit Capgo Social Login einrichten. Sie benötigen die folgenden Informationen, um Google Login einzurichten:
- Eine Google-Konto
Allgemeine Einstellungen
Abschnitt mit dem Titel „Allgemeine Einstellungen“In dieser Teilschritte einrichten Sie die Anmeldebildschirm, der von Google angezeigt wird.
- Bitte gehen Sie zu console.cloud.google.com
- Klicken Sie auf den Projektselector
- If Sie keinen Projekt bereits 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 auf dem richtigen Projekt befinden
- Klicken Sie auf
- Beginnen Sie mit der Konfiguration des
OAuth consent screen-
Klicken Sie auf die Suchleiste
-
Nach
OAuth consent screenund klicken Sie darauf
-
Die Zustimmungsanzeige konfigurieren
Auf
create
-
- Die Informationen über Ihre App eintragen
-
Beginnen wir mit der
App Information
- Bitte geben Sie Ihren
App Name - Geben Sie den
user support email
-
Sie KÖNNEN den App-Logo hinzufügen.
-
Sie SOLLTE die
App domain
-
Sie MUSSEN den E-Mail-Adresse des Entwicklers
-
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 und klicken Sie
update
-
Klicken Sie
save and continue
-
- Hinzufügen eines Testnutzers
- Klicken Sie auf
add users
- Geben Sie Ihre Google-E-Mail ein, klicken Sie auf Enter und klicken Sie dann
add
- Klicken Sie
save and continue
- Klicken Sie auf
- Klicken Sie
back to dashboard
- Bewerben Sie Ihre App zur Überprüfung
Unterschiede zwischen Online-Zugriff und Offline-Zugriff
Abschnitt mit dem Titel „Unterschiede zwischen Online-Zugriff und Offline-Zugriff“Es gibt mehrere Möglichkeiten, Google Login mit Capacitor zu verwenden. Hier ist eine 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, welches Sie wählen sollten, überlegen Sie bitte folgende Szenarien:
-
Sie möchten, dass der Benutzer sich anmeldet, sofort danach erhalten Sie ihm einen benutzerdefinierten JWT. Ihre App wird NICHT Google APIs aufrufen
In diesem Fall wählen Sie Online-Zugriff.
-
Ihre App ruft einige Google APIs vom Client aus, aber nie vom Backend
In diesem Fall wählen Sie Online-Zugriff
-
Ihre App ruft einige Google APIs vom Backend aus, aber nur dann, wenn der Benutzer aktiv mit der App arbeitet
In diesem Fall wählen Sie Online-Zugriff
-
Ihre App überprüft periodisch den Kalender des Benutzers, auch wenn er nicht aktiv mit der App arbeitet
In diesem Fall wählen Sie Offline-Zugriff
Eine Beispiel-Backend für Online-Zugriff
Sektion mit dem Titel “Ein Beispiel-Backend für Online-Zugriff”In dieser Teilausgabe der Anleitung 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 die code für dieses Beispiel hier
Wie Sie sehen können:
The idea is rather simple. You send a simple GET Anfrage an https://www.googleapis.com/oauth2/v3/tokeninfo und dies gibt Ihnen 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
Von dort aus könnten Sie dem Benutzer Ihren eigenen JWT oder eine Art Sitzungskochnie ausstellen. Die Möglichkeiten sind endlos, für die endgültige Auth-Implementierung
Wenn Sie Google API aufrufen möchten, würde ich Ihnen stark empfehlen, sich Google’s OAuth 2.0 Playgroundzu schauen. Von dort aus können Sie leicht erkennen, welche APIs Sie aufrufen 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:
- Einen HTTP-Server
In diesem Beispiel werde ich die folgenden Technologien verwenden, um den Offline-Zugriff in meiner App bereitzustellen:
-
LowDb (ein einfaches Datenbank-System)
Die code für dieses Beispiel finden Sie hier
Beim Client code sieht es 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()); }}Beachten Sie, was hier fehlt: Es fehlt die SocialLogin.refresh() wird im App aufgerufen. Das ist absichtlich. In Googles Offline-Modus erfolgt die Aktualisierung nachdem Ihr Backend den Refresh-Token austauscht und sicher speichert. serverAuthCode und speichert den Refresh-Token sicher.
Weitermachen von Google Login Setup
Abschnitt mit dem Titel “Weitermachen von Google Login Setup”Wenn Sie " Google Login Setup " zur Planung der Authentifizierung und der Kontoflows verwenden, verbinden Sie es mit " Using @capgo/capacitor-social-login für die native Fähigkeit in Using @capgo/capacitor-social-login, " Using @capgo/capacitor-social-login für die Implementierungsdetails in Using @capgo/capacitor-social-login, " Using @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.