Autenticación vs. autorización

2/20
Recursos

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Holaa 😄

Autenticación: Quien eres (ususario, contraseña)
Authorizacion: Gestion de permisos (roles y privilegios)

Autenticación

Este proceso es para determinar si la combinación de usuario y contraseña son las correctas.

  • Si es correcta:
    • Nos dan una llave para acceder, (en este curso esa llave será un token generado por la librería jsonwebtoken )
  • Si NO es correcta:
    • El servidor nos prohibe continuar y lo normal es que nos responda con un código http 401 que significa Unauthorized (veamoslo con gatos xD)

Autorización

Es cuando el servidor ya verificó que la contraseña y usuario son correctas y se le devolvió correctamente al usuario un token (la llave) pero se quiere usar esa llave para entrar a una parte del sitio prohibido para ese usuario, esto puede suceder cuando:

  • El usuario no es administrador y quiere acceder a una página sólo para admistradores (petición get) .
  • El usuario quiere realizar una petición tipo delete/post/put a un recurso pero sólo tiene permisos de lectura ese usuario.

Lo normal es que el servidor responda con status code 403 cuando esto sucede

En lo personal siento que la imagen del 401 debería estar en la del código 403 porque representa mejor que el gato tiene prohibido entrar a la tienda.

Quizá en la imagen de 401 lo que debería ir es un gato sosteniendo una identificación con su nombre y foto entregandola a otro gato para entrar a un lugar donde la puerta tenga un letrero que diga “only local cats”. Jaja no sé, si alguna vez un diseñador ve este mensaje, traten de enviar un diseño con una solicitud a la página por favor xD.

En pocas palabras
Autenticación: Quien eres
Authorizacion: Los permisos que tienes

  • Autenticación se refiere a verificar quién eres y se encarga de revisar si puedes o no ingresar a tus credenciales.
  • Autorización gestiona los permisos, protege endpoints.

Autenticación: login - credenciales - token ( llave admin - user)
Autorización: permisos - protección

JWT: token ( sesión )