¿Qué proceso ocurre en el backend cuando un usuario inicia sesión con su contraseña?

En esencia, la operación más importante que ocurre es ‘hacer coincidir los valores de su nombre de usuario / contraseña con una lista preexistente de valores de nombre de usuario / contraseña VÁLIDOS / PERMITIDOS almacenados en el sistema de fondo’.

Los basicos

Como ejemplo,

  • Supongamos que está intentando iniciar sesión en el sitio web de Amazon.
  • Si recuerda, antes de poder iniciar sesión, debe haberse registrado / registrado en Amazon. Esto es una cosa única, donde define su nombre de usuario y contraseña, para ser utilizado más tarde para iniciar sesión. Amazon almacena estos valores de forma segura. (tuyo y para miles de otros usuarios)
  • Entonces, en este punto, Amazon tiene un almacén de datos que contiene miles de valores válidos de nombre de usuario / contraseña.
  • Cuando intenta iniciar sesión, ingrese su nombre de usuario y contraseña y presione iniciar sesión.
  • El sitio web de Amazon enviará estos valores a su API de back-end. Esta API tomará sus valores y verificará si su enorme base de datos tiene esa combinación almacenada como una entrada legítima.
  • Si lo hace, se lo identifica como un usuario válido y se le permite ingresar al sitio. Esto también se llama autenticación.
  • De lo contrario, recibirá el mensaje de que ‘su nombre de usuario y contraseña no son válidos’.

Tienda de identidad

  • Ahora, si piensa más en el almacén de datos, es un tesoro muy valioso. Tiene credenciales e información confidencial para miles de usuarios. Si se ve comprometido, se puede hacer mucho daño, ya que el impostor puede actuar como usted y causar estragos.
  • Entonces, una cosa que se hace es que esta administración de credenciales se separa en su propio sistema separado, con amplias prácticas de seguridad a su alrededor.
  • Ahí es donde entran en juego servicios como Active Directory, AWS Cognito, etc. Son sistemas dedicados de administración de identidades, cuyo único propósito es administrar las credenciales y hacerle saber al consumidor de manera segura si una credencial es válida o no.
  • Con este sistema separado, ahora el sitio web del cliente de Amazon, el sitio web del vendedor, el sitio web del socio, el sitio web del agente, etc., pueden aprovechar este sistema de gestión de identidad sin preocuparse por almacenar datos confidenciales localmente o duplicar información.
  • No vale la pena cargar el código de su aplicación con las mismas medidas de seguridad y mezclar todo. Tiene sentido tener su identidad almacenada por separado.

Reclamaciones y Autorizaciones

  • Una vez que se identifica como la entidad que dice que es, lo siguiente que sucede normalmente es descubrir qué tan poderoso es. ¿Qué puede hacer todo en el sistema?
  • Piense en ello como su boleto de avión.
    • Una vez que la aerolínea confirme que realmente eres ‘Jane Doe’ (al mirar el pasaporte), tu proceso de identificación habrá finalizado.
    • La aerolínea ahora verificará su número de asiento, número de vuelo, zona y clase.
    • Estos valores le permiten abordar un avión específico, asientos específicos, primera clase o entrenador, etc. No está permitido en otro lugar.
    • Estos valores se llaman como reclamos. Y el proceso se llama como autorización. Básicamente averiguar qué está autorizado a hacer.
  • Entonces, una de las cosas que suceden cuando inicia sesión no solo es que se lo identifique como un usuario válido, sino que también se devuelven ciertos reclamos sobre usted al llamante.
  • En base a esto, es posible que se le permita ingresar a la sección de administración del sitio web de Amazon o se le permita eliminar las reseñas de los usuarios, etc. Este proceso es una autorización.

Federación, SSO, etc.

  • La madriguera del conejo profundiza con conceptos como federación y SSO.
  • Sin complicar mucho esta respuesta, en resumen, la federación es el proceso de sistemas dispares que trabajan juntos para autenticarlo y autorizarlo.
    • Por ejemplo, es posible que haya visto sitios web personalizados que admiten el inicio de sesión de Google, el inicio de sesión de Facebook, etc.
    • Quora en sí te permite iniciar sesión con tus credenciales de Google, creo.
  • SSO es un inicio de sesión único donde puede iniciar sesión una vez y acceder a varios sitios web.
    • Por ejemplo, puede iniciar sesión en Google una vez y acceder al motor de búsqueda, documentos de Google, Play Store, etc. sin iniciar sesión nuevamente.
    • Piense en ello como su pase de temporada que le permite participar en cualquier partido, estadio, fecha, etc.

Hay mucho más con la federación activa / pasiva, saml / jwt, etc., pero lo anterior debería ser una buena idea de lo que sucede en la acción de inicio de sesión.

La autenticación es un proceso en el que las credenciales proporcionadas se comparan con las que se encuentran archivadas en una base de datos de información de usuarios autorizados en un sistema operativo local o dentro de un servidor de autenticación . Si las credenciales coinciden, el proceso se completa y el usuario recibe autorización para acceder.

Consulte este artículo sobre autenticación aquí: http://wp.me/p7LQZO-1oQ

Cuando un usuario inicia sesión con su contraseña … el servidor de fondo autentica al usuario y lo identifica de manera única …
HTTP no tiene estado, por lo que la administración de sesiones y la autenticación se usan juntas.
Autenticación: Dada la combinación única de usuario y contraseña … la base de datos coincide con los datos y si se recibe el código de estado http 200 y los datos del usuario … ¡está hecho!
Gestión de la sesión: el navegador gestiona un par de valores clave como cookies para cada dominio … el servidor puede acceder a ellos analizando los encabezados de solicitud HTTP Cookie.
Esta cookie contiene una identificación de sesión a través de la cual el usuario se identifica fácilmente y se le da acceso a su cuenta.