{"id":27375,"date":"2021-05-14T15:41:00","date_gmt":"2021-05-14T12:41:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27375"},"modified":"2021-10-18T04:14:23","modified_gmt":"2021-10-18T01:14:23","slug":"como-adicionar-o-login-do-google-oauth-a-um-site-com-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pt-pt\/como-adicionar-o-login-do-google-oauth-a-um-site-com-php\/","title":{"rendered":"Como adicionar o login do Google OAuth a um site com PHP"},"content":{"rendered":"<p>Se voc\u00ea estiver executando um site onde um usu\u00e1rio pode se registrar, voc\u00ea pode adicionar o recurso de login do Google OAuth. O login do Google em sites adiciona um processo de registro f\u00e1cil para os usu\u00e1rios. Seus usu\u00e1rios podem usar a conta do Google para se inscrever no seu site. Eles n\u00e3o precisam preencher seu formul\u00e1rio de registro, ativar sua conta por e-mail, etc.<\/p>\n<p>Neste artigo, estudamos como adicionar o recurso de login do Google OAuth ao seu site.<\/p>\n<h3>Obtenha suas credenciais<\/h3>\n<p>Para come\u00e7ar a usar a API de login do Google, primeiro voc\u00ea precisa criar um projeto no Google e obter suas credenciais. Abaixo est\u00e3o as etapas que voc\u00ea deve executar para criar o projeto Google.<\/p>\n<ul>\n<li>V\u00e1 para o <a href=\"https:\/\/console.developers.google.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Google Developer Console<\/a>.<\/li>\n<li>Clique no menu suspenso e crie um novo projeto clicando no sinal (+). Como alternativa, voc\u00ea tamb\u00e9m pode selecionar o projeto existente.<\/li>\n<li>Selecione seu projeto e clique em &#8216;HABILITAR APIS E SERVI\u00c7OS&#8217;. Na caixa de pesquisa, digite &#8216;Google+&#8217; e selecione a API do Google+. Habilit\u00e1-lo.<\/li>\n<li>Volte ao painel do seu projeto e selecione Credenciais na barra lateral.<\/li>\n<li>Na guia Credenciais, clique na lista suspensa Criar credenciais e selecione ID do cliente OAuth.<\/li>\n<li>Selecione o aplicativo da Web em Tipo de aplicativo. Nos URLs de redirecionamento autorizados, insira o URL<code>YOUR_DOMAIN_URL\/index.php<\/code><\/li>\n<li>Depois de salv\u00e1-lo, voc\u00ea obter\u00e1 a caixa de di\u00e1logo junto com seu ID de cliente e o segredo do cliente. Copie essas chaves que ser\u00e3o exigidas nas pr\u00f3ximas etapas.<\/li>\n<\/ul>\n<p>Voc\u00ea pode notar o URL de redirecionamento que definimos no aplicativo. Neste tutorial, lidaremos com o c\u00f3digo de retorno de chamada no <code>index.php<\/code>. Os usu\u00e1rios s\u00e3o livres para usar qualquer outro arquivo para esta finalidade.<\/p>\n<h3>Instala\u00e7\u00e3o da Biblioteca HybridAuth<\/h3>\n<p><a href=\"https:\/\/hybridauth.github.io\/index.html\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">HybridAuth<\/a> \u00e9 uma biblioteca PHP de login social de c\u00f3digo aberto. Usando esta biblioteca, podemos adicionar um login social para um ou v\u00e1rios provedores como Google, Facebook, Twitter, etc.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20615-60820ed8509b3.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20615-60820ed8509b3.png\" alt=\"Como adicionar o login do Google OAuth a um site com PHP\" ><\/a><\/p>\n<p>Vamos instalar a biblioteca HybridAuth usando um compositor. Crie um <code>composer.json<\/code>arquivo na pasta raiz do projeto e adicione o c\u00f3digo abaixo nele.<\/p>\n<pre><code>{\n\u00a0\u00a0\u00a0\u00a0\"require\": {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"hybridauth\/hybridauth\": \"~3.0\"\n\u00a0\u00a0\u00a0\u00a0}\n}<\/code><\/pre>\n<p>Em seguida, abra o terminal no diret\u00f3rio raiz do seu projeto e execute o comando:<\/p>\n<pre><code>composer install<\/code><\/pre>\n<p>Crie o <code>config.php<\/code>arquivo e adicione o c\u00f3digo abaixo nele para configurar o login do Google.<\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\n$config = [\n\u00a0\u00a0\u00a0\u00a0'callback' =&gt; 'YOUR_DOMAIN_URL\/index.php',\n\u00a0\u00a0\u00a0\u00a0'keys'\u00a0\u00a0\u00a0\u00a0 =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'id' =&gt; 'YOUR_CLIENT_ID',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'secret' =&gt; 'YOUR_CLIENT_SECRET'\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0],\n\u00a0\u00a0\u00a0\u00a0'scope'\u00a0\u00a0\u00a0 =&gt; 'https:\/\/www.googleapis.com\/auth\/userinfo.profile https:\/\/www.googleapis.com\/auth\/userinfo.email',\n\u00a0\u00a0\u00a0\u00a0'authorize_url_parameters' =&gt; [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'approval_prompt' =&gt; 'force', \/\/ to pass only when you need to acquire a new refresh token.\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'access_type' =&gt; 'offline'\n\u00a0\u00a0\u00a0\u00a0]\n];\n\u00a0\n$adapter = new HybridauthProviderGoogle( $config );<\/code><\/pre>\n<p>Certifique-se de substituir os marcadores de posi\u00e7\u00e3o pelos valores reais. No c\u00f3digo acima, passamos <code>YOUR_DOMAIN_URL\/index.php<\/code>como um valor de retorno de chamada. Ajuste este caminho de acordo com sua necessidade.<\/p>\n<h3>Adicionar login do Google OAuth<\/h3>\n<p>Estamos todos prontos com nossas configura\u00e7\u00f5es e pronto para ir em frente. Ent\u00e3o, vamos criar arquivos <code>index.php<\/code>e <code>logout.php<\/code>no diret\u00f3rio raiz do seu projeto.<\/p>\n<p><strong>index.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'config.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$adapter-&gt;authenticate();\n\u00a0\u00a0\u00a0\u00a0$userProfile = $adapter-&gt;getUserProfile();\n\u00a0\u00a0\u00a0\u00a0print_r($userProfile);\n\u00a0\u00a0\u00a0\u00a0echo '&lt;a href=\"logout.php\"&gt;Logout&lt;\/a&gt;';\n}\ncatch( Exception $e ){\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage() ;\n}<\/code><\/pre>\n<p>Agora, quando voc\u00ea executa <code>index.php<\/code>no navegador, nosso c\u00f3digo primeiro verifica se o usu\u00e1rio est\u00e1 autenticado com &#8216;Google&#8217; ou n\u00e3o. Caso contr\u00e1rio, ele redireciona para a p\u00e1gina de login do Google. O usu\u00e1rio deve fazer login com sua conta do Google e, em seguida, redirecionar\u00e1 para o <code>index.php<\/code>novamente. Quando o usu\u00e1rio chega \u00e0 p\u00e1gina de login, obtemos o perfil do usu\u00e1rio usando o m\u00e9todo <code>getUserProfile()<\/code>.<\/p>\n<p>No <code>logout.php<\/code>arquivo, s\u00f3 precisamos desconectar o adaptador do Google.<\/p>\n<p><strong>logout.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'config.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0if ($adapter-&gt;isConnected()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0$adapter-&gt;disconnect();\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo 'Logged out the user';\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0echo '&lt;p&gt;&lt;a href=\"index.php\"&gt;Login&lt;\/a&gt;&lt;\/p&gt;';\n\u00a0\u00a0\u00a0\u00a0}\n}\ncatch( Exception $e ){\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage() ;\n}<\/code><\/pre>\n<p>Esperamos que voc\u00ea possa aprender sobre <strong>o login do Google OAuth<\/strong> em um site com PHP. Por favor, compartilhe suas id\u00e9ias na se\u00e7\u00e3o de coment\u00e1rios abaixo.<\/p>\n<h4>Artigos relacionados<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/login-do-google-no-laravel-usando-laravel-socialite\/\" title=\"Login do Google no Laravel usando Laravel Socialite\">Login do Google no Laravel usando Laravel Socialite<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-integrar-o-boletim-informativo-mailchimp-no-aplicativo-laravel\/\" title=\"Como integrar o boletim informativo MailChimp no aplicativo Laravel\">Como integrar o boletim informativo MailChimp no aplicativo Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pt-pt\/como-fazer-backup-do-aplicativo-laravel\/\" title=\"Como fazer backup do aplicativo Laravel\">Como fazer backup do aplicativo Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte de grava\u00e7\u00e3o:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Deseja adicionar o login do Google OAuth ao seu site? Neste artigo, mostramos como adicionar login do Google para sites usando uma biblioteca HybridAuth.<\/p>\n","protected":false},"author":1,"featured_media":22248,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[278],"tags":[848],"class_list":["post-27375","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-9","tag-affiai-pt-pt"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27375","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/comments?post=27375"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/posts\/27375\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media\/22248"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/media?parent=27375"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/categories?post=27375"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pt-pt\/wp-json\/wp\/v2\/tags?post=27375"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}