Autenticación vs Autorización: entendiendo los conceptos básicos

Gonzalo Galdámez
Mar 27, 2018 · 3 min read
Autenticación vs Autorización

Solemos confundir los conceptos autenticación y autorización con bastante frecuencia. Si bien son igual de importantes, la realidad es que son muy diferentes. Aquí intentaremos explicar de qué va cada uno para terminar de entenderlos.

Mientras que la autenticación se enfoca en determinar que el usuario es quien dice ser, la autorización se encarga de controlar qué acciones ese usuario puede realizar.

Autenticación

Pensemos, por ejemplo, en una aplicación como Facebook y en cómo maneja la autenticación. Cuando inicio sesión con mi correo electrónico y mi clave, Facebook está autenticándome. Esto es, está comprobando que la contraseña ingresada coincide con la contraseña que se asoció a mi correo electrónico. En tanto la contraseña coincida, podré acceder a la aplicación. Pero si no coincide, Facebook no me permitirá iniciar sesión porque no puede asegurar que yo soy quien digo ser.

Pero, ¿y qué pasa si alguien me roba la contraseña? En los últimos años, con la autenticación de dos factores, esto ha mejorado mucho. La autenticación de dos factores, como su nombre lo indica, agrega un segundo paso para verificar que la persona es quien dice ser. Entonces, ya no sólo alcanza con conocer la contraseña, sino que debemos presentar alguna prueba más. La forma más común puede ser a través del envío de un email a la casilla de correo electrónico que usamos para registrarnos o a través de un mensaje de texto con un código a nuestro celular.

Entonces, cuando intentamos iniciar sesión en la aplicación — si Facebook no reconoce el dispositivo desde el que accedemos — , nos ofrecerá utilizar un segundo paso de verificación. De esa forma, además de conocer la contraseña, debemos tener acceso a la cuenta de correo electrónico o al teléfono celular que se utilizamos para registrarnos.

La autenticación de dos factores todavía no está en todas las aplicaciones y su activación suele ser opcional para el usuario. Entonces, depende de que la aplicación soporte esta funcionalidad y de que el usuario la habilite. Por eso, siempre que se pueda, es recomendable habilitarla.

Como decíamos, autorizar es determinar si tenemos autoridad para hacer algo. Pensemos, por ejemplo, en una aplicación como Medium que ofrece diferentes funcionalidades para usuarios gratuitos y usuarios premium. Un usuario gratuito está autorizado a acceder a un conjunto limitado de funcionalidades y no está autorizado a acceder a otras funcionalidades — hasta tanto no pague la suscripción y se convierta en usuario premium — .

Entonces, cada vez que un usuario solicita acceder a una funcionalidad, la aplicación realiza un control para determinar si puede hacerlo o no. Por detrás, lo que está ocurriendo es una autorización. Siempre que el usuario acceda a recursos para los que tiene permisos, no habrá problema. En tanto que, cuando el usuario intente acceder a recursos para los que no tiene permisos, se le informará, ya sea con un mensaje de error o con una invitación a suscribirse al servicio premium.


Entender bien cada concepto al momento de programar es fundamental para generar desarrollos de calidad. No podemos crear productos confiables y seguros si no sabemos lo que estamos haciendo. Por ello, aquí hemos intentando explicar de qué hablamos cuando hablamos de autorización y autenticación. En próximos artículos, nos adentraremos un poco más en cada uno de estos términos y presentaremos algunas herramientas que nos pueden ayudar a facilitar el desarrollo.

¿Qué te ha parecido el artículo? Nos encantaría escucharte.

Si tienes alguna duda, sugerencia o crítica, no dudes en dejar un comentario más abajo. Y si te gustó el artículo, puedes dar click en el ícono de aplauso que está más abajo.


Unagi (unagi.com.ar) es una empresa de software enfocada en el desarrollo de soluciones web que ayuden a nuestros clientes a mejorar lo que ya hacen bien. Nuestro equipo está formado por un grupo de ingenieros y licenciados con más de 10 años de experiencia acumulada, y somos felices haciendo lo que hacemos. Estamos abiertos a nuevas experiencias, y nos encantan los desafíos.

unagi

Desarrollos de software a medida para clientes felices

Thanks to Nicolás Galdámez

Gonzalo Galdámez

Written by

Co-founder Unagi

unagi

unagi

Desarrollos de software a medida para clientes felices

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade