Validación de Usuarios con OAUTH de Twitter con PHP

Escrito por: el 06-05-2011 16:26:30 y leído 2576 veces

Validación de Usuarios con OAUTH de Twitter con PHP

El siguiente es un ejemplo de como puedes utilizar un sistema de autenticación de usuarios mediante su cuenta de Twitter. Realmente no le veo mucha utilidad en sistemas con registros de usuarios pero sí para comentarios u otros sistemas que no necesiten más datos de los que puede facilitarte twitter.

Todo comienza con una serie de pasos que detallo a continuación. Donde la clave de todo es crear una aplicación en Twitter que hará de lanzadera, obtener unas key del centro de developers de twitter y utilizar alguna de las librerías que Twitter mismo te ofrece.

En este caso usaremos una que utiliza json y, luego de loguearnos mostraremos por pantalla algunos datos públicos de tu cuenta de Twitter.

Importante. La aplicación que creé en Twitter para esta demo, sólo tiene permisos de lectura, es decir, que mi aplicación no hará que me sigas (pero si quieres seguirme, mi twitter es @martinigleu), no publicará tweets en tu timeline, no te robará amigos ni la cuenta bancaria (es broma) ni nada más que obtener los mismos datos que podría obtener mirando tu perfil en twitter (el cual es público), por lo que la puedes probar sin miedos. Tampoco almaceno dato alguno de los que obtengo.

Pasos previos:
Si deseas que los usuarios de tu web se logueen con twitter debes seguir un par de pasos muy importantes.

  • Tu hosting debe tener la extensión "extension=php_curl.dll" activada en la configuración de PHP. Puedes consultarlo haciendo un phpinfo()
  • Obtener la $consumer_key de Twitter y la $consumer_secret. Para esto, debes registrar una aplicación en Twitter, desde este enlace.
  • Importante: al registrar tu aplicación en Twitter, debes indicarle la url de retorno, es decir, una vez logueado en Twitter, éste redirigirá al usuario a la dirección que indiques.
  • Permisos: Twitter te preguntará que clase de permisos requieres para tu aplicación. Puede ser de lectura o lectura/escritura. Si es lectura, el sistema solo podrá recoger de Twitter tu nombre, ubicación y número de seguidores. Si es de lectura/escritura, podrá, además de todo esto, publicar tweets en tu nombre.
  • Descargar la librería de login para Twitter de https://dev.twitter.com/pages/libraries#php (la usada en este ejemplo está en https://github.com/jmathai/twitter-async)

Vamos a ello.
Realmente es muy fácil y se obtienen muchísimos datos, hasta los colores de fondo que utiliza, pero si quieres ver todo, basta con hacer un print_r($user) y verás lo completo que es el array que te devuelve Twitter.

Demo.
Lo dicho, prueba la demo que te dejo aquí... no te costará nada ;)

Código PHP

session_start();

include 'lib/EpiCurl.php';
include 'lib/EpiOAuth.php';
include 'lib/EpiTwitter.php';

$consumer_key = 'UmA0XpqpVsQkOExLGVXRg';
$consumer_secret = 'KNoZRALF5TJ7qWYzSpujE4nNPH0jD4ZypRAbgBl0';

$twitterObj = new EpiTwitter($consumer_key, $consumer_secret);

$error = null;

$login = '<a href="' . $twitterObj->getAuthorizationUrl() . '"><img src="https://si0.twimg.com/images/dev/buttons/sign-in-with-twitter-l.png"/></a>';

if (isset($_GET['oauth_token']) || ( isset($_SESSION['oauth_token']) && isset($_SESSION['oauth_token_secret']) )){
    //Acceso
    if (!isset($_SESSION['oauth_token']) || !isset($_SESSION['oauth_token_secret'])){
        //Viene de twitter
        $twitterObj->setToken($_GET['oauth_token']);
        $token = $twitterObj->getAccessToken();
        $_SESSION['oauth_token'] = $token->oauth_token;
        $_SESSION['oauth_token_secret'] = $token->oauth_token_secret;

        $twitterObj->setToken($token->oauth_token, $token->oauth_token_secret);
    } else {
        //Ya nos dio acceso
        $twitterObj->setToken($_SESSION['oauth_token'], $_SESSION['oauth_token_secret']);
    }
    $user = $twitterObj->get_accountVerify_credentials();
	
    $datos = "<strong>Tu nombre es:</strong><br >$user->name (@$user->screen_name)<br /><br /><strong>Tienes:</strong><br />$user->followers_count seguidores<br /><br /><strong>Sigues a:</strong><br />$user->friends_count amigos<br /><br /><strong>Te encuentras en:</strong><br />$user->location<br /><br /><strong>Tu foto es:</strong><br /><img src='$user->profile_image_url' /><br /><br /><strong>Tu descripci&oacute;n es:</strong><br />$user->description<br /><br /><strong>Tu &uacute;ltimo Tweet fue:</strong><br />".$user->status["text"]."<br /><br />";
    
} elseif (isset($_GET['denied'])){
    $error = 'Debes permitir acceso a tu cuenta de twitter';
}

Código PHP

if (isset($_GET['oauth_token'])
                        || ( isset($_SESSION['oauth_token'])
                                && isset($_SESSION['oauth_token_secret']) )){

                                    echo $datos;
                                }
                                else {
                                    echo $login;
                                }

                        echo $error;

[Descargar Adjunto]

Categorías: TwitterOauthPhpJson

Artículos relacionados:

100 Búsquedas de este artículo:

sign in with twitter phplibrería epioauthhacer un login para tu aplicacion twitter phpvalidar cuenta twitteraplicacion twitter phpleer tweets con twitter oauth phptwitter oauth php 2011martin iglesias twitterlibrerias twitter phpAutentificar usuarios con Twitter OauthTWITTER OAUTH phpobtener el token de twitter despues del logueovalidar con reitereoauth php ejemploautentificacion oauth twitter phptwitter developer obtener datos usuariocomo hacer login con twittersistema phpobtener tokens usuario twitteroauth twitterbot #ff twitter #pválidación de tweetcomo autentificar mi twittervalidar cuenta con json twitwertwitter oauth php loginoauth php twitterseguidores oauth twitteroauth twitter mediante popup dialog jqueryphp oauth twitter listado followerscodigo de twitter en phpvalidacion-de-usuarios-con-oauth-de-twitter-con-php2ejemplo OAuth twitter php foto perfilTwitter OAuth con PHPdireccion para autenticar una aplicacion de twittertwitter php ejemploacceso twitter epitwittercrea una aplicación con autentificación en tu página de twitterimagenes de twittervalidar twitter phpvalidacion de usuarios en un sistemaobtener email con login twitterSeguir a usuario en Twitter con phptutorial aplicacion twitter en phpObtener OauThaplicacion php json twittervalidacion usuarios twitterqué es válidar un tweetjquery y twitter autenticarscript registro usuarios php validacion email 2011$twitterObj-&gt;getAuthorizationUrl callbackregistrarse con twitter phpvalidar usuario twittermostrar datos usuario twitter oauthtutorial twitter oauth javaphp oauthregistro twitter phpejemplos de validar el usuariotwitter php oauth 2011validacion de twittertwitter oauth demo phptwitter oauthvalidar privilegios del login en phpregistrarme en oauthobtener token facebook phpautenticacion de usuarios con twittertwitter registro con php mi webautentificar twitter phptwitter login permissosseguir despues de registrarse twitter oauth websistema de autentificacion de usuarios phpsistema de validacion de usuarios en phppusuarios twitter phpoauth twitter permisosloguearse usando twitter phpconfigurar oauth de twitter$twitterobj-&gt;settoken($_get[oauth_token]);funcion php datos usuario twittersign in with twitterpermitir oauth phpsistema oauth phpvalidacion oauthcomo hacer una autenticacion de usuarios en php y jquerypublicar twitter php oauth 11/2011envio twitter librería oauth-phppublicar en facebook y twitter phpvalidacion de cuenta de twittervalidar usuarios con twittertwitter como sistema de autenticación phpvalidar una direccion de facebook phpcomo validar un token en phpaplicacion twitter php publicarcomo publicar en usuarios de twitter desde phptwitter validar cuentaoauth twitter androidoauth twitter phpphp twitter oauth 2011twitter oauth instalarphp autentificar con twittertwitteroauth php validar usuariosfacebook oauth php amigos

Nube de Tags

acordeón actionscript ajax alert ampliar imágenes android antes y después as audio aumentar letra barra desplazamiento blur bordes redondeados botón derecho calcular distancia calendario chart chrome collapse columnas combobox contar caracteres contar followers contextual css cu3er códigos date-picker descargas desenfoque desplazamiento dhtml disminuir letra dominios editor enlaces enlaces externos error 404 estrellitas expander fade fecha file upload filtrar contenido flash font size formulario formularios fotografías fpdf frames framework galería gmail google google docs gratis headers htaccess html html5 iconos ie6 igualar columnas inyección cabeceras ipad iphone javascript jquery jquery ui jquery,jquery ui,datepicker,calendario,eventos jquery,jquery ui,select múltiple,option json lavalamp librería librerías lightbox limitar caracteres link links lista listas listbox mail injection maquetación marcos mensajes menu menú menú lateral miniaturas mootools mouseover mp3 multinivel mysql máscaras móvil navegadores no conflict notas adhesivas notificaciones oauth ofuscador ordenar organigrama pdf php phpmailer picker player playlist plugin png portfolio preview reproductor reproductor de música safari scroll scrollto select selector de color sistema de votación slider snippets spam star rating subir ficheros switch mode tablas tamaño texto target blank textarea thumbnail tooltip twitter usuarios activos validacion validación validate videos vtip wap webkit www wysiwyg youtube zoom

Los 20 posts más populares

Usuarios Conectados...

Hay 15 usuario/s en esta página

Traduce esta página

Eso que hay que poner...

© 2012 Martin Iglesias
Todos los derechos reservados

BlocketPCSubflashADWE

Creative Commons License

Suscribete a mi RSS

Humans TXT

Mis ultimos tweets