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.

Lo que aprenderás al seguir este curso
  • Aprenderás qué es OAuth, y cómo funciona con las principales redes sociales y servicios
  • Serás 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)
Este curso es dedicado a

Personas interesadas en implementar un login con redes sociales

Desarrolladores interesados en conocer más sobre OAuth 2 como mecanismo de autorización

Requisitos

Únicamente necesitas muchas ganas de aprender

Contenido del curso

01

Vista previa disponible

1 Introducción 01:52

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


02

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

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


03

3 Flujo general descrito por OAuth 2 05:46

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


04

4 OAuth 2 más de cerca 08:45

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.


05

5 Preguntas frecuentes acerca de OAuth 2 08:01

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

+1 recurso asociado a esta clase

06

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

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


07

7 Configuración del entorno 06:52

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.


08

8 Sistema de autenticación 05:13

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


09

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

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


10

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

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


11

11 Importancia de HTTPS 04:15

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


12

12 Cómo activar HTTPS de forma local 12:34

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

+1 recurso asociado a esta clase


13

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

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.


14

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

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.


15

15 Mostrar avatar (imagen de perfil) 09:11

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.


16

Vista previa disponible

16 Íconos y botones de login adicionales 09:42

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+.

17

17 Facebook Login y Laravel UI 17:21

Veamos cómo agregar un sistema de autenticación a un proyecto Laravel nuevo, y cómo obtener las credenciales de Facebook para implementar un inicio de sesión usando Laravel Socialite.

18

18 Registro de app en Twitter 05:28

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.


19

19 Registro de app en Google+ 07:22

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


20

20 Nuevas rutas para los nuevos proveedores 11:39

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+.


21

21 Evitar fallo por email con valor null 04:25

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.


22

22 Evitar fallo por dominio no admitido 09:06

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


23

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

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.


24

24 Solicitando email en Twitter 04:51

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.


25

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

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.


26

26 Detalles a tener en cuenta sobre el email 13:53

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.


27

27 Refactorización de código 09:09

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


28

28 Íconos para nuestra aplicación cliente 03:44

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.

29

Vista previa disponible

29 Mockups y planteamiento inicial 05:59

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


30

30 Gestión de ubicaciones 18:19

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

+1 recurso asociado a esta clase


31

31 Gestión de ítems 20:12

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.


32

32 Middleware y Roles de usuario 12:31

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


33

33 Dropdown: Enlaces según rol 02:46

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



34

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

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


35

35 Cargar valores de ítems (funcionalidad) 12:37

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.


36

36 Relaciones entre modelos 09:35

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


37

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

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

+1 recurso asociado a esta clase


38

38 Monitor: Valor más bajo registrado 05:22

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.


39

39 Monitor: Mostrar detalles (valores cargados) 11:20

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


40

40 Monitor: Eliminar valores cargados (admin) 04:11

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


41

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

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


42

42 Relaciones considerando SoftDeletes 02:54

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.


43

43 Exportar detalles (generar descarga XLSX) 25:45

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.

+1 recurso asociado a esta clase

44

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

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.


45

45 Edición de ubicaciones e ítems 15:57

Veamos cómo editar ubicaciones e ítems.


46

46 Select con búsqueda 15:39

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

+1 recurso asociado a esta clase

Preguntas frecuentes

Con una membresía premium obtienes acceso a todos los cursos de la plataforma, incluyendo este.

Como usuario premium tendrás acceso a la sección de preguntas y respuestas de la plataforma.

En nuestro foro privado, el 100% de las preguntas reciben respuesta 🙂.

Los pagos se pueden realizar vía PayPal o con tarjeta (crédito o débito).

Escríbenos a [email protected] si deseas coordinar otro medio de pago.

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

Esta serie consta de 46 capítulos.

Nivel de dificultad: Aprendiz.

Recuerda que debes iniciar sesión para llevar un control de tu progreso.

¿Aún no te has registrado?

Regístrate y mide tu progreso!


¿Te gustaría compartir este curso?

Antes que te vayas

Inscríbete en nuestro curso gratuito de Laravel