-
Notifications
You must be signed in to change notification settings - Fork 0
Inicialización
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
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.
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
});