OAuth con Google
Last updated
Was this helpful?
Last updated
Was this helpful?
Con este término nos referimos a aplicaciones web que requieren de la aportación de otras aplicaciones para su funcionamiento a través de API's de terceros.
Ante esta posibilidad caben dos alternativas:
Usar una API o conjunto de librerías creadas para un lenguaje determinado (php, java, .NET)
Podemos usar un servicio o API web basado en un estándar como json o xml.
Segun el estándar , 0Auth permite el acceso a aplicaciones de terceros a servicios HTTP, servicios web, o para que una aplicación acceda a un servicio web en representación del propietario del recurso.
Montar un API que gestione su acceso mediante 0Auth sería muy interesante pero por cuestiones de tiempo no ha sido posible en este curso.
Lo que sí podemos hacer es hacer uso de 0Auth como clientes. Un uso muy habitual es hacerlo para obtener las credenciales de un usuario ofrecidas por servicios de autenticación de terceros: Google, GitHub, Facebook, Twitter, ...
Vamos a permitir el acceso a nuestra aplicación de forma que sea Google quien certifique quien es el usuario que está solicitando acceso a nuestra aplicación.
Vamos a hacerlo a partir de un componente de Laravel: el paquete Socialite. Veamos como hacerlo:
Actualizar laravel. Ver manual.
Obtener credenciales google
Registrarlas en config/services.php
Activar la Google+ API en
Añadir el paquete Socialite a Laravel:
Crear el controlador SocialAuthController con artisan y añadir estos métodos
El método redirect va asociado a una ruta.
El método callback es invocado desde la ruta de callback registrada en Google
El fichero de rutas podría ser algo así:
Para completar el código del anterior controlador: