17

Identidad como servicio, la alternativa de autenticación que te ahorra tiempo

12720Puntos

hace 24 días

Curso de Autenticación con Passport.js
Curso de Autenticación con Passport.js

Curso de Autenticación con Passport.js

Genera estrategias de autenticación Sign-In y Sign-Out usando Passport.js. Agrega autenticación con Facebook, Twitter y Google a tus desarrollos. Gestiona de manera sencilla los procesos de éxito y falla en la autenticación de tu aplicación. Implementa la capa de seguridad de PlatziVideo. Desarrolla software profesional, agrega seguridad a tus aplicaciones usando Passport.js.

Muchos de nosotros tenemos una idea de una aplicación que va a revolucionar o a cambiar el mundo. Sin embargo, es importante entender que las ideas solo son ideas si no se ejecutan. Por eso, existen una serie de metodologías como Design thinking, Lean UX, Design Sprint que nos llevan desde el proceso de ideación, validación de la idea, creación del modelo de negocio hasta finalmente el desarrollo de un Mínimo Producto Viable (MVP).

El problema es que el Mínimo Producto Viable requiere un gran esfuerzo de parte de desarrollo, y quiero pensemos en esto por un momento. Toda aplicación por más sencilla que sea necesita toda una capa de autenticación. ¿Y cuánto cuesta implementar esta capa de autenticación?

Miremos una pequeña lista de lo que idealmente debería tener esta capa:

  • Poder registrar nuevos usuarios en el sistema
  • Poder iniciar sesión mediante un usuario y contraseña
  • Poder registrarse/iniciar sesión con redes sociales
  • Poder recuperar la contraseña en caso de que se pierda
  • Poder recibir un email con el link de la recuperación de contraseña
  • Limitar y bloquear los intentos incorrectos de inicio de sesión
  • Poder administrar los usuarios desde la perspectiva administrativa
  • Poder asignar roles, grupos y permisos a los usuarios
  • Poder implementar un metodo de multifactor authentication
  • Poder detectar cuando se están haciendo ataques maliciosos

Si hacemos las cuentas para desarrollar estos features en un equipo de dos desarrolladores que están trabajando en el MVP, podría ser un aproximado de más de dos meses, y aun no hemos trabajado en nuestra idea de negocio, pues esto es algo básico que tiene la app, es por eso que surge la necesidad de algo como Identity as a Service o Identidad como Servicio.

Es cierto que muchas librerías y frameworks que traen todo un sistema de autenticación pero si se quiere estar al día en cuanto a términos de seguridad y nuevas características, estos se quedan cortos.

Auth0 al rescate

Aunque hay muchos otros servicios, unos de mis preferidos es Auth0. Ya que hace demasiado fácil tener todo un sistema de autenticación con todos estas características que te he mencionado y además para usar al instante. Por ejemplo: activar la autenticación con las diferentes redes sociales es tan simple como activar un checkbox.

Cada implementación de red social puede ser al menos un día de desarrollo, y con Auth0 cualquier otro nueva autenticación de proveedor esta disponible para ser usada, como por ejemplo la autenticación con Apple.

Uso de estándares como OAuth 2.0 y OpenID Connect

Auth0 también usa los estándares de la industria como OAuth 2.0 y OpenID Connect, además apoya con la creación de material y contenido de estos estándares así como material y contenido de otros estándares como JSON Web Tokens y Web Authentication, el estándar de autenticación para la web. Estas son algunas de las paginas mantenidas por Auth0:

También se pueden consultar todos los recursos disponibles del mundo de identidad y seguridad aquí https://auth0.com/resources/ y todo el código Open Source que crea o soporta aquí: https://auth0.com/opensource.

Uso rápido de Auth0

Si quieres implementar Auth0 hoy mismo en tu aplicación hay una serie de quickstarts que puedes mirar de acuerdo a la tecnología o proyecto que estes usando aquí: https://auth0.com/docs/quickstarts

Empresas que usan Auth0

Así como lo hablamos en este post es mejor preocuparse por el corazón de tu idea y app y dejar que todo un equipo de profesionales se encarguen de manejar toda la capa de identidad y seguridad de tu app. Algunas de las empresas que han confiado esta tarea son: Atlassian, Mozilla, Bluetooth, NVIDIA, Optimizely, etc. Se puede saber de estos customer aquí: https://auth0.com/customers.

Sin embargo, conocer cómo configurar las capas de autenticación usando middlewares como Passport.js te permitirá diferenciarte en el campo profesional. Este proceso lo aprenderemos en el Curso de Autenticación con Passport.js de la Escuela de JavaScript.

Curso de Autenticación con Passport.js
Curso de Autenticación con Passport.js

Curso de Autenticación con Passport.js

Genera estrategias de autenticación Sign-In y Sign-Out usando Passport.js. Agrega autenticación con Facebook, Twitter y Google a tus desarrollos. Gestiona de manera sencilla los procesos de éxito y falla en la autenticación de tu aplicación. Implementa la capa de seguridad de PlatziVideo. Desarrolla software profesional, agrega seguridad a tus aplicaciones usando Passport.js.
Guillermo
Guillermo
@glrodasz

12720Puntos

hace 24 días

Todas sus entradas
Escribe tu comentario
+ 2
Ordenar por:
2
5340Puntos

que tal viable es hacerla en laravel todo esta lista de autenticacion.

2
6314Puntos

Que bueno que al final, como conclusión, resaltes que es necesario saber como funciona una capa de autenticación. Nuestra app es primero, sabemos que existen ya capas diseñadas para autenticar a personas en nuestra app, por eso debemos enfocarnos en nuestro proyecto antes de preocuparnos a detalle como funcionan estas atenticaciones. Excelente artículo Guillermo, pronto tomaré este curso tan importante en la vida de un programador.

1
5264Puntos

Siempre se piensa que tener una idea es suficiente para poder iniciar, pero la verdad de todo lo que es necesario para poder crear un producto de sofware que nos retribuya es muy diferente.
Me gusto mucho el post.
Saludos

1
8317Puntos

Excelente post, gracias! ¿Qué tan fácil es migrar de un sistema tradicional de autenticación a usar Auth0? Muchas veces se vuelve un tremendo dolor de cabeza integrar una app a otro sistema de autenticación.
Gracias!