Skip to content

Inicialización

Lucas edited this page Sep 6, 2023 · 4 revisions

Para consumir el paquete, se debe estar utilizando en un ambiente de Node en servidor. Se puede instalar utilizando npm o yarn en tu proyecto de preferencia:

# npm
$ npm i --save autogestion-frvm

# yarn
$ yarn add autogestion-frvm

Inicio de Sesión con Legajo y Contraseña

El paquete exporta el mismo cliente que wrappea todas las funciones del autogestión. Pero para poder consumirlo, tenés que autenticarte con tu usuario y contraseña de autogestión. Un ejemplo de autenticación e inicialización del cliente sería:

// Usando Javascript
const Autogestion = require('autogestion-frvm');

const { AUTOGESTION_USER, AUTOGESTION_PASSWORD } = process.env;
const cliente = new Autogestion(AUTOGESTION_USER, AUTOGESTION_PASSWORD);

cliente.authenticate().then((student) => {
     console.log(`Iniciada la sesión como ${student.nick}.`);
});
// Usando Typescript
import Autogestion from 'autogestion-frvm';
import { Student } from 'autogestion-frvm/client';

const { AUTOGESTION_USER, AUTOGESTION_PASSWORD } = process.env;
const cliente = new Autogestion(AUTOGESTION_USER, AUTOGESTION_PASSWORD);

cliente.authenticate().then((student: Student) => {
     console.log(`Iniciada la sesión como ${student.nick}.`);
});

Si estás pensando consumir este cliente en otros ambientes, tenés a disposición el cambio manual de usuario y contraseña de la misma instancia para re-autenticar tu cliente con lo que quieras.

Inicio de Sesión con Hash

El web service de Autogestión autoriza alumnos por medio de un hash (que es un UUID4) como token. Esta token es única y estática, asique ten mucho cuidado en donde la expones si guardas tu hash. El hash del usuario es devuelto en los objetos de tipo Student, asique siempre habrá (aunque sea) una sola vez donde autentiques con legajo + contraseña para extraerlo.

El cliente de autogestión de este wrapper está preparado para recibir ambos métodos de autenticación: user:password y user:hash. Generalmente es preferible usar el hash con el legajo para integrar aplicaciones que consumen el web service. El único faltante es el objeto Student, que no estará disponible si utilizas esta forma de autorización.

Te recomiendo guardar la información del estudiante al momento de logearlo con legajo y contraseña para persistir información que te sea de consumo, aunque el mismo web service te expone esta información (nuevamente) en muchas de sus rutas de consulta de recursos (ejemplo: consultar mis examenes, mis materias, histórico, etcétera).

De todas formas, se puede implementar en tu aplicación de la siguiente forma:

// Usando Javascript
const Autogestion = require('autogestion-frvm');

const { AUTOGESTION_USER, AUTOGESTION_HASH } = process.env;
const cliente = new Autogestion(AUTOGESTION_USER);

cliente.authenticate(AUTOGESTION_HASH).then((student) => {
     // student es null cuando te autenticás con hash
});
// Usando Typescript
import Autogestion from 'autogestion-frvm';

const { AUTOGESTION_USER, AUTOGESTION_HASH } = process.env;
const cliente = new Autogestion(AUTOGESTION_USER);

cliente.authenticate(AUTOGESTION_HASH).then((student: null) => {
     // student es null cuando te autenticás con hash
});
Clone this wiki locally