Login com Facebook em seu site (SDK – PHP) Versão Atualizada

Login com Facebook: Se você deseja criar seu Aplicativo no Facebook ou atualizar seu aplicativo, visite o site do Facebook para Desenvolvedores: https://developers.facebook.com/

Lá você encontra informações sobre produtos, documentação, ferramentas, suporte e notícias para pessoas que querem desenvolver aplicativos no facebook.

Para criar ou atualizar um aplicativo é simples:

– Clique em adicionar um novo aplicativo;
– Escreva o nome do aplicativo e e-mail de contato.
– Selecione o produto Login do Facebook
– Selecione uma plataforma para começar: iOS, Android, Web ou Outra Plataforma.
– Caso selecione a plataforma Web digite a URL do seu site.
– Em configurações do Login do Facebook digite a URLs de redirecionamento do Auth válidos (pode ser a URL do seu site).
– Em Painel você verá:
– A Versão da API (A mais recente até o momento é a versão 2.9, as versões anteriores podem não funcionar)
– O ID do Aplicativo (Cada Aplicativo possui um número único)
– Chave Secreta do Aplicativo (Com essa chave seu aplicativo vai ter acesso ao produto do Facebook)
– Em Configuração básica, você pode adicionar o domínio do aplicativo, colocar a url da Política de Privacidade e do Termos de Serviço
– Em Configuração avançada, você pode permitir acesso da API às configurações do aplicativo
– Leia a Política da Plataforma do Facebook para conhecer as regras: https://developers.facebook.com/policy/?locale=pt_BR

A documentação de cada SDK (Software Development Kit ou – Kit de Desenvolvimento de Software/Aplicativos)

– SDK para Android: https://developers.facebook.com/docs/android
– SDK para iOS: https://developers.facebook.com/docs/ios
– Swift SDK: https://developers.facebook.com/docs/swift
– SDK nativo de reação: https://developers.facebook.com/docs/react-native
– SDK para JavaScript: https://developers.facebook.com/docs/javascript
– SDK para PHP: https://developers.facebook.com/docs/reference/php
– SDK do tvOS: https://developers.facebook.com/docs/tvos
– SDK do Unity: https://developers.facebook.com/docs/unity
– Outros SDKs: https://developers.facebook.com/docs/apis-and-sdks#third-party-sdks

Leia a documentação, instale os pacotes em seu servidor ou crie seus códigos dependendo do seu  nível de programação ou conhecimentos.

Você vai obter o App ID (Código do Aplicativo) e você pode acessar o Dashboard (Painel de Controle) de seu aplicativo: https://developers.facebook.com/apps/{App ID}/dashboard/

No Dashboard você pode vê o Logotipo, Nome, App ID, API Version (Versão da Interface de Programação de Aplicação Facebook) e App Secret (Senha do App ID, onde no seu código irá colocar para validar o acesso do app).

Em Settings (Configurações – https://developers.facebook.com/apps/{App ID}/settings/) é dividido em básico e avançado.

Nas configurações básicas você pode inserir um e-mail de contato e site.

Em configurações avanças é possível colocar restrições em seu aplicativo: se contém álcool, se permite descoberta social, idade e país. Receber notificações de atualização por e-mail. Redefinir Client Token.

OAuth é um protocolo de autorização de padrão aberto que permite que terceiros acessem os dados do usuário sem precisar saberem a senha dele.

Em vez de usuários compartilhando suas senhas diretamente em um aplicativo, o OAuth serve como uma “chave de manobrista” que os aplicativos usam para acessar os dados de um usuário em seu lugar.

Um exemplo de Configurações de Cliente OAuth:

– Client OAuth Settings: Yes (Permite o fluxo de token cliente OAuth padrão. Garantir a sua aplicação e evitar o abuso bloqueando o qual token redirecionar URIs são permitidos com as opções abaixo. Desativar globalmente se não for usado).
– Web OAuth Login: Yes (Permite baseado na Web OAuth Login do cliente para a construção de fluxos de login personalizada).
– Force Web OAuth Reauthentication: No (Quando ligado, leva as pessoas a digitar sua senha do Facebook, a fim de fazer login na web).
– Embedded Browser OAuth Login: Yes (Permite o controle navegador uri redirecionamento para OAuth login do cliente.).
– Valid OAuth redirect URIs: Site válido.

Referência de permissões – Login com Facebook (scope):

Cada permissão tem seu próprio conjunto de requisitos e casos de uso sugeridas.

Algumas permissões não necessitam de revisão (como é o caso do email, public_profile e user_friends), mas a maioria, tem que enviar qual permissão você precisa e preencher uma lista com informações o que você vai fazer e mostrar como fará.

Por favor, veja os detalhes para cada permissão para saber mais sobre como usá-lo em seu aplicativo.

Lembre-se, todo o uso dessas permissões estão sujeitos às nossas políticas da plataforma e sua própria política de privacidade. Para conhecer quais podem ser os tipos de permissões acesse: https://developers.facebook.com/docs/facebook-login/permissions

Referência Graph API – Esta é uma lista completa dos nós de raiz API Gráfico.

A principal diferença entre um nó raiz e um nó não-raiz é que nós raiz podem ser consultadas diretamente, enquanto nós não raiz pode ser consultado via nós raiz ou bordas.

Se você quer aprender como usar a API Graph, leia o nosso guia Usando Graph API, e se você quiser saber quais APIs pode resolver algumas questões frequentes, experimente o nosso guia cenários comuns. Para vê acessse: https://developers.facebook.com/docs/graph-api/reference

Graph API Explorer – Antes de colocar a mão na massa, você pode testar com essa ferramenta na web, escolher uma permissão para ler e vê o resulto gerado. No link: https://developers.facebook.com/tools/explorer/

É possível obter informações sobre:

Usuário, livros, fitness, música, notícias, vídeos, aniversário, histórico da educação, eventos, amigos, jogos, cidade natal, gostos, localização, grupos, fotos, postagens, detalhes de relacionamento, relações, política, religião, estado, lugares marcados, vídeos, site e histórico de trabalho.

Exemplo de código na web para permitir o aplicativo acessar informações do usuário usando https://github.com/facebook/php-graph-sdk :

<?php

require_once ‘php-graph-sdk-5.5/src/Facebook/autoload.php’;

$fb = new Facebook\Facebook([
‘app_id’ => ‘{Id do Aplicativo}’,
‘app_secret’ => ‘{Chave Secreta do Aplicativo}’,
‘default_graph_version’ => ‘v2.9’
]);

$helper = $fb->getRedirectLoginHelper();

$permissions = [‘email’];
$loginUrl = $helper->getLoginUrl(‘http://www.seusite.com.br/fb-callback.php‘, $permissions);

echo ‘<a href=”‘ . htmlspecialchars($loginUrl) . ‘”>
<button type=”button”>Facebook</button>
</a>’;

?>

Exemplo de código php para pegar informações sobre o usuário fb-callback.php :

<?php

if (!session_id()) {
session_start();
}

require_once ‘php-graph-sdk-5.5/src/Facebook/autoload.php’;

$fb = new Facebook\Facebook([
‘app_id’ => ‘{Id do Aplicativo}’,
‘app_secret’ => ‘{Chave Secreta do Aplicativo}’,
‘default_graph_version’ => ‘v2.9’
]);

$helper = $fb->getRedirectLoginHelper();

if (isset($_GET[‘state’])) {
$helper->getPersistentDataHandler()->set(‘state’, $_GET[‘state’]);
}

try {
$accessToken = $helper->getAccessToken();
if ($accessToken !== null) {
$Response = $fb->get(‘/me?fields=email,first_name,gender,id,last_name,link,name’, $accessToken);
print_r($Response->getGraphUser());

$user = $Response->getGraphUser();

$email = $user->getEmail();
$first_name = $user->getFirstName();
$gender = $user->getGender();
$id = $user->getId();
$last_name = $user->getLastName();
$link = $user->getLink();
$name = $user->getName();

}
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo ‘Graph returned an error: ‘ . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo ‘Facebook SDK returned an error: ‘ . $e->getMessage();
exit;
}

?>

Em Configurações de aplicativos você pode vê a lista de aplicativos conectado com o Facebook ou anonimamente. Informações como:

Logotipo, nome aplicativo. Podendo editar configurações ou remover. Você pode acessar a lista de aplicativos que você deu permissão em: https://www.facebook.com/settings?tab=applications

Bruno Seabra

Bruno Seabra

Sobre o Convidado

Bruno Seabra Carneiro é de Manaus-AM, tem 30 anos, Bacharel em Ciência da Computação na UFAM.

E-mail: ideiasfera@gmail.com

Facebook: https://www.facebook.com/ideiasfera

Compartilhe:

Talita Lombardi

Talita Lombardi é Fundadora e CEO da PrestigyME, agência de conteúdo & influenciadores. Possui mais de 17 anos de experiência no mercado B2B e é fundadora das marcas Menina Executiva e StartupsStars. Também escreveu o ebook de vendas SalesThinkng e o livro infanto-juvenil Jessica Rainbow. Talita é considerada referência nas áreas de empreendedorismo, vendas e startups no país.

Artigos relacionados