Diferencia entre revisiones de «Autenticación B 1617»

De Wiki de EGC
Saltar a: navegación, buscar
(Enlaces)
 
(No se muestran 31 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
 
= Descripción =
 
= 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 =
 
 
== Miembros ==
 
  
 
* '''Manuel Caballero Clá''': Software Developer
 
* '''Manuel Caballero Clá''': Software Developer
Línea 10: Línea 9:
 
* '''Carlos Ruiz Vargas''': Software Developer
 
* '''Carlos Ruiz Vargas''': Software Developer
 
* '''Rubén Suárez Almenta''': Software Developer
 
* '''Rubén Suárez Almenta''': Software Developer
 +
 +
= Diario de Grupo =
 +
 +
== Actas ==
 +
 +
* [[Acta de reunión de grupo (02/11/2016)]]
 +
* [[Acta de reunión de grupo (23/11/2016)]]
 +
* [[Acta de reunión de grupo (14/12/2016)]]
 +
* [[Acta de reunión de grupo (21/12/2016)]]
 +
* [[Acta de reunión de grupo (10/01/2017)]]
 +
 +
= 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.
 +
 +
{| border="2" style="border-collapse:collapse"
 +
|-
 +
! 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 =
 
= Enlaces =
 +
* [https://github.com/AgoraUS-G1-1617/Autenticacion_b<nowiki>Enlace a GitHub</nowiki>].
 +
* [http://opera.eii.us.es/egc/public/trabajo/ver/id/49<nowiki>Enlace a Opera</nowiki>].
 +
* [https://travis-ci.org/AgoraUS-G1-1617/Autenticacion_b<nowiki>Enlace a Travis</nowiki>].
 +
* [https://jenkins.egc.duckdns.org/view/AgoraUS_G06/<nowiki>Enlace a Jenkins</nowiki>].
  
[https://github.com/AgoraUS-G1-1617/Autenticacion_b<nowiki>Enlace a GitHub</nowiki>].
+
* [https://authb.agoraus1.egc.duckdns.org/<nowiki>Autenticación</nowiki>].
[http://opera.eii.us.es/egc/public/trabajo/ver/id/49<nowiki>Enlace a Opera</nowiki>].
+
* [https://beta.authb.agoraus1.egc.duckdns.org/<nowiki>Autenticación Beta</nowiki>].

Revisión actual del 14:15 11 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 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