Laravel y OAuth 2: Login con Facebook, Twitter, Google+, etc
4.1 (34 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
171 students enrolled

Laravel y OAuth 2: Login con Facebook, Twitter, Google+, etc

Desarrollemos un monitor de precios! Los usuarios ingresan vía redes sociales, ingresan datos y consultan reportes.
4.1 (34 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
171 students enrolled
Created by Juan Ramos
Last updated 8/2018
Spanish
Spanish [Auto]
Current price: $31.99 Original price: $49.99 Discount: 36% off
14 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 7 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Aprenderás qué es OAuth, y cómo funciona con las principales redes sociales y servicios
  • Seráz capaz de implementar un login vía redes sociales y servicios en tus proyectos Laravel
  • Conocerás y comprenderás perfectamente el funcionamiento del paquete Laravel Socialite
  • Aprenderás paso a paso cómo hacer un login vía Facebook, Twitter, Google+ (aplicable también para Youtube, Steam y muchos otros proveedores)
Course content
Expand all 45 lectures 06:47:32
+ OAuth 2
5 lectures 32:43

Breve introducción sobre lo que vamos a ver en el curso.

Preview 01:52

Visión general de lo que es OAuth 2 y los roles que participan en su funcionamiento.

¿Qué es OAuth 2 y qué roles intervienen?
08:19

Veamos un esquema general sobre cómo opera el protocolo OAuth 2.

Flujo general descrito por OAuth 2
05:46

Ahora sí veamos de forma más específica un ejemplo de todo lo que ocurre en un inicio de sesión vía redes sociales.

OAuth 2 más de cerca
08:45

Respondamos a 2 de las preguntas más usuales, que surgen al repasar el tema de OAuth 2.

Preguntas frecuentes acerca de OAuth 2
08:01
+ Laravel Socialite y login vía Facebook
11 lectures 01:29:58

Veamos de forma breve cuál es la diferencia entre ambas versiones.

¿Por qué decimos OAuth 2 y no 1?
02:43

No necesitamos una configuración muy específica pero es importante contar con un servidor web, un motor de bases de datos y un editor de texto.

Configuración del entorno
06:52

Ejecutemos las migraciones y definamos rápidamente un login básico con correo y contraseña, gracias a Laravel.

Sistema de autenticación
05:13

Veamos cómo añadir Laravel Socialiate a nuestro proyecto, y así mismo cómo podemos registrar nuestra aplicación como un OAuth Client en el portal para desarrolladores de Facebook.

Instalación y registro en Facebook for Devs
07:58

Definamos unas primeras rutas, para gestionar la redirección al OAuth Provider, y la respuesta tras la autorización otorgada por el Resource Owner.

Rutas para gestionar el login vía OAuth
06:41

¿Por qué es importante que un sitio tenga HTTPS? ¿Cómo conseguir HTTPS para producción y para un entorno local?

Importancia de HTTPS
04:15

Veamos cómo generar un certificado SSL localmente y cómo declarar un VirtualHost en Apache que haga uso de dicho certificado.

Cómo activar HTTPS de forma local
12:34

Tras definir nuestras primeras rutas de autenticación vía Facebook, en esta lección recibimos información del usuario luego de su autorización.

Autorización y callback vía Facebook
02:48

Llegó el momento de añadir un botón para el inicio de sesión vía Facebook, y así mismo de crear una cuenta de usuario en nuestra aplicación (en función a los datos obtenidos), para producir finalmente una autenticación exitosa.

Primer registro e inicio de sesión exitoso
22:01

En esta lección agregamos columnas a nuestra tabla de usuarios para guardar adecuadamente los datos que obtenemos desde Facebook. También empezamos a mostrar el avatar del usuario que ha iniciado sesión en la parte superior de nuestra aplicación.

Mostrar avatar (imagen de perfil)
09:11

En esta lección personalizamos un poco más la pantalla de inicio de nuestra aplicación, añadimos íconos, y definimos botones para el inicio de sesión vía Twitter y Google+.

Preview 09:42
+ Más proveedores de OAuth 2
11 lectures 01:20:52

Visitemos la página para desarrolladores de Twitter y registremos nuestra aplicación allí para que se reconozca como un OAuth client correctamente. Con esto obtendremos las credenciales que necesitamos.

Registro de app en Twitter
05:28

En esta lección realizamos lo mismo que en la lección anterior pero con relación al proveedor Google+.

Registro de app en Google+
07:22

En esta lección creamos un nuevo controlador, y dentro de él definimos rutas, para gestionar el inicio de sesión vía Twitter y también vía Google+.

Nuevas rutas para los nuevos proveedores
11:39

En la lección anterior obtuvimos un error, debido a que Twitter no nos devolvía el email como dato del usuario. En esta lección vemos cómo evitar ese error añadiendo un modificador sobre la columna correspondiente.

Evitar fallo por email con valor null
04:25

En esta lección modificamos el formato de nuestros VirtualHosts, con la intención de que nuestra URL de callback sea admitida por Google+.

Evitar fallo por dominio no admitido
09:06

En esta lección vamos a actualizar la URL de redireccionamiento para nuestra aplicación cliente, en las páginas para desarrolladores de Facebook y Twitter. Así mismo, añadimos un enlace hacia el formulario de registro con correo, y lo traducimos al español.

Actualizando URL de callback (Twitter y Fb)
04:33

En esta lección registramos en Twitter unas URLs correspondientes a la Política de privacidad y Condiciones del servicio, con la intención de tener acceso al email de los usuarios.

Solicitando email en Twitter
04:51

Desde esta lección vamos a empezar a actualizar los datos del usuario en el inicio de sesión. De modo que si un dato (como su avatar o nombre) se actualiza en la red social, entonces cambiará también en la aplicación.

Actualizando datos en el inicio de sesión
06:42

En esta lección analizamos ciertos inconvenientes que podríamos encontrar con el paso del tiempo (con relación al email), y vemos distintos enfoques que podemos adoptar como solución.

Detalles a tener en cuenta sobre el email
13:53

En esta lección nos organizamos y vemos cómo evitar código repetido.

Refactorización de código
09:09

En esta lección subimos un ícono asociado a nuestra aplicación, en los portales para desarrolladores, de Facebook, Twitter y Google+. Y con esto ya estamos listos para continuar, y empezar a desarrollar la aplicación Monitor de precios.

Íconos para nuestra aplicación cliente
03:44
+ Monitor de precios
15 lectures 02:45:14

Veamos qué es lo que vamos a estar desarrollando sobre nuestro proyecto de Laravel.

Preview 05:59

En esta lección implementamos una sección para gestionar las ubicaciones. Esta información se usará posteriormente al cargar precios.

Gestión de ubicaciones
18:19

En esta lección implementamos la gestión de ítems, y así mismo vemos cómo implementar un filtro de búsqueda en base al nombre. También vemos cómo conservar el filtro si navegamos entre las páginas de resultados.

Gestión de ítems
20:12

Veamos cómo definir y registrar un middleware nuevo en nuestra aplicación Laravel.

Middleware y Roles de usuario
12:31

¿Cómo mostrar opciones sólo para administradores?

Dropdown: Enlaces según rol
02:46

Diseñamos el formulario y lo dejamos listo para implementar en la lección siguiente.

Cargar valores de ítems (diseño)
09:11

Veamos cómo registrar precios asociados a los ítems y ubicaciones, y así mismo cómo asociar ello con el usuario que está realizando el registro, de forma segura.

Cargar valores de ítems (funcionalidad)
12:37

Veamos cómo asociar el modelo Price con los modelos Location, Item y User.

Relaciones entre modelos
09:35

Ahora sí empezamos a desarrollar nuestra sección de monitorio de precios.

Monitor: Listar, paginar y filtrar ítems
14:45

Veamos cómo calcular el valor más bajo registrado para cada ítem en la última semana añadiendo un método al modelo Item.

Monitor: Valor más bajo registrado
05:22

Veamos cómo generar enlaces con parámetros get adjuntos, y cómo aprovechar esto para mostrar detalles de un ítem seleccionado.

Monitor: Mostrar detalles (valores cargados)
11:20

Veamos cómo eliminar valores cargados, y cómo permitir esto sólo a administradores.

Monitor: Eliminar valores cargados (admin)
04:11

En esta lección implementamos SoftDeletes sobre los modelos Item y Location. Sin embargo al final nos encontramos con un inconveniente en las relaciones.

Eliminación lógica (Items y Locations)
09:47

Veamos cómo acceder de un objeto a otro a través de una relación, incluso si el segundo ha sido eliminado de forma lógica.

Relaciones considerando SoftDeletes
02:54

En esta lección implementamos la descarga de información a través de un archivo Excel. También vemos cómo implementar esto de forma óptima usando Eager Loading.

Exportar detalles (generar descarga XLSX)
25:45
+ Mejoras
3 lectures 38:45

Veamos cómo eliminar de forma física o lógica, según convenga. Aplicamos esto a nuestras tablas fuertes, y no a nuestras tablas con dependencias.

Eliminación condicionada (física y lógica)
07:09

Veamos cómo editar ubicaciones e ítems.

Edición de ubicaciones e ítems
15:57

En esta lección vemos cómo habilitar la búsqueda sobre nuestras listas desplegables (select).

Select con búsqueda
15:39
Requirements
  • Únicamente necesitas muchas ganas de aprender
Description

Este es un curso muy puntual acerca de Laravel y OAuth 2.

La intención es que puedas conocer de cerca qué es y cómo funciona OAuth 2.

Para ello implementamos un inicio de sesión vía:

  • Facebook

  • Twitter

  • Google+

Para esto hacemos uso del paquete Laravel Socialite, que nos permitirá implementar un inicio de sesión con el servicio que creamos conveniente (existen muchos más proveedores de OAuth además de los mencionados, que también son soportados, tales como: Steam, Coursera, Dailymotion, Digital Ocean, Reddit, Slack, Spotify, Twitch, Vimeo, Weibo, Youtube, Uber).

Como un adicional vemos también cómo generar reportes en formato CSV, cómo filtrar datos en tablas y listas desplegables, y cómo devolver resultados paginados sin perder el filtro activo.

Who this course is for:
  • Personas interesadas en implementar unn login con redes sociales
  • Desarrolladores interesados en conocer más sobre OAuth 2 como mecanismo de autorización