🚀Día 4 - Desplegando tu proyecto.
¡Despeguemos!
Last updated
¡Despeguemos!
Last updated
Este día será dedicado al despliegue de proyectos en la red de IC y las mejores practicas para hacer esto
El desplegar un proyecto tiene muchas variables, así que tendremos que tener paciencia para considerar todas las variables y lograr ejecutarlo.
Al momento de desplegar nuestras aplicaciones en producción primero deberemos contar con tokens Cycle, ademas de configurar nuestra identidad a la red de IC para poder hacer nuestro deploy de forma satisfactoría.
Consideraciones:
No cargar assets o JavaScript de dominios inseguros. Confiar en sitios mas allá de dominios <canister-id>.icp0.io
significa que confias en ellos. Estos podrían inyectar codigo JS que lea la llave privada manejada por el agent-js
Almacenar llaves en el localStorage o sessionStorage es una practica insegura ya que código JS de dominios inseguros podrían acceder a el. Una recomendación es usar la WebCrypto API para ocultar ese contenido de JS.
Utiliza frameworks web modernos que integren o se preocupen en la seguridad. Los frameworks actuales tienen mecanismos para evitar la mayoría de ataques XSS o al menos plantean un nivel de seguridad superior.
Recuerda de limpiar la información de la sesión al hacer un logout, principalmente de limpiar sessionStorage, localStorage e IndexedDB.
Para aplicaciones con altos requerimientos de seguridad contempla utilización una aprobación con transacciones. Por ejemplo utilizando un dispositivo ligado al WebAuthn del Internet Identity para confirmar la transacción.
Utiliza el sistema de autenticación de Internet Identity, el utilizar un sistema de autenticación ageno podría incurrir en fallos de seguridad o bugs en el llamado a canisters en la red de IC.
Asegurate de usar llamadas a canisters con el agent-js
y auth-client
para la autenticación.
Establecer un timeout para la sesión que se emite para la autenticación con el Internet Identity. Este tiempo de expiración puede ser establecido en el auth-client, una practica recomendada es establecer un timeout de 30 minutos.
Para mayor información de seguridad consulta las lecturas acerca de seguridad.
Considerar el gasto de recursos computacionales y de almacenamiento en nuestras aplicaciones en producción es vital. Ya que al no existir un ente que centralice o que lleve un registro de nuestros canisters es nuestra responsabilidad asegurar la cantidad de cycles necesarios para operar de forma correcta.
Revisa la sección de seguridad en aplicaciones en producción de las lecturas.
Prepara tu presentación para el demo day.
Realiza la evaluación del día 4.