✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como adicionar o login do Google OAuth a um site com PHP

49

Se você estiver executando um site onde um usuário pode se registrar, você pode adicionar o recurso de login do Google OAuth. O login do Google em sites adiciona um processo de registro fácil para os usuários. Seus usuários podem usar a conta do Google para se inscrever no seu site. Eles não precisam preencher seu formulário de registro, ativar sua conta por e-mail, etc.

Neste artigo, estudamos como adicionar o recurso de login do Google OAuth ao seu site.

Obtenha suas credenciais

Para começar a usar a API de login do Google, primeiro você precisa criar um projeto no Google e obter suas credenciais. Abaixo estão as etapas que você deve executar para criar o projeto Google.

  • Vá para o Google Developer Console.
  • Clique no menu suspenso e crie um novo projeto clicando no sinal (+). Como alternativa, você também pode selecionar o projeto existente.
  • Selecione seu projeto e clique em ‘HABILITAR APIS E SERVIÇOS’. Na caixa de pesquisa, digite ‘Google+’ e selecione a API do Google+. Habilitá-lo.
  • Volte ao painel do seu projeto e selecione Credenciais na barra lateral.
  • Na guia Credenciais, clique na lista suspensa Criar credenciais e selecione ID do cliente OAuth.
  • Selecione o aplicativo da Web em Tipo de aplicativo. Nos URLs de redirecionamento autorizados, insira o URLYOUR_DOMAIN_URL/index.php
  • Depois de salvá-lo, você obterá a caixa de diálogo junto com seu ID de cliente e o segredo do cliente. Copie essas chaves que serão exigidas nas próximas etapas.

Você pode notar o URL de redirecionamento que definimos no aplicativo. Neste tutorial, lidaremos com o código de retorno de chamada no index.php. Os usuários são livres para usar qualquer outro arquivo para esta finalidade.

Instalação da Biblioteca HybridAuth

HybridAuth é uma biblioteca PHP de login social de código aberto. Usando esta biblioteca, podemos adicionar um login social para um ou vários provedores como Google, Facebook, Twitter, etc.

Como adicionar o login do Google OAuth a um site com PHP

Vamos instalar a biblioteca HybridAuth usando um compositor. Crie um composer.jsonarquivo na pasta raiz do projeto e adicione o código abaixo nele.

{
    "require": {
        "hybridauth/hybridauth": "~3.0"
    }
}

Em seguida, abra o terminal no diretório raiz do seu projeto e execute o comando:

composer install

Crie o config.phparquivo e adicione o código abaixo nele para configurar o login do Google.

<?php
require_once 'vendor/autoload.php';
 
$config = [
    'callback' => 'YOUR_DOMAIN_URL/index.php',
    'keys'     => [
                    'id' => 'YOUR_CLIENT_ID',
                    'secret' => 'YOUR_CLIENT_SECRET'
                ],
    'scope'    => 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email',
    'authorize_url_parameters' => [
            'approval_prompt' => 'force', // to pass only when you need to acquire a new refresh token.
            'access_type' => 'offline'
    ]
];
 
$adapter = new HybridauthProviderGoogle( $config );

Certifique-se de substituir os marcadores de posição pelos valores reais. No código acima, passamos YOUR_DOMAIN_URL/index.phpcomo um valor de retorno de chamada. Ajuste este caminho de acordo com sua necessidade.

Adicionar login do Google OAuth

Estamos todos prontos com nossas configurações e pronto para ir em frente. Então, vamos criar arquivos index.phpe logout.phpno diretório raiz do seu projeto.

index.php

<?php
require_once 'config.php';
 
try {
    $adapter->authenticate();
    $userProfile = $adapter->getUserProfile();
    print_r($userProfile);
    echo '<a href="logout.php">Logout</a>';
}
catch( Exception $e ){
    echo $e->getMessage() ;
}

Agora, quando você executa index.phpno navegador, nosso código primeiro verifica se o usuário está autenticado com ‘Google’ ou não. Caso contrário, ele redireciona para a página de login do Google. O usuário deve fazer login com sua conta do Google e, em seguida, redirecionará para o index.phpnovamente. Quando o usuário chega à página de login, obtemos o perfil do usuário usando o método getUserProfile().

No logout.phparquivo, só precisamos desconectar o adaptador do Google.

logout.php

<?php
require_once 'config.php';
 
try {
    if ($adapter->isConnected()) {
        $adapter->disconnect();
        echo 'Logged out the user';
        echo '<p><a href="index.php">Login</a></p>';
    }
}
catch( Exception $e ){
    echo $e->getMessage() ;
}

Esperamos que você possa aprender sobre o login do Google OAuth em um site com PHP. Por favor, compartilhe suas idéias na seção de comentários abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação