Aviso
Este plug-in está agora em baixo modo de manutenção, para novos recursos, como gerente de credenciais ou manifesto de privacidade, use: https://github.com/cap-go/capacitor-social-login
@codetrix-studio/capacitor-google-auth
Capacitor 6
Capacitor Plugin para o Google Auth.
Na versão V6, clientId no método Initialize é usado em prioridade em relação a outros lugares que você pode configurar. Se antes de você estar usando isso apenas na web, não deixe de móvel. Ou defina -o condicionalmente para replicar comportamento antigo.
Os PRs são bem -vindos e muito apreciados que mantêm esse plug -in atualizado com o capacitor e a paridade oficial da Biblioteca da Plataforma do Google Auth.
Tente seguir boas práticas de código. Você pode até ajudar a manter a demonstração incluída atualizada.
Os PRs para recursos que não estão alinhados com a biblioteca oficial do Google Auth são desencorajados.
(Somos para iniciantes aqui)
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 updateSe precisar migrar para diferentes versões do capacitor, consulte a instrução para migrar o plug -in para a nova versão.
Registre o plug -in e inicialize manualmente
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 ,
} ) ;ou se precisar usar meta tags (opcional):
< meta name =" google-signin-client_id " content =" {your client id here} " />
< meta name =" google-signin-scope " content =" profile email " /> clientId - o ID do cliente do aplicativo, encontrado e criado no console do Google Developers.scopes - o mesmo que configurar escoposgrantOfflineAccess - booleano, padrão false , defina se o seu aplicativo precisar atualizar os tokens de acesso quando o usuário não estiver presente no navegador.Use -o
GoogleAuth . signIn ( ) ; init gancho
// app.component.ts
constructor ( ) {
this . initializeApp ( ) ;
}
initializeApp ( ) {
this . platform . ready ( ) . then ( ( ) => {
GoogleAuth . initialize ( )
} )
}Função de entrada
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 >Ou veja mais capacitorgoogleauth-vue3-expler
Crie no Google Cloud Console Credencial Client ID para iOS e obtenha o ID do cliente e o esquema de URL iOS
Adicione o identificador REVERSED_CLIENT_ID como esquemas de URL ao Info.plist do iOS URL Scheme
(Xcode: App - Targets/App - Informações - Tipos de URL, clique em Plus Icon)
Defina o ID do cliente, uma das maneiras (por ordem de importância no plug -in):
clientId no InicializariosClientId em capacitor.config.jsonclientId em capacitor.config.jsonCLIENT_ID em GoogleService-Info.plistDefina o ID do cliente (por ordem de importância no plug -in):
clientId no InicializarandroidClientId em capacitor.config.jsonclientId em capacitor.config.jsonserver_client_id em strings.xml < resources >
< string name = " server_client_id " >Your Web Client Key</ string >
</ resources >Alterar a versão de autenticação de serviços de reprodução (opcional):
Este plug-in usa com.google.android.gms:play-services-auth:21.2.0 Por padrão, você pode substituí-lo fornecendo gmsPlayServicesAuthVersion em variables.gradle
Método de atualização
Esse método deve ser chamado quando o aplicativo for inicializado para estabelecer se o usuário estiver atualmente conectado. Se true, o método retornará um accessToken, IdToken e um refreshToken vazio.
checkLoggedIn ( ) {
GoogleAuth . refresh ( )
. then ( ( data ) => {
if ( data . accessToken ) {
this . currentTokens = data ;
}
} )
. catch ( ( error ) => {
if ( error . type === 'userLoggedOut' ) {
this . signin ( )
}
} ) ;
} | Nome | Tipo | Descrição |
|---|---|---|
| cliente | corda | O ID do cliente do aplicativo, encontrado e criado no console do Google Developers. |
| iosclientid | corda | Chave de ID do cliente específica para iOS |
| AndroidClientId | corda | Chave de ID do cliente específica para Android |
| escopos | corda[] | Escopos que você pode precisar solicitar para acessar o Google APIs https://developers.google.com/identity/protocols/oauth2/scopes |
| ServerClientId | corda | Este clientID usado para acesso offline e manuseio lateral do servidor |
| forceCodeForRefreshToken | booleano | Forçar o usuário a selecionar o endereço de email para regenerar o AuthCode Usado para obter um refreshToken válido (trabalho no iOS e Android) |
Forneça configuração no capacitor.config.json root.config.json
{
"plugins" : {
"GoogleAuth" : {
"scopes" : [ " profile " , " email " ],
"serverClientId" : " xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com " ,
"forceCodeForRefreshToken" : true
}
}
} ou em 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 . initialize(...)signIn()refresh()signOut() initialize ( options ?: InitOptions ) = > voidInicializa o GoogleAuthplugin, carregando a biblioteca GAPI e configurando o plug -in.
| Param | Tipo | Descrição |
|---|---|---|
options | InitOptions | - Opções de inicialização opcional. |
Desde: 3.1.0
signIn ( ) = > Promise < User >Inicia o processo de inscrição e retorna uma promessa que resolve com as informações do usuário.
Retornos: Promise<User>
refresh ( ) = > Promise < Authentication >Atualiza o token de autenticação e retorna uma promessa que resolve com os detalhes de autenticação atualizados.
Retornos: Promise<Authentication>
signOut ( ) = > Promise < any >Assina o usuário e retorna uma promessa.
Retornos: Promise<any>
| Prop | Tipo | Descrição | Padrão | Desde |
|---|---|---|---|---|
clientId | string | O ID do cliente do aplicativo, encontrado e criado no console do Google Developers. Comum para Android ou iOS. O padrão é definido na configuração. | 3.1.0 | |
scopes | string[] | Especifica os escopos necessários para acessar o Google APIs O padrão é definido na configuração. | 3.4.0-rc.4 | |
grantOfflineAccess | boolean | Defina se o seu aplicativo precisar atualizar os tokens de acesso quando o usuário não estiver presente no navegador. Em resposta, use a tecla serverAuthCode | false | 3.1.0 |
| Prop | Tipo | Descrição |
|---|---|---|
id | string | O identificador exclusivo para o usuário. |
email | string | O endereço de email associado ao usuário. |
name | string | O nome completo do usuário. |
familyName | string | O nome da família (sobrenome) do usuário. |
givenName | string | O nome dado (primeiro nome) do usuário. |
imageUrl | string | O URL da imagem do perfil do usuário. |
serverAuthCode | string | O código de autenticação do servidor. |
authentication | Authentication | Os detalhes da autenticação, incluindo acesso, atualização e tokens de identificação. |
| Prop | Tipo | Descrição |
|---|---|---|
accessToken | string | O token de acesso obtido durante a autenticação. |
idToken | string | O token de identificação obtido durante a autenticação. |
refreshToken | string | O token de atualização. |
Instale a versão 3.4.x:
npm i --save @codetrix-studio/capacitor-google-auth@^3.4Siga as instruções para a atualização do projeto para o capacitor 6.
Instale a versão 3.3.x:
npm i --save @codetrix-studio/capacitor-google-auth^3.3Siga as instruções para sua atualização do projeto do capacitor 4 para o capacitor 5.
para Android no arquivo MainActivity.onCreate
- this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
- add(GoogleAuth.class);
- }});
+ this.registerPlugin(GoogleAuth.class); Instale a versão 3.2.x:
npm i --save @codetrix-studio/capacitor-google-auth^3.2Siga as instruções para sua atualização do projeto do capacitor 3 para o capacitor 4.
- GoogleAuth.init()
+ GoogleAuth.initialize() Instale versão 3.xx:
npm i --save @codetrix-studio/capacitor-google-auth^3.0Depois de migrar para o Capcitor 3 atualizando seus projetos, consulte Dif:
- 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() Instale versão 2.xx:
npm i --save @codetrix-studio/capacitor-google-auth@2para capacitor 2.xx Use Instrução
Mit