Google Login Setup
Kopieren Sie eine Einrichtungsanweisung mit den Installationsanweisungen und der vollständigen Markdown-Anleitung für diesen Plugin.
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 diesem Teil stellen Sie die Anmeldebildschirm, der von Google angezeigt wird, ein.
- 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 das richtige Projekt ausgewählt haben
- 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 ausfüllen
-
Mit der App-Informationen 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 angeben
-
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
-
- 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 Verifizierung
Differenzen zwischen Online-Zugriff und Offline-Zugriff
Abschnitt mit dem Titel “Differenzen 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 die folgenden Szenarien:
-
Sie möchten, dass sich der Benutzer anmeldet, sofort danach werden Sie ihm einen benutzerdefinierten JWT ausstellen. 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
Abschnitt mit dem Titel “Ein Beispiel-Backend für Online-Zugriff”In dieser Teile der Anleitung zeige ich Ihnen, wie Sie den Benutzer auf Ihrem Backend validieren können.
Dieses Beispiel wird sehr einfach sein und es wird 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 diese 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’s aufrufen möchten, würde ich Ihnen stark empfehlen, sich Google’s OAuth 2.0 Playgroundzuzusehen. 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 die Offline-Zugriffsfähigkeit in meiner App bereitzustellen:
-
LowDb (ein einfaches Datenbank-System)
Die code für dieses Beispiel finden Sie hier
Bei dem 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 ein SocialLogin.refresh() wird im App aufgerufen. Das ist absichtlich. In Googles Offline-Modus erfolgt die Aktualisierung nachdem Ihr Backend den Refresh-Token sicher speichert. serverAuthCode und speichert es 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 Kontenflüsse 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 Zweifaktor-Authentifizierung für die Implementierungsdetails in Zweifaktor-Authentifizierung.