¿Quiénes son Vue? Autenticación en Vue, Las Partes Importantes

Rate this content
Bookmark

En el siempre cambiante panorama de las aplicaciones de página única modernas, VueJS se destaca pero también nos presenta desafíos. Entre ellos, la autenticación es crucial: asegurar la identidad del usuario y proteger su recorrido dentro de su aplicación. No temas; estamos aquí para guiarte a través de estas emocionantes fronteras. En mi sesión, desentrañaré los secretos de la autenticación en aplicaciones VueJS, convirtiéndolo en un viaje de aprendizaje encantador para todos, manteniendo el enfoque en las partes más críticas. Daré una visión general de un flujo de autenticación, desglosaré cada paso y desmitificaré el papel de los tokens JWT en el proceso.


Ya seas un desarrollador experimentado de VueJS o recién estés comenzando, eres bienvenido. Un poco de experiencia previa con la autenticación de usuarios ciertamente no hace daño, pero es opcional.


Público objetivo: Desarrolladores web de todos los niveles que deseen aprender sobre temas de seguridad y mejores prácticas.


Aprendizajes clave:

- Dar una pequeña introducción a los términos y conceptos más importantes de la autenticación;

- VueJS se utiliza como ejemplo, pero los conceptos serán agnósticos.

This talk has been presented at Vue.js Live 2024, check out the latest edition of this JavaScript Conference.

Ramona Schwering
Ramona Schwering
23 min
25 Apr, 2024

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Esta charla presenta la autenticación en Vue.js y enfatiza que no es tan difícil como parece. El orador explica el concepto de autenticación y su importancia. Se utiliza un ejemplo de código para demostrar cómo implementar la autenticación en Vue.js, incluyendo partes separadas de la interfaz de usuario para las vistas de inicio de sesión, inicio y panel de control. La charla también cubre el manejo de la autenticación en el enrutador de Vue.js, incluyendo la definición de rutas, el acceso a las credenciales del usuario y la realización de solicitudes al backend.

1. Introducción a la autenticación en Vue.js

Short description:

Hola a todos. Quiero hablar con ustedes sobre la autenticación en Vue.js. No es tan intimidante como parece. La autenticación es el proceso de verificar la identidad de un usuario o proceso. Me enfocaré en los aspectos más importantes, sin profundizar demasiado.

Estoy muy feliz de tenerlos aquí en Vue.js Live este año en abril. Bueno, no quiero adelantarles demasiado. Así que quiero comenzar con este hecho. Vi algo que hicieron en el mundo real hace algunos días, y sé que lo hicieron porque están aquí, están viendo mi charla. Para poder hacerlo, necesitan obtener un boleto. Tal vez incluso esté conectado a su nombre. Y con este boleto, con este acceso, pueden unirse a mí aquí. Entonces, para unirse a mí, necesitan autenticarse ¿verdad? Y esto es precisamente de lo que quiero hablarles, la autenticación, pero solo la parte más importante. Para que puedan tener el mismo aprendizaje que yo tuve, que no es tan intimidante como parece.

Bueno, no me malinterpreten. En cierto sentido, es bueno que sea intimidante, porque muestra que se toman en serio la responsabilidad de un flujo de trabajo como este, que es importante y debe mantenerse seguro. Pero no necesitan tener miedo al implementarlo en Vue, y se los mostraré. Pero antes de eso, rápidamente, mi nombre es Ramona. Trabajo como defensora del desarrollo en Auth0. Pero además de eso, soy una experta en desarrollo web reconocida por Google, una embajadora de Women Techmakers y una embajadora de Cypress. Y a diferencia de las últimas veces en las que les hablé sobre testing, esta vez quiero hablarles sobre temas relacionados con la seguridad, especialmente cuando se trata de un flujo de trabajo tan sensible como el inicio de sesión. Es igual de importante, si no más importante, que la calidad del software, y está entrelazado.

Entonces, sí, comencemos. Les hice la pregunta, ¿quién son indirectamente cuando se trata de poder ingresar a esta conferencia? Pero responder a la pregunta, ¿quién eres, o quién eres en realidad?, es algo que hacen muchas veces cuando se trata de su vida laboral, su día a día. Pero también cuando se trata del desarrollo web, e incluso en películas, sucede. Como en este cortometraje llamado ¿Quién eres?, dirigido por Julio Poz en 2019. Básicamente, la película trata sobre responder a esta pregunta, e imaginen si alguien la hiciera, responderíamos con toda nuestra historia de vida, lo cual creo que todos aquí sabemos que no es necesario responder, ¿verdad? Entonces, ya sea que se les pregunte quiénes son en la vida real, o si tienen algunos casos dentro de sus aplicaciones donde se debe dar esta respuesta, den una respuesta válida, una respuesta breve pero segura, para que la persona o el servicio que lo solicita pueda estar seguro de que son quienes dicen ser. Pueden estar seguros cuando se trata del proceso de autenticación. Pero definamos qué es realmente la autenticación, para tener un entendimiento compartido, para saber de qué estamos hablando. La primera parte que hice fue buscarlo en el Diccionario Oxford, y ellos dicen que la autenticación es el proceso o acción de demostrar o mostrar que algo es verdadero, genuino o válido. Si lo referimos a la ingeniería de software, como también lo hace Oxford, dicen que es el proceso o acción de verificar la identidad de un usuario o proceso. O en palabras más simples, como yo lo digo, queremos determinar si alguien o algo es quien o lo que dice ser. Y como dije, me enfocaré en los aspectos más importantes aquí. Y esto implica que no es una profundización.

2. Introducción a la autenticación en Vue.js

Short description:

Quiero ayudarte a comenzar en el tema de la autenticación. La autenticación es el proceso de verificar la identidad del usuario. Necesitamos decidir tres factores para la autenticación: algo que sabemos, algo que tenemos o algo que somos. Vamos a pensar en un pequeño ejemplo de código para construir una autenticación simple en Vue.

Quiero ayudarte a comenzar en el tema de la autenticación, pero siempre trato de referirme a recursos adicionales mediante un código QR, por ejemplo. Si no puedes tomar una captura de pantalla o una foto de un código QR o escanearlo a tiempo, de todas formas compartiré mis diapositivas más tarde. Así que no te preocupes por eso. Dije que quiero mostrarte las partes más importantes, y esta es una de ellas, en mi caso o en mi opinión.

Primero lo primero, quiero hablar sobre los términos, porque a la gente le gusta mezclarlos, incluyéndome a mí. Espero no hacerlo en esta charla esta vez. Esperemos que no. Pero seamos muy claros en eso. La autenticación es la que se definió anteriormente. Queremos verificar quién es el usuario y validar su identidad antes de otorgar acceso a nuestras funciones, a los recursos protegidos, lo que sea. Y la autorización es algo diferente, aunque están conectados. La autorización significa que debes verificar si el usuario autenticado, es decir, ya sabemos quién es, tiene permiso para ver o hacer estas cosas dentro de tu aplicación. Este proceso es más detallado. Determinaremos los permisos que tiene un usuario o a quién conocemos. Por ejemplo, darles un cierto rol si son administradores, editores, lo que sea. Estos son dos términos diferentes, pero están conectados porque la autenticación es el primer paso para tomar decisiones de autorización. Primero debemos ver quién es la persona y luego, tan pronto como sepamos eso, podemos decidir qué pueden hacer dentro de nuestra aplicación. Pero ¿cómo podemos implementar este flujo en una aplicación de una sola página, especialmente considerando algunas diferencias? ¿Cómo queremos autenticarnos en el servidor en general? Porque hay varias formas, no es solo una forma de autenticación, ¿verdad? Necesitamos decidir tres factores que queremos utilizar. Esto podría ser algo que sabemos, como un nombre de usuario o una contraseña, algo dentro de nuestra aplicación. Podría ser algo que tenemos, como un teléfono celular como el que tengo aquí, una tarjeta de débito o incluso una YubiKey. Algo físico en la mayoría de los casos. O algo que somos, como las huellas dactilares que tenemos o el reconocimiento facial. Esos pueden ser los puntos donde podemos autenticarnos, donde podemos demostrar quiénes somos.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Vue.js London Live 2021Vue.js London Live 2021
34 min
Todo Más Allá de la Gestión de Estado en Tiendas con Pinia
Top Content
State management is not limited to complex applications and transitioning to a store offers significant benefits. Pinia is a centralized state management solution compatible with Vue 2 and Vue 3, providing advanced devtools support and extensibility with plugins. The core API of Pinia is similar to Vuex, but with a less verbose version of stores and powerful plugins. Pinia allows for easy state inspection, error handling, and testing. It is recommended to create one file per store for better organization and Pinia offers a more efficient performance compared to V-rex.
Bienvenido a Nuxt 3
Vue.js London Live 2021Vue.js London Live 2021
29 min
Bienvenido a Nuxt 3
Top Content
Nux3 has made significant improvements in performance, output optimization, and serverless support. Nuxt Bridge brings the Nitro engine for enhanced performance and easier transition between Nuxt 2 and Nuxt Read. Nuxt 3 supports Webpack 5, Bytes, and Vue 3. NextLab has developed brand new websites using Docus technology. Nuxt.js is recommended for building apps faster and simpler, and Nuxt 2 should be used before migrating to Nuxt 3 for stability. DOCUS is a new project that combines Nuxt with additional features like content modules and an admin panel.
Un Año en Vue 3
Vue.js London Live 2021Vue.js London Live 2021
20 min
Un Año en Vue 3
Top Content
Vue 3 has seen significant adoption and improvements in performance, bundle size, architecture, and TypeScript integration. The ecosystem around Vue 3 is catching up, with new tools and frameworks being developed. The Vue.js.org documentation is undergoing a complete overhaul. PNIA is emerging as the go-to state management solution for Vue 3. The options API and composition API are both viable options in Vue 3, with the choice depending on factors such as complexity and familiarity with TypeScript. Vue 3 continues to support CDN installation and is recommended for new projects.
Utilizando Rust desde Vue con WebAssembly
Vue.js London Live 2021Vue.js London Live 2021
8 min
Utilizando Rust desde Vue con WebAssembly
Top Content
In this Talk, the speaker demonstrates how to use Rust with WebAssembly in a Vue.js project. They explain that WebAssembly is a binary format that allows for high-performance code and less memory usage in the browser. The speaker shows how to build a Rust example using the WasmPack tool and integrate it into a Vue template. They also demonstrate how to call Rust code from a Vue component and deploy the resulting package to npm for easy sharing and consumption.
Vue: Actualizaciones de Características
Vue.js London 2023Vue.js London 2023
44 min
Vue: Actualizaciones de Características
Top Content
The Talk discusses the recent feature updates in Vue 3.3, focusing on script setup and TypeScript support. It covers improvements in defining props using imported types and complex types support. The introduction of generic components and reworked signatures for defined components provides more flexibility and better type support. Other features include automatic inference of runtime props, improved define emits and defined slots, and experimental features like reactive props destructure and define model. The Talk also mentions future plans for Vue, including stabilizing suspense and enhancing computer invalidations.
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Vue.js London Live 2021Vue.js London Live 2021
24 min
Estado Local y Caché del Servidor: Encontrando un Equilibrio
Top Content
This Talk discusses handling local state in software development, particularly when dealing with asynchronous behavior and API requests. It explores the challenges of managing global state and the need for actions when handling server data. The Talk also highlights the issue of fetching data not in Vuex and the challenges of keeping data up-to-date in Vuex. It mentions alternative tools like Apollo Client and React Query for handling local state. The Talk concludes with a discussion on GitLab going public and the celebration that followed.

Workshops on related topic

Vue3: Desarrollo Moderno de Aplicaciones Frontend
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Desarrollo Moderno de Aplicaciones Frontend
Top Content
Featured WorkshopFree
Mikhail Kuznetsov
Mikhail Kuznetsov
Vue3 fue lanzado a mediados de 2020. Además de muchas mejoras y optimizaciones, la principal característica que trae Vue3 es la API de Composición, una nueva forma de escribir y reutilizar código reactivo. Aprendamos más sobre cómo usar la API de Composición de manera eficiente.

Además de las características principales de Vue3, explicaremos ejemplos de cómo usar bibliotecas populares con Vue3.

Tabla de contenidos:
- Introducción a Vue3
- API de Composición
- Bibliotecas principales
- Ecosistema Vue3

Requisitos previos:
IDE de elección (Inellij o VSC) instalado
Nodejs + NPM
Masterclass de Pruebas de API con Postman
TestJS Summit 2023TestJS Summit 2023
48 min
Masterclass de Pruebas de API con Postman
Top Content
WorkshopFree
Pooja Mistry
Pooja Mistry
En el panorama siempre en evolución del desarrollo de software, garantizar la fiabilidad y funcionalidad de las API se ha vuelto primordial. "Pruebas de API con Postman" es una masterclass completa diseñada para equipar a los participantes con los conocimientos y habilidades necesarios para sobresalir en las pruebas de API utilizando Postman, una herramienta poderosa ampliamente adoptada por profesionales en el campo. Esta masterclass profundiza en los fundamentos de las pruebas de API, avanza a técnicas de prueba avanzadas y explora la automatización, las pruebas de rendimiento y el soporte multiprotocolo, proporcionando a los asistentes una comprensión holística de las pruebas de API con Postman.
Únete a nosotros para esta masterclass para desbloquear todo el potencial de Postman para las pruebas de API, agilizar tus procesos de prueba y mejorar la calidad y fiabilidad de tu software. Ya seas un principiante o un probador experimentado, esta masterclass te equipará con las habilidades necesarias para sobresalir en las pruebas de API con Postman.
Monitoreo 101 para Desarrolladores de React
React Summit US 2023React Summit US 2023
107 min
Monitoreo 101 para Desarrolladores de React
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
Si encontrar errores en tu proyecto frontend es como buscar una aguja en un pajar de código, entonces el monitoreo de errores de Sentry puede ser tu detector de metales. Aprende los conceptos básicos del monitoreo de errores con Sentry. Ya sea que estés ejecutando un proyecto de React, Angular, Vue, o simplemente JavaScript “vainilla”, mira cómo Sentry puede ayudarte a encontrar el quién, qué, cuándo y dónde detrás de los errores en tu proyecto frontend.
Nivel de la masterclass: Intermedio
Usando Nitro - Construyendo una Aplicación con el Último Motor de Renderizado de Nuxt
Vue.js London Live 2021Vue.js London Live 2021
117 min
Usando Nitro - Construyendo una Aplicación con el Último Motor de Renderizado de Nuxt
Top Content
Workshop
Daniel Roe
Daniel Roe
Construiremos un proyecto Nuxt juntos desde cero usando Nitro, el nuevo motor de renderizado de Nuxt, y Nuxt Bridge. Exploraremos algunas de las formas en que puedes usar y desplegar Nitro, mientras construimos una aplicación juntos con algunas de las restricciones del mundo real que enfrentarías al desplegar una aplicación para tu empresa. En el camino, dispara tus preguntas hacia mí y haré lo mejor para responderlas.
Autenticación Más Allá de las Contraseñas
React Day Berlin 2023React Day Berlin 2023
127 min
Autenticación Más Allá de las Contraseñas
WorkshopFree
Juan Cruz Martinez
Juan Cruz Martinez
Las contraseñas han sido durante mucho tiempo las llaves de nuestros reinos. Sin embargo, a menudo se convierten en los puntos débiles de nuestra armadura: olvidados, mal utilizados o explotados. Nuestras aplicaciones de Next a menudo hacen uso de contraseñas para autenticar a los usuarios, pero ¿cómo sería un mundo sin contraseñas? ¿Y cómo podemos comenzar a conducir hacia ese futuro hoy?
De 0 a Autenticación en una hora con ReactJS
React Summit 2023React Summit 2023
56 min
De 0 a Autenticación en una hora con ReactJS
WorkshopFree
Kevin Gao
Kevin Gao
La autenticación sin contraseña puede parecer compleja, pero es simple de agregar a cualquier aplicación utilizando la herramienta adecuada. Hay múltiples alternativas que son mucho mejores que las contraseñas para identificar y autenticar a tus usuarios, incluyendo SSO, SAML, OAuth, Magic Links, One-Time Passwords y Authenticator Apps.
Mientras abordamos los aspectos de seguridad y evitamos errores comunes, mejoraremos una aplicación JS de pila completa (backend Node.js + frontend React) para autenticar a los usuarios con OAuth (inicio de sesión social) y One Time Passwords (correo electrónico), incluyendo:- Autenticación de usuarios - Gestión de interacciones de usuarios, devolviendo JWTs de sesión / actualización- Gestión y validación de sesiones - Almacenamiento seguro de la sesión para solicitudes de cliente posteriores, validación / actualización de sesiones- Autorización básica - extracción y validación de reclamaciones del token JWT de sesión y manejo de autorización en flujos del backend
Al final del masterclass, también exploraremos otros enfoques de implementación de autenticación con Descope, utilizando SDKs de frontend o backend.