Así que ahora coloquemos esos verbos dentro de la afirmación de producción real. En una aplicación moderna de JavaScript, la autenticación viaja a través del estado del navegador, cookies, guardias de ruta, proveedores de identidad, algún backend o backend para frontends, llamadas API, almacenes de sesión, verificaciones de permisos, y esta lista sigue y sigue. Pero a veces un borde, ya sabes, o una capa de caché que añade su propio toque de caos puede realmente aumentar el incidente. Así que los usuarios reportan el dolor visible. Están atrapados en el inicio de sesión o su panel sigue parpadeando y dice que estás conectado, pero luego los expulsa. Sabes, podría haber hecho eso ayer, dirías. Pero esto no es algo que el sistema debería estar realmente diciendo al usuario que haga. Así que esos reportes son síntomas valiosos. La bóveda puede decir, y la bóveda puede realmente mostrar el alcance de la cookie, manejo de actualización reclamaciones obsoletas, y revocar sesiones. Pero la parte interesante de esta investigación es que la brecha entre las capas. Así que una vez que ves la cadena, esa cadena desde el navegador hasta la observabilidad, las formas comunes de fallos se vuelven mucho más fáciles de reconocer.
Así que hay cuatro formas que miro primero. La primera es el bucle. El usuario es enviado de la aplicación al inicio de sesión, luego del inicio de sesión a la aplicación, luego de la aplicación al inicio de sesión nuevamente, una versión muy costosa de no, cuelga tú primero. La segunda es la sesión go cuando la confianza ha cambiado, pero el acceso antiguo sigue caminando como si nadie le hubiera dicho que la fiesta terminó. Y la tercera es la tormenta de actualización. Aquí es donde la lógica de recuperación sigue intentando recuperarse de su propia recuperación. Y la cuarta es el lago de permisos. Esta es nuestra antigua autoridad sobreviviendo a un cambio que debería haber reducido el acceso. Y estos son modos comunes de fallo de sistemas de autenticación distribuidos cuando la propiedad es muy poco clara.
Comencemos con el más ruidoso, el pasillo sin salida. Un bucle de redirección generalmente apunta a un estado de autenticación que no puede asentarse. El panel requiere un usuario autenticado, la página de inicio de sesión es algo que parece una sesión activa, el panel verifica contra ella, y la rechaza. El usuario es pasado de un lado a otro como un paquete que nadie quiere firmar por. Y yo rastrearía la máquina de estados aquí. ¿Puede la aplicación representar desconocido, no autenticado, o autenticado, expirado, prohibido, desconectado, o se requiere reautenticación? Lo siento, ¿puedes simplemente cortar esto, por favor? Lo siento, solo estoy hablando un poco de tonterías porque, sí, lo siento, mañanas.
Comments