Warnung
Dieses Plugin befindet sich jetzt im niedrigen Wartungsmodus, für eine neue Funktion wie Anmeldeinformationen Manager oder Privatsphäre Manifest Bitte verwenden Sie: https://github.com/cap-go/capacitor-social-login
@codetrix-studio/capacitor-google-auth
Kondensator 6
Kondensator -Plugin für Google Auth.
In der V6 -Version wird clientId in der Initialize -Methode vorrangig an anderen Stellen verwendet, die Sie einrichten können. Wenn Sie dies nur im Web verwendet haben, haben Sie es auf dem Handy ab. Oder setzen Sie es bedingt ein, um das alte Verhalten zu replizieren.
PRs sind willkommen und sehr geschätzt, um dieses Plugin über den Kondensator und die offizielle Parität der Google Auth -Plattform -Bibliothek auf dem Laufenden zu halten.
Versuchen Sie, gute Codepraktiken zu verfolgen. Sie können sogar helfen, die mitgelieferte Demo auf dem neuesten Stand zu halten.
PRs für Funktionen, die nicht mit der offiziellen Google Auth Library übereinstimmen, sind entmutigt.
(Wir sind hier anfängerfreundlich)
npm i --save @codetrix-studio/capacitor-google-auth
# pnpm
pnpm add @codetrix-studio/capacitor-google-auth
# yarn
yarn add @codetrix-studio/capacitor-google-authnpx cap updateBei Bedarf migrieren Sie zu verschiedenen Kondensatorversionen, siehe Anweisungen zum Migrieren von Plugin in eine neue Version.
Registrieren Sie Plugin und initialisieren Sie manuell
import { GoogleAuth } from '@codetrix-studio/capacitor-google-auth' ;
// use hook after platform dom ready
GoogleAuth . initialize ( {
clientId : 'CLIENT_ID.apps.googleusercontent.com' ,
scopes : [ 'profile' , 'email' ] ,
grantOfflineAccess : true ,
} ) ;oder bei Verwendung von Meta -Tags (optional):
< meta name =" google-signin-client_id " content =" {your client id here} " />
< meta name =" google-signin-scope " content =" profile email " /> clientId - Die Client -ID der App, die in der Google Developers -Konsole gefunden und erstellt wurde.scopes - wie konfigurieren ScopesgrantOfflineAccess - Boolean, Standard false , festgelegt, wenn Ihre Anwendung Zugriffstoken aktualisieren muss, wenn der Benutzer nicht im Browser anwesend ist.Benutze es
GoogleAuth . signIn ( ) ; Init Hook
// app.component.ts
constructor ( ) {
this . initializeApp ( ) ;
}
initializeApp ( ) {
this . platform . ready ( ) . then ( ( ) => {
GoogleAuth . initialize ( )
} )
}in der Funktion anmelden
import { GoogleAuth } from "@codetrix-studio/capacitor-google-auth" ;
import { Auth , GoogleAuthProvider , signInWithCredential } from '@angular/fire/auth' ;
async googleSignIn ( ) {
let googleUser = await GoogleAuth . signIn ( ) ;
/*
If you use Firebase you can forward and use the logged in Google user like this:
*/
constructor ( private auth : Auth ) { }
const googleUser = await GoogleAuth . signIn ( ) ;
const _credential = GoogleAuthProvider . credential ( googleUser . authentication . idToken ) ;
return signInWithCredential ( this . auth , _credential ) ;
} < script setup lang="ts">
import { defineComponent , onMounted } from ' vue ' ;
import { GoogleAuth } from ' @codetrix-studio/capacitor-google-auth ' ;
onMounted (() => {
GoogleAuth . initialize ();
});
async function logIn() {
const response = await GoogleAuth . signIn ();
console . log ( response );
}
</ script >Oder sehen Sie mehr CapacitorgoogleAUTh-VUE3-Example
Erstellen Sie in der Google Cloud Console -Anmeldeinformations -Client -ID für iOS und holen Sie sich die Client -ID- und iOS -URL -Schema ab
Identifier REVERSED_CLIENT_ID als URL -Schema zu Info.plist aus dem iOS -URL -Schema hinzufügen
(Xcode: App - Ziele/App - Info - URL -Typen, klicken Sie auf Plus Symbol)
Setzen Sie die Client -ID auf einen der Möglichkeiten (nach Wichtigkeit im Plugin):
clientId in der initialisierenden Methode festiosClientId in capacitor.config.jsonclientId in capacitor.config.jsonCLIENT_ID in GoogleService-Info.plistSetzen Sie die Client -ID (nach Wichtigkeit im Plugin):
clientId in der initialisierenden Methode festandroidClientId in capacitor.config.jsonclientId in capacitor.config.jsonserver_client_id in strings.xml < resources >
< string name = " server_client_id " >Your Web Client Key</ string >
</ resources >Änderung der Play Services Auth Version (optional):
Dieses Plugin verwendet com.google.android.gms:play-services-auth:21.2.0 standardmäßig können Sie es überschreiben, gmsPlayServicesAuthVersion bei variables.gradle
Aktualisierungsmethode
Diese Methode sollte aufgerufen werden, wenn die App initialisiert wird, um festzustellen, ob der Benutzer derzeit angemeldet ist. Wenn wahr, gibt die Methode eine AccessToken, idToken und ein leeres Aktualisierung zurück.
checkLoggedIn ( ) {
GoogleAuth . refresh ( )
. then ( ( data ) => {
if ( data . accessToken ) {
this . currentTokens = data ;
}
} )
. catch ( ( error ) => {
if ( error . type === 'userLoggedOut' ) {
this . signin ( )
}
} ) ;
} | Name | Typ | Beschreibung |
|---|---|---|
| ClientID | Saite | Die Client -ID der App, die in der Google Developers -Konsole gefunden und erstellt wurde. |
| iosclientid | Saite | Spezifischer Client -ID -Schlüssel für iOS |
| Androidclientid | Saite | Spezifischer Client -ID -Schlüssel für Android |
| Bereiche | String [] | Scopes, die Sie möglicherweise anfordern müssen, um auf Google APIs zuzugreifen https://developers.google.com/identity/protocols/oauth2/scopes |
| serverclientid | Saite | Diese ClientID wird für Offline -Zugriff und Server -Seitenbearbeitung verwendet |
| FORCECODEFORREFRESHTOOKE | boolean | Zwingen Sie den Benutzer, die E -Mail -Adresse auszuwählen, um die AuthCode zu regenerieren Wird verwendet, um eine gültige Refreshtoken zu erhalten (Arbeit auf iOS und Android) |
Geben Sie eine Konfiguration in Root capacitor.config.json an
{
"plugins" : {
"GoogleAuth" : {
"scopes" : [ " profile " , " email " ],
"serverClientId" : " xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com " ,
"forceCodeForRefreshToken" : true
}
}
} oder in capacitor.config.ts
/// <reference types="'@codetrix-studio/capacitor-google-auth'" />
const config : CapacitorConfig = {
plugins : {
GoogleAuth : {
scopes : [ 'profile' , 'email' ] ,
serverClientId : 'xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com' ,
forceCodeForRefreshToken : true ,
} ,
} ,
} ;
export default config ; initialize -Funktion konfiguriert werden. initialize(...)signIn()refresh()signOut() initialize ( options ?: InitOptions ) = > voidInitialisiert das GoogleAuthplugin, laden Sie die Gapi -Bibliothek und stellen Sie das Plugin ein.
| Param | Typ | Beschreibung |
|---|---|---|
options | InitOptions | - Optionale Initialisierungsoptionen. |
Da: 3.1.0
signIn ( ) = > Promise < User >Initiiert den Anmeldungsprozess und gibt ein Versprechen zurück, das mit den Benutzerinformationen auflöst.
Rückgabe: Promise<User>
refresh ( ) = > Promise < Authentication >Aktualisiert das Authentifizierungs -Token und gibt ein Versprechen zurück, das mit den aktualisierten Authentifizierungsdetails aufgelöst wird.
Rückgaben: Promise<Authentication>
signOut ( ) = > Promise < any >Unterzeichnet den Benutzer heraus und gibt ein Versprechen zurück.
Rückgaben: Promise<any>
| Stütze | Typ | Beschreibung | Standard | Seit |
|---|---|---|---|---|
clientId | string | Die Client -ID der App, die in der Google Developers -Konsole gefunden und erstellt wurde. Gemeinsam für Android oder iOS. Die Standardeinstellung ist in der Konfiguration definiert. | 3.1.0 | |
scopes | string[] | Gibt die für den Zugriff auf Google APIs erforderlichen Bereiche an. Der Standard ist in der Konfiguration definiert. | 3.4.0-rc.4 | |
grantOfflineAccess | boolean | Stellen Sie fest, ob Ihre Anwendung Zugriffstoken aktualisieren muss, wenn der Benutzer nicht im Browser vorhanden ist. Verwenden Sie als Antwort den serverAuthCode -Schlüssel | false | 3.1.0 |
| Stütze | Typ | Beschreibung |
|---|---|---|
id | string | Die eindeutige Kennung für den Benutzer. |
email | string | Die dem Benutzer zugeordnete E -Mail -Adresse. |
name | string | Der vollständige Name des Benutzers. |
familyName | string | Der Familienname (Nachname) des Benutzers. |
givenName | string | Der Vorname (Vorname) des Benutzers. |
imageUrl | string | Die URL des Profilbildes des Benutzers. |
serverAuthCode | string | Der Serverauthentifizierungscode. |
authentication | Authentication | Die Authentifizierungsdetails einschließlich Zugriffs-, Aktualisierungs- und ID -Token. |
| Stütze | Typ | Beschreibung |
|---|---|---|
accessToken | string | Das während der Authentifizierung erhaltene Zugangstoken. |
idToken | string | Der ID -Token, der während der Authentifizierung erhalten wurde. |
refreshToken | string | Der Refresh -Token. |
Installieren Sie Version 3.4.x:
npm i --save @codetrix-studio/capacitor-google-auth@^3.4Befolgen Sie die Anweisungen für Ihr Projektaktualisierung an Kondensator 6.
Version 3.3.x installieren:
npm i --save @codetrix-studio/capacitor-google-auth^3.3Befolgen Sie die Anweisungen für die Aktualisierung von Projekten von Kondensator 4 an Kondensator 5.
für Android in der Datei MainActivity.onCreate
- this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
- add(GoogleAuth.class);
- }});
+ this.registerPlugin(GoogleAuth.class); Version 3.2.x installieren:
npm i --save @codetrix-studio/capacitor-google-auth^3.2Befolgen Sie die Anweisungen für die Aktualisierung von Projekten von Kondensator 3 an Kondensator 4.
- GoogleAuth.init()
+ GoogleAuth.initialize() Version 3.xx installieren:
npm i --save @codetrix-studio/capacitor-google-auth^3.0Nach der Migration zu Capcitor 3 aktualisieren Sie Ihre Projekte, siehe Diff:
- import "@codetrix-studio/capacitor-google-auth";
- import { Plugins } from '@capacitor/core';
+ import { GoogleAuth } from '@codetrix-studio/capacitor-google-auth'
- Plugins.GoogleAuth.signIn();
+ GoogleAuth.init()
+ GoogleAuth.signIn() Installieren Sie Version 2.xx:
npm i --save @codetrix-studio/capacitor-google-auth@2Für Kondensator 2.xx Verwenden Sie die Anweisung
MIT