Una herramienta de línea de comandos para validar la instalación de git, node y npm. La herramienta genera un token que servirá para identificarte.
- Node.js >= 18
Cloná e instalá este repositorio localmente:
# clonar el repositorio
git clone https://github.com/ddso-utn/hello-ddso
# installar al proyecto, sus dependencias y
# hacer disponible al comando globalmente
cd hello-ddso
npm install
npm install -g .Una vez instalado globalmente, el comando hello-ddso estará disponible en tu terminal.
Genera un JWT firmado que contiene los datos de estudiante proporcionados, el sistema operativo detectado, y un hash SHA-256 de todos esos campos.
hello-ddso generate \
--name Dani \
--surname M \
--student-id 123456-7 \
--course K1234| Flag | Corto | Descripción | Requerido |
|---|---|---|---|
--name <n> |
-n |
Nombre de estudiante | ✅ |
--surname <surname> |
-s |
Apellido de estudiante | ✅ |
--student-id <id> |
-i |
Identificador de estudiante - debe seguir el formato 123456-7 |
✅ |
--course <course> |
-c |
Código del curso - debe seguir el formato K1234 (ej. K1234) |
✅ |
--no-confirm |
-y |
Omitir la confirmación y generar directamente | ❌ |
Por defecto, la CLI mostrará todos los datos recopilados (incluyendo el sistema operativo detectada automáticamente) y pedirá confirmación antes de generar el token.
hello-ddso generate -n Dani -s M -i 123456-7 -c K1234 --no-confirm📋 Please review the data before generating the token:
Name : Dani
Surname : M
Student ID : 123456-7
Course : K1234
OS : linux
Hash : e3b0c44298fc1c149afb...
Generate token with this data? [y/n]: y
✅ Token generated successfully:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Verifica un token generado previamente. Comprueba que:
- La firma del JWT sea válida
- El token no haya expirado (validez de 1 hora)
- Todos los campos coincidan con el contenido del token
- El hash incluido coincida con el hash esperado recalculado a partir de los datos proporcionados
hello-ddso verify \
--name Dani \
--surname M \
--student-id 123456-7 \
--course K1234 \
--os linux \
--token <encoded-jwt>| Flag | Corto | Descripción | Requerido |
|---|---|---|---|
--name <n> |
-n |
Nombre de estudiante | ✅ |
--surname <surname> |
-s |
Apellido de estudiante | ✅ |
--student-id <id> |
-i |
Identificador de estudiante | ✅ |
--course <course> |
-c |
Código del curso | ✅ |
--os <os> |
SO al momento de la generación (windows, mac, linux) |
✅ | |
--token <token> |
-t |
JWT codificado a verificar | ✅ |
✅ Token is valid!
Name : John
Surname : Doe
Student ID : 123456-7
Course : A1234
OS : linux
Hash : e3b0c44298fc1c149afb...
Issued at : 2026-03-28T10:00:00.000Z
Expires at : 2026-03-28T11:00:00.000Z
❌ Token has expired (max lifetime is 1 hour).
| Campo | Formato | Ejemplo |
|---|---|---|
| ID Estudiante | NNNNNN-N (6 dígitos, guion, 1 dígito) |
123456-7 |
| Curso | K#### (1 letra mayúscula, 4 dígitos) |
K1234 |