Integração Google Sign-In com Parse em React Native
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.
Para completar este tutorial, você precisará:
Para construir um recurso de Login de Usuário usando o Google Sign-in no Parse para um aplicativo React Native.
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:
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.
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.
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.

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.

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

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.
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.

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.