Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP

Cómo autenticar usuarios con Twitter OAuth 2.0

by
Difficulty:IntermediateLength:ShortLanguages:

Spanish (Español) translation by Elías Nicolás (you can also view the original English article)

En este tutorial, aprenderá a usar Twitter API 1.1 y OAuth 2.0 para autenticar usuarios de su aplicación y publicar un tweet de prueba.

¿Por qué necesitamos un Framework para autenticación?

Para crear servicios que actúan en nombre de las cuentas de los usuarios y hacerla realmente segura y fácil de desarrollar, necesitamos tres cosas:

  • Aplicación de Twitter
  • REST API
  • Acceso a la cuenta de usuario

Para unir las piezas en un mecanismo de trabajo, necesitamos un framework de autenticación. Como un estándar de Twitter, la API REST identifica las aplicaciones de Twitter y los usuarios que utilizan OAuth.

¿Qué es OAuth?

Según oauth.net, OAuth es:

Un protocolo abierto que permite la autorización segura en un método simple y estándar desde aplicaciones web, móviles y de escritorio.

OAuth es el marco de autorización más común hoy en día, y se utiliza en la mayoría de las aplicaciones y servicios web comunes, como GitHub, Google, Facebook y, por supuesto, Twitter.

Este framework permite a los usuarios concederle permiso para actuar en su nombre sin compartir la contraseña de la cuenta. Después de que el usuario haya dado permiso, OAuth le devolverá un token. Este símbolo por sí mismo concede acceso para realizar solicitudes en nombre del usuario.

Los tokens de Twitter no tienen un tiempo de caducidad, pero pueden llegar a ser inválidos después de que el usuario haya rechazado su aplicación. Además, la tripulación de Twitter puede suspender su aplicación si está excediendo los límites o realizando otras acciones que violen los Términos de la API. Puede revisar estos términos para obtener más información sobre violaciones específicas.

Crea tu aplicación

Como primer paso, necesitamos crear una nueva aplicación de Twitter. Creemos una nueva aplicación en la página application management.

Twitter Apps

Después de iniciar sesión, debe hacer clic en el botón Create New App y rellenar el formulario con los detalles de su aplicación: nombre, descripción, sitio web y URL de devolución de llamada.

¿Qué es la URL de devolución de llamada? Cuando los usuarios aceptan nuestra aplicación para usar su cuenta, el navegador los entregará a esta URL con el verificador de OAuth en GET. Y usaremos este verificador para obtener el token de acceso de usuario.

Create an application

Aviso: No olvide reemplazar el sitio web y la URL de devolución de llamada con su dominio público cuando comparta su aplicación con usuarios reales.

Después de rellenar el formulario, puede firmar el Acuerdo del desarrollador y hacer clic en el botón Submit (Enviar) para crear su aplicación.

OAuth Test Homepage

¡Felicitaciones! Ahora tiene acceso a una página donde puede ver los detalles y editar la configuración de su nueva aplicación, cambiar los permisos y administrar las claves y los tokens de acceso. Vaya a la pestaña Keys and Access Tokens y busque la Consumer Key y el Consumer Secret. Los utilizaremos en breve.

Empieza a programar

Elegir una libreria

Antes de comenzar a codificar, tenemos que elegir una libreria para trabajar con Twitter API y Oauth 2.0. Puede obtener una visión general de las bibliotecas existentes en la página de desarrolladores de Twitter. En este tutorial utilizaré TwitterOAuth como el más popular y fácil de usar. Podemos instalarlo desde la línea de comandos con Composer:

El archivo de configuración

Vamos a crear un nuevo archivo llamado config.php para almacenar todos los datos estáticos. Especifique los siguientes detalles en su aplicación.

Iniciar Script de inicio de sesión

Ahora cree un nuevo archivo llamado twitter_login.php e incluya Autoload de Composer, biblioteca de TwitterOAuth, inicie sesión e importe la configuración de nuestra aplicación desde el archivo de configuración.

Solicitud de autenticación

En esta parte necesitamos solicitar al usuario que autorice nuestra aplicación. Para alcanzar este objetivo, crearemos un objeto de la clase TwitterOAuth, solicitaremos un token de la aplicación de la API de Twitter, obtendremos la URL de la página de autorización mediante este token y redirigiremos al usuario a esta página.

Anote que estamos guardando tokens de aplicación en la sesión, porque los necesitaremos en el siguiente paso.

Ahora puede ejecutar el script en el navegador y, si todo va bien, será redirigido a la página de la API de Twitter con algo como esto:

Twitter Authorization

Se le redirigirá a la URL de devolución de llamada haciendo clic en el botón Autorizar la aplicación. Pero no tan rápido, primero necesitamos crear un script de devolución de llamada.

Obtener el token de usuario

Nuestro siguiente paso es crear una secuencia de comandos de devolución de llamada. Vamos a crear un nuevo archivo llamado twitter_callback.php e incluir la biblioteca  TwitterOAuth, el archivo de configuración y la sesión de inicio como lo hicimos en la parte anterior.

A continuación, comprobaremos si hemos recibido un parámetro verificador de autenticación de la API de Twitter. Si algo falta, vamos a redirigir al usuario para iniciar sesión de nuevo.

El siguiente paso es conectarse a la API de Twitter con el token de aplicación y solicitar un token de usuario mediante el verificador de OAuth:

Y ahora tiene el token de usuario almacenado en la variable $token.

Cómo utilizar este Token

Podemos usar este token para actuar en nombre de la cuenta del usuario. Podemos almacenarla en la sesión o guardarla en la base de datos para administrar la cuenta de usuario la próxima vez sin solicitar permiso. Para conectarse a la API de Twitter con el token de usuario, sólo tiene que hacer esto:

Como publicar un tweet

Para crear un nuevo tweet de la cuenta del usuario, necesitamos añadir un pequeño fragmento de código:

También puede obtener detalles del estado de la respuesta de la API almacenada en la variable $status.

Finalmente, estamos listos para probar nuestro script.

Sample Tweet

Conclusion

Como puede ver, crear una aplicación de Twitter no es tan difícil. Ahora tienes todas las características de la API a utilizar: se pueden crear nuevos tweets, subir imagenes y videos, gestión de amistades y así sucesivamente.

Tenga en cuenta que ahora puede recopilar tokens OAuth y tiene gran poder para actuar en nombre de sus usuarios. Pero con gran poder viene una gran responsabilidad—es por eso que necesita para manejar esta situación con gracia y servir a una experiencia de usuario de calidad.

Si tiene preguntas o comentarios, no dude en publicarlos en la sección de comentarios. Estaré esperando con interés e intentaré responder a cada uno de sus comentarios.

Lectura adicional y enlaces relacionados

Tenga en cuenta que he preparado un proyecto completo para este tutorial en GitHub, y usted puede echar un vistazo a él con un enlace en el lado derecho del sitio o utilizando este enlace.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.