Crear un sistema de login con Google+ (OAuth)
Con este articulo quiero dar el inicio a una serie de tutoriales sobre la API de varias redes sociales como Google+, Twitter, Youtube y todas las demás que se pueda en el proceso. Para crear un sistema de login en nuestra web con Google+ debemos conocer sobre OAuth, que por definirlo de una forma muy general y rápida es un protocolo creado para interactuar fácilmente con los datos de usuario de un sitio como lo puede ser Facebook, Google, Twitter y muchos más servicios reconocidos hacen uso de OAuth.
Lo primero que debemos hacer es registrar nuestro sitio:
Posteriormente en manejar dominios se debe verificar la propiedad del dominio siguiendo los pasos:

Luego se debe crear un ID cliente en Consola de APIs, crear un nuevo proyecto y en el menú seleccionar API Access.
Finalmente deberías ver el ID del cliente y otros datos necesarios para crear una aplicación. Allí mismo en el menú ve al apartado services y activa Google+ para poder trabajar con el. Manos al código, pero antes de eso debes descargar el paquete de librerías google-api-php-client. Después de descargado en la carpeta src ve al archivo config.php y busca:
// Datos obtenidos al crear el cliente 'oauth2_client_id' => 'CLIENTE_ID', 'oauth2_client_secret' => 'SECRET', 'oauth2_redirect_uri' => 'https://brianur.info', //Datos obtenidos al verificar el dominio 'oauth_consumer_key' => 'brianur.info', 'oauth_consumer_secret' => 'JA8HUXQGKHUWc2gIbpKZUYrO ',
<?php /* Obtener datos del usuario en Google+ para crear un sistema
de login. www.BrianUR.info */
//'Incluimos' las librerías necesarias require_once 'src/apiClient.php';
require_once 'src/contrib/apiPlusService.php';
session_start();
$client = new apiClient();
$client--->setApplicationName("BrianUR.info");
$client->setScopes(array('https://www.googleapis.com/auth/plus.me'));
$plus = new apiPlusService($client);
if (isset($_REQUEST['logout'])) {
unset($_SESSION['access_token']);
}
if (isset($_GET['code'])) {
$client->authenticate();
$_SESSION['access_token'] = $client->getAccessToken();
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}
if (isset($_SESSION['access_token'])) {
$client->setAccessToken($_SESSION['access_token']);
}
if ($client->getAccessToken()) {
$yo = $plus->people->get('me');
$_SESSION['access_token'] = $client->getAccessToken();
}
else
$authUrl = $client->createAuthUrl();
if (isset($yo)) {
$_SESSION['sesion'] = $yo;
$yo = $_SESSION['sesion'];
echo "</pre>
<img src="\""" alt="" />
<pre>";
echo "<strong>Nombre:</strong> " . $yo['displayName'] . "";
echo "<strong>ID:</strong> " . $yo['id'] . "";
echo "<strong>Sexo:</strong> " . $yo['gender'] . "";
echo "<strong>Lema:</strong> " . $yo['tagline'] . "";
}
if (isset($authUrl))
echo "<a class="login" href="$authUrl">Acceder usando mi cuenta Google+</a>";
else
echo "<a class="logout" href="index.php?logout">Salir</a>";
?>
Al acceder a la aplicación debe aparecer un enlace para conectarse con Google+, luego pide permiso:
Por ultimo si todo ha salido bien debería verse los datos que pedimos, algo así:




Buen post, simple y se centra en lo principal, solo añadiría instrucciones para poner el botón de conectar con google, gracias!!