Es excelente hasta ahora este curso. La explicacion es muy clara de todos los conceptos, y ademas con ejemplos adicionales de la vida real para bajar aun mas a tierra los conceptos aprendidos. 👏👏
Bienvenida e introducción
Qué aprenderás sobre autenticación con OAuth
Stack de seguridad para aplicaciones modernas
Autenticación
Autorización
JSON Web Tokens
JSON Web Tokens
Autenticación tradicional vs JWT
Configuración inicial de los proyectos
Firmando un JWT
Verificando nuestro JWT firmado y buenas practicas con JWT
Server-Side vs Client-Side sessions
Protegiendo nuestros recursos con JWT
Habilitando CORS en nuestro servidor
Profundizando el concepto de JWKS
OAuth 2.0
Cómo elegir el flujo adecuado para OAuth 2.0
¿Qué es OAuth 2.0?
Conociendo el API de Spotify
Creando los clientes de Spotify y servicios iniciales
Implementando Authorization Code Grant
Usando nuestro access token para obtener nuestros recursos
Implementando Implicit Grant
Implementando nuestro servicio de autenticación
Modificando nuestro Layout
Implementando Client Credentials Grant
Implementando Resource Owner Password Grant
Implementando Authorization Code Grant (PKCE)
Open ID Connect
¿Qué es OpenID Connect?
Implementando OpenID Connect
Preocupaciones con JWT y OAuth 2.0
¿Cuáles son las preocupaciones con JWT?
¿Cuáles son las preocupaciones con OAuth 2.0?
Haciendo uso de Auth0
¿Qué es Auth0?
Auth0 Lock y auth0.js
Universal Login
Social Login con Auth0
Custom Social connection con Spotify
Multifactor authentication
Authorization Extension en Auth0
Consideraciones para producción
Buenas prácticas para el despliegue en producción
Uso de diferentes tenants para producción con Auth0
Cierre del curso
Cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Guillermo Rodas
Aportes 24
Preguntas 3
Es excelente hasta ahora este curso. La explicacion es muy clara de todos los conceptos, y ademas con ejemplos adicionales de la vida real para bajar aun mas a tierra los conceptos aprendidos. 👏👏
Si alguien me puede corregir se lo agradecería.
OAuth2 es un protocolo de autorización, que surgió a partir del nacimiento de la Web Social. Permite que los usuarios autoricen a terceros a acceder a su información sin que estos tengan que conocer las credenciales del usuario.
Hay múltiples entidades involucradas en el flujo de OAuth2:
Propietario de recursos: Parte que puede autorizar el acceso a los recursos protegidos. Puede ser una autorización de ciertos recursos y de otros no. Generalmente es una persona.
Cliente: Es el sitio web o aplicación que accederá a los recursos protegidos de un usuario con la autorización del mismo
Proveedor:
Servidor de autorización: Valida usuario y credenciales; y genera tokens de acceso.
Servidor de recursos: Recibe peticiones de acceso a los recursos protegidos autorizando acceso si el token que viene (en el cuerpo o en las cabeceras, generalmente en las cabeceras) en la petición es válido.
esto me suena similar al curso de API REST, autenticacion con Acces Token en donde interfieren siempre 3 actores el cliente, el servidor de autenticacion, y el servidor donde se solicitan los recursos esto es cierto?
hasta ahora el curso a estado de maravilla, también puedes leer esta documentación de OAuth que habla de lo mismo que el profesor explica https://auth0.com/docs/authenticate/protocols/oauth y una vez leíste esa puedes leer esta otra parte https://auth0.com/docs/get-started/authentication-and-authorization-flow/which-oauth-2-0-flow-should-i-use y así entiendes lo de esta clase y la anterior(14)
Comprendo, aunque veo que la validación del token lo hace el servidor de API, pensaba que el servidor de API tenía que hacer una solicitud hacia el authentication server para verificar si el token existía en la base de datos
Por lo que veo ahora, con este flujo de autenticación ni siquiera es necesario guardar un token en la base de datos porque tanto el authorization como el API server conocen la llave secreta y puede decodificar dicho token
Básicamente el authorization firma el token con la llave secreta y el API usa la misma llave para verificar que la firma es verdadera!
Muy clara la explicación 😄
Qué es OAuth 2.0
Viene Open Authentication es el estandar para el manejo de autorización.
El Resource Owner es la entidad que concede el acceso a los recursos protegidos.
El Resource Server almacena esos recursos protegidos.
El cliente es la aplicación que solicita los recursos protegidos
El authorization Server verífica que el cliente es el Resource Owner. Al veríficar, le entrega permisos de autorización el Acess Towken tendrá los recursos necesarios para consumir los recursos protegidos.
Mi Resumen:
Open Authentication. Es el protocolo estándar de la industria para el manejo de autenticación. Permite que los usuarios autoricen a terceros a acceder a su información sin que estos tengan que conocer las credenciales del usuario.
Roles:
User (Resource owner): es la entidad que concede los permisos a los recursos protegidos. Generalmente representado por el usuario final.
Service API (Authorization Server): es quien almacena los recursos protegidos. Generalmente es la API a la que se quiere acceder.
Application (Client): es la aplicación que pide esos recursos protegidos en nombre del resource owner.
Service API (Resource server): es quien autentica que el resource owner es efectivamente quien dice ser y genera los Access Token para entregárselos a los clientes.
Flujo de Autorización:
Creo que falta hablar cuando nuestra aplicación genera el toquen o autorización. Seria como si el de las llaves fuera la hermana y el hermano pequeño le pide el recurso y la hermana le da las llaves. No he visto aun el manejo adecuado que se le hace si no usamos OAuth 2.0, cual es la forma adecuada de guardar el JWT, tal vez más adelantan del curso lo muestre,
De que forma el resource owner puede verificar que la aplicación es quien dice ser?
Buena explicacion, muy clara y precisa.
una explicacion my clara de OAuth 2.0
excelente la explicación de la vida real
Quedo muy claro con el ejemplo.
jajajaj que excelente ejemplo.
No había entendido del todo el funcionamiento, pero con el ejemplo de la pelota y de la aplicación pidiendo permisos para acceder a nuestros recursos, lo entendí del todo.
Este video se muestra mal en mobile. Me aparece el de la API de Spotify!
El ejemplo de la familia es GENIAL!! me ha quedado más claro.
OAuth: sirve pra la autorización
El servidor de autorización crea llaves temporales.
Las llaves temporales sirven para acceder a los recursos.
Excelente ejemplo, la vida real es algo muy chevere para darle sentido a las cosas!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?