
Breve introducción sobre lo que vamos a ver en el curso.
Visión general de lo que es OAuth 2 y los roles que participan en su funcionamiento.
Veamos un esquema general sobre cómo opera el protocolo OAuth 2.
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.
Respondamos a 2 de las preguntas más usuales, que surgen al repasar el tema de OAuth 2.
Veamos de forma breve cuál es la diferencia entre ambas versiones.
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.
Ejecutemos las migraciones y definamos rápidamente un login básico con correo y contraseña, gracias a Laravel.
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.
Definamos unas primeras rutas, para gestionar la redirección al OAuth Provider, y la respuesta tras la autorización otorgada por el Resource Owner.
¿Por qué es importante que un sitio tenga HTTPS? ¿Cómo conseguir HTTPS para producción y para un entorno local?
Veamos cómo generar un certificado SSL localmente y cómo declarar un VirtualHost en Apache que haga uso de dicho certificado.
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.
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.
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.
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+.
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.
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.
En esta lección realizamos lo mismo que en la lección anterior pero con relación al proveedor Google+.
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+.
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.
En esta lección modificamos el formato de nuestros VirtualHosts, con la intención de que nuestra URL de callback sea admitida por Google+.
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.
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.
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.
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.
En esta lección nos organizamos y vemos cómo evitar código repetido.
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.
Veamos qué es lo que vamos a estar desarrollando sobre nuestro proyecto de Laravel.
En esta lección implementamos una sección para gestionar las ubicaciones. Esta información se usará posteriormente al cargar precios.
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.
Veamos cómo definir y registrar un middleware nuevo en nuestra aplicación Laravel.
¿Cómo mostrar opciones sólo para administradores?
Diseñamos el formulario y lo dejamos listo para implementar en la lección siguiente.
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.
Veamos cómo asociar el modelo Price con los modelos Location, Item y User.
Ahora sí empezamos a desarrollar nuestra sección de monitorio de precios.
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.
Veamos cómo generar enlaces con parámetros get adjuntos, y cómo aprovechar esto para mostrar detalles de un ítem seleccionado.
Veamos cómo eliminar valores cargados, y cómo permitir esto sólo a administradores.
En esta lección implementamos SoftDeletes sobre los modelos Item y Location. Sin embargo al final nos encontramos con un inconveniente en las relaciones.
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.
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.
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.
Veamos cómo editar ubicaciones e ítems.
En esta lección vemos cómo habilitar la búsqueda sobre nuestras listas desplegables (select).
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 vamos a implementar un inicio de sesión vía:
Facebook,
Twitter, y
Para lograr esta implementación vamos a hacer uso del paquete Laravel Socialite.
Este paquete nos permite implementar un inicio de sesión mediante múltiples servicios, además de los mencionados arriba.
Existen muchos más proveedores de OAuth 2, además de los 3 que implementamos en el curso.
Por ejemplo, el paquete soporta inicios de sesión a través de:
Steam,
Coursera,
Dailymotion,
Digital Ocean,
Reddit,
Slack,
Spotify,
Twitch,
Vimeo,
Weibo,
Youtube,
Uber,
y muchos más.
Con el curso tendrás las bases para implementar cualquiera de ellos.
De forma adicional, con este curso también aprenderás:
cómo generar reportes en formato CSV,
cómo filtrar datos en tablas y listas desplegables,
y cómo devolver resultados paginados sin perder los filtro activos.
Recuerda que al adquirir este curso:
Realizas un pago único
Pero tendrás soporte de por vida
Es decir, te apoyaré y atenderé todas tus dudas, en la sección de preguntas y respuestas del curso.
El curso no es solo hacer que "funcione el método de login vía redes sociales",
también te explica a detalle en qué consiste y cómo funciona el protocolo OAuth2,
que es un concepto muy importante, y que te será útil para cuando implementes lo mismo con cualquier otra tecnología.
Es decir, es un concepto fundamental que va más allá de Laravel y PHP.
Sin más, te espero dentro del curso.