React Native
...
Parse SDK (REST)
Users

Integração Google Sign-In com Parse em React Native

9min

Entrar com o Google para React Native

Introdução

No último tutorial, você construiu um recurso de login/logout de Usuário para seu App usando a Parse.User classe. Agora você aprenderá como usar o Google Sign-in para recuperar dados do usuário do Google e fazer login, se inscrever ou vincular usuários existentes a ele. Você também instalará e configurará a react-native-google-signin biblioteca para alcançar isso.

O Parse.User.linkWith método é responsável por inscrever e fazer login de usuários usando qualquer método de autenticação de terceiros, desde que você passe os parâmetros corretos solicitados por cada provedor diferente. Após vincular os dados do usuário a um novo ou existente Parse.User, o Parse armazenará uma sessão de usuário válida em seu dispositivo. Chamadas futuras a métodos como currentAsync recuperarão com sucesso os dados do seu Usuário, assim como em logins regulares.

A qualquer momento, você pode acessar este projeto através de nossos repositórios do GitHub para conferir os estilos e o código completo.

Pré-requisitos

Para completar este tutorial, você precisará:

Objetivo

Para construir um recurso de Login de Usuário usando o Google Sign-in no Parse para um aplicativo React Native.

1 - Instalando dependências

A maneira mais popular de habilitar o Google Sign-in no React Native é usando react-native-google-signin para gerenciá-lo. Como a configuração desta biblioteca depende do seu ambiente de desenvolvimento, plataforma alvo e preferências, configure-a seguindo a documentação oficial.

Depois disso, certifique-se de que o arquivo principal do seu aplicativo (App.js ou App.tsx) está corretamente inicializando e configurando GoogleSignin assim:

App.tsx/App.js


2 - Usando o Google Sign-in com Parse

Agora vamos criar um novo método dentro do UserLogIn componente chamando o modal de autenticação do Google Sign-in com GoogleSignin.signIn. Se o usuário fizer login com o Google, essa chamada irá recuperar os dados do usuário do Google e você precisará armazenar o id, idToken e o e-mail do Google para mais tarde.

JavaScript
TypeScript


Depois disso, você pode usar Parse.User.linkWith em um novo Parse.User objeto para registrar um novo usuário e fazer login. Note que se seu usuário já tiver se inscrito usando esta autenticação do Google, linkWith fará o login usando a conta existente.

JavaScript
TypeScript


Adicione esta função ao seu UserSignIn componente e atribua-a ao seu botão do Google onPress. Vá em frente e teste sua nova função. Observe que o usuário será redirecionado para a sua tela inicial após se registrar e/ou fazer login com sucesso.

Document image


3 - Verificando o login do usuário e a criação de sessão

Para ter certeza de que o login do Google funcionou, você pode olhar para o seu painel do Parse e ver seu novo Usuário (se os dados de autenticação do Google não pertenciam a outro usuário), contendo os authData parâmetros.

Document image


Você também pode verificar se uma sessão válida foi criada no painel, contendo um ponteiro para aquele Usuário objeto.

Document image


4 - Vinculando um usuário existente ao Google Sign-in

Outro linkWith uso possível é vincular um usuário existente a outro provedor de autenticação, neste caso, o Google. Adicione esta função que chama linkWith da mesma forma que você fez em UserLogIn para o seu HelloUser componente ou diretamente para a sua tela inicial. A única diferença aqui é que, em vez de chamar o método de um Parse.User, você o usará a partir do objeto do usuário logado.

JavaScript
TypeScript


Atribua esta função a um botão do Google onPress no seu tela inicial. Teste sua nova função, observando que o Parse.User objeto authData será atualizado com os novos dados do provedor de autenticação. Verifique se o usuário realmente foi atualizado no seu painel do servidor Parse.

Document image


Conclusão

No final deste guia, você aprendeu como fazer login, se inscrever ou vincular usuários Parse existentes no React Native usando o Google Sign-in com react-native-google-signin. No próximo guia, mostraremos como realizar consultas úteis de usuários.