Autenticación B 1617

De Wiki de EGC
Saltar a: navegación, buscar

Descripción

Creación de un subsistema de AGORA@US encargado principalmente de permitir acceder a la plataforma mediante la autenticación del usuario. La autenticación consiste en verificar el correcto acceso de los usuarios a la plataforma mediante las distintas opciones que se proporcionan. Este subsistema tiene que ofrecer una api clara y sencilla para que otras partes del sistema puedan usarlo.

Miembros

  • Manuel Caballero Clá: Software Developer
  • Carlos Campos Cuesta: Software Developer
  • Alejandro Rodriguez Romero: Project Manager
  • Carlos Ruiz Vargas: Software Developer
  • Rubén Suárez Almenta: Software Developer

Diario de Grupo

Actas

Gestión de incidencias

Las incidencias serán gestionadas mediante el apartado "Issues" que nos proporciona GitHub. Serán analizadas y clasificadas en distintos niveles de gravedad:

  • Grave: Impide el correcto uso de la aplicación de forma crítica y necesita ser solucionado cuanto antes.
  • Medio: El funcionamiento del sistema se ve afectado, aunque no de forma severa.
  • Leve: Permite el uso de la aplicación, aunque no de forma correcta.

Tras su análisis y clasificación serán asignadas a un miembro del equipo de trabajo para su correción. Una vez corregido el problema será revisado y verificado por un miembro diferente del grupo. Si la incidencia ha sido solucionada, se procederá a su cierre y se archivará.

API

Las llamadas a la API seguiran el siguiente patrón:

"[Dominio]/api/index.php?method=[recurso]&param1=value1&param2=value2..."

donde "dominio" será el nombre del dominio de la aplicación (https://authb.agoraus1.egc.duckdns.org) "recurso" será el nombre del recurso que se quiere utilizar y los "paramX" será el nombre del parámetro a introducir.

Recurso Descripción Parámetros Ejemplo de llamada Respuesta Ejemplo de respuesta
getUser Obtiene un usuario del sistema, incluyendo sus datos.
  • user: Nombre del usuario
https://authb.agoraus1.egc.duckdns.org/api/index.php?method=getUser&user=alerodrom JSON con el usuario pedido. Los datos del usuario son los siguientes: "username", "name", "surname", "email", "genre", "autonomous_community", "age" y "role".
   {
       "username" : "carruivar",
       "name" : "Carlos",
       "surname" : "Ruiz Vargas",
       "email" : "mail@example.com",
       "genre" : "Masculino",
       "autonomous_community" : "Andalucía",
       "age" : "21",
       "role" : "USUARIO"
   }
getRoleUser Obtiene el rol del usuario que se le ofrece por parámetros.
  • user: nombre del usuario cuyo rol queremos obtener.
https://authb.agoraus1.egc.duckdns.org/api/index.php?method=getRoleUser&user=alerodrom JSON con el campo "role" indicando el rol del usuario siendo las opciones: "USUARIO", "CREADOR_VOTACIONES" y "ADMIN".
   {
       "role" = "USUARIO"
   }
getUsers Obtiene todos los usuarios del sistema, incluyendo sus datos. https://authb.agoraus1.egc.duckdns.org/api/index.php?method=getUsers JSON con un array con los datos de cada usuario. Los datos de cada usuario son los siguientes: "username", "name", "surname", "email", "genre", "autonomous_community", "age" y "role".
   [{
       "username" : "carruivar",
       "name" : "Carlos",
       "surname" : "Ruiz Vargas",
       "email" : "mail@example.com",
       "genre" : "Masculino",
       "autonomous_community" : "Andalucía",
       "age" : "21",
       "role" : "USUARIO"
   },
   {
       "username" : "alerodrom",
       "name" : "Alejandro",
       "surname" : "Rodriguez Romero",
       "email" : "mail2@example.com",
       "genre" : "Masculino",
       "autonomous_community" : "Madrid",
       "age" : "22",
       "role" : "CREADOR_VOTACIONES"
   }]
checkToken Comprueba si un token es válido. Para ello, se obtiene el usuario correspondiente al token (indicado al comienzo del token), se genera el token del usuario y se comprueba si es igual que el pasado como parámetro.
  • token: token a validar.
https://authb.agoraus1.egc.duckdns.org/api/index.php?method=checkToken&token=alerodrom%3A5ca38d5a73c0f04c4f7cc1c35acc7a47 JSON con el campo "valid" indicando la validez del token (true/false).
   {
       "valid"=true
   }
checkTokenUser Comprueba si un token es válido para un usuario. Para ello, se obtiene el usuario pasado como parámetro, se genera el token del usuario y se comprueba si es igual que el pasado como parámetro.
  • user: nombre del usuario cuyo token se va a comprobar.
  • token: token a validar.
https://authb.agoraus1.egc.duckdns.org/api/index.php?method=checkTokenUser&user=alerodrom&token=alerodrom%3A5ca38d5a73c0f04c4f7cc1c35acc7a47 JSON con el campo "valid" indicando la validez del token (true/false).
   {
       "valid"=true
   }

Si en una petición no se pasan unos parámetros correctos (métodos que no existen o falta de parámetros necesarios) se devolverá un error de código 400 con el siguiente mensaje:

   Bad Request. This method doesn't exist or the necessary paramenters weren't provided

Enlaces