Curso de Laravel 5
Curso de Laravel 5
¡INSCRÍBETE A CUALQUIER CURSO CON UN 50% DE DESCUENTO PARA NUEVOS CLIENTES!

Vamos a ver como utilizar Oauth2 en laravel 4, ésto ya lo vimos en este tutorial, pero esta vez lo vamos a hacer implementando la autentificación con la api de google, algo que en muchas aplicaciones puede ser útil, no siempre sólo queremos utilizar twitter y facebook para la autentificación, ¿por qué no tener una tercera opción?.

En el ejemplo crearemos un servidor virtual y la aplicación de google con las configuraciones necesarias, una vez hecho, cogeremos las claves que nos proporciona la api y las utilizaremos para hacer la autentificación en nuestra aplicación, empecemos.

Crear la aplicación de google

Lo primero que debemos hacer es dirigirnos a este tutorial y seguir los pasos, la única diferencia es que la consola de la api ha cambiado, pero si nos fijamos, al final de la página pone Volver a la consola original, así que pulsamos y seguimos la explicación. Lo único que debemos cambiar en nuestro caso son las urls, en Home Page URL ponemos http://laraveloauth2.com y en Authorized Redirect URIs deberemos poner http://laraveloauth2.com/home/session/google, ésto es así porque http://laraveloauth2.com será la ruta de nuestro servidor virtual.

Una vez obtenidas las claves, podemos hacer la instalación de laravel.

Crear el proyecto

Como esto ya está explicado en la web lo más sencillo es para el que tenga dudas ir al tutorial y ponerle de nombre http://laraveloauth2.com, que es como le llamaremos para este ejemplo, una vez hecho, podemos seguir con el tutorial.

Para poder utilizar Oauth2 en laravel 4, primero debemos instalar un vendor, este es uno de los muchos que hay. Para esto abrimos el archivo que hay en la raíz llamado composer.json y modificamos la clave require para que quede de la siguiente forma.

Una vez hecho, nos podemos dirigir de nuevo a la terminal y escribimos:

Con esto ya tenemos listos todos los archivos que necesitamos, sólo hay un pequeño problema, y es referido al archivo que se encuentra en vendor/madewithlove/laravel-oauth2/src/OAuth2/Provider/google.php, parece ser que hay un problema con la llamada al espacio de nombres y con los datos que recibe a la petición de google, así que eliminamos todo el código y lo sustituimos por el siguiente, el cuál he probado y testeado y funciona perfectamente.

Ahora podemos abrir el archivo routes.php y añadimos el siguiente código para redirigir correctamente el controlador.

Finalmente abrimos el archivo Controllers/HomeController.php y lo eliminamos para colocar el siguiente código.

Y ya tenemos todo el trabajo hecho, si hemos seguido todos los pasos correctamente, al dirigirnos a http://laraveloauth2.com/home/session/google debemos ver como google nos pide autorización, y si aceptamos, veremos el volcado de los datos del en pantalla del usuario que hemos autorizado.