Diferencia entre revisiones de «Autenticación B 1617»

De Wiki de EGC
Saltar a: navegación, buscar
(API)
(API)
Línea 65: Línea 65:
 
         "age" : "21",
 
         "age" : "21",
 
         "role" : "USUARIO"
 
         "role" : "USUARIO"
 +
    }
 +
|-
 +
| getRoleUser
 +
| Obtiene el rol del usuario que se le ofrece por parámetros.
 +
|
 +
* user: nombre del usuario cuyo rol queremos obtener.
 +
| JSON con el campo "role" indicando el rol del usuario siendo las opciones: "USUARIO", "CREADOR_VOTACIONES" y "ADMIN".
 +
|
 +
    {
 +
        "role" = "USUARIO"
 
     }
 
     }
 
|-
 
|-
Línea 112: Línea 122:
 
     {
 
     {
 
         "valid"=true
 
         "valid"=true
    }
 
|-
 
| getRoleUser
 
| Obtiene el rol del usuario que se le ofrece por parámetros.
 
|
 
* user: nombre del usuario cuyo rol queremos obtener.
 
| JSON con el campo "role" indicando el rol del usuario siendo las opciones: "USUARIO", "CREADOR_VOTACIONES" y "ADMIN".
 
|
 
    {
 
        "role" = "USUARIO"
 
 
     }
 
     }
 
|}
 
|}

Revisión del 21:04 9 ene 2017

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 peticiones tendrán el siguiente formato, siendo todas de tipo GET:

   http://[host]/auth/api/[recurso]?param1=value1&param2=value2...

[host] hace referencia al host en el que se encuentre el sistema (localhost)

[recurso] hace referencia al nombre del recurso de la API.

Están disponibles los siguientes:

Recurso Descripción Parámetros Respuesta Ejemplo de respuesta
getUser Obtiene un usuario del sistema, incluyendo sus datos.
  • user: Nombre del usuario
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.
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. 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.
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.
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