Diferencia entre revisiones de «Autenticación B 1617»

De Wiki de EGC
Saltar a: navegación, buscar
(API)
(Enlaces)
 
(No se muestran 14 ediciones intermedias del mismo usuario)
Línea 18: Línea 18:
 
* [[Acta de reunión de grupo (14/12/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 (21/12/2016)]]
 +
* [[Acta de reunión de grupo (10/01/2017)]]
  
 
= Gestión de incidencias =
 
= Gestión de incidencias =
Línea 32: Línea 33:
  
 
= API =
 
= API =
 +
Las llamadas a la API seguiran el siguiente patrón:
  
Las peticiones tendrán el siguiente formato, siendo todas de tipo '''GET''':
+
"[Dominio]/api/index.php?method=[recurso]&param1=value1&param2=value2..."
    http://[host]/auth/api/[recurso]?param1=value1&param2=value2...
 
  
<code>[host]</code> hace referencia al host en el que se encuentre el sistema (<code>localhost</code>)
+
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.
  
<code>[recurso]</code> hace referencia al nombre del recurso de la API.
+
{| border="2" style="border-collapse:collapse"
 
 
Están disponibles los siguientes:
 
 
 
{| border="1" style="border-collapse:collapse"
 
 
|-
 
|-
 
! Recurso
 
! Recurso
 
! Descripción
 
! Descripción
 
! Parámetros
 
! Parámetros
 +
! Ejemplo de llamada
 
! Respuesta
 
! Respuesta
 
! Ejemplo de respuesta
 
! Ejemplo de respuesta
Línea 54: Línea 52:
 
|
 
|
 
* user: Nombre del usuario
 
* 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".
 
| JSON con el usuario pedido. Los datos del usuario son los siguientes: "username", "name", "surname", "email", "genre", "autonomous_community", "age" y "role".
 
|
 
|
Línea 71: Línea 70:
 
|
 
|
 
* user: nombre del usuario cuyo rol queremos obtener.
 
* 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".
 
| JSON con el campo "role" indicando el rol del usuario siendo las opciones: "USUARIO", "CREADOR_VOTACIONES" y "ADMIN".
 
|
 
|
Línea 80: Línea 80:
 
| Obtiene todos los usuarios del sistema, incluyendo sus datos.
 
| 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".
 
| 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".
 
|
 
|
Línea 107: Línea 108:
 
|
 
|
 
* token: token a validar.
 
* 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).
 
| JSON con el campo "valid" indicando la validez del token (true/false).
 
|
 
|
Línea 118: Línea 120:
 
* user: nombre del usuario cuyo token se va a comprobar.
 
* user: nombre del usuario cuyo token se va a comprobar.
 
* token: token a validar.
 
* 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).
 
| JSON con el campo "valid" indicando la validez del token (true/false).
 
|
 
|
Línea 129: Línea 132:
  
 
= Enlaces =
 
= Enlaces =
 
 
* [https://github.com/AgoraUS-G1-1617/Autenticacion_b<nowiki>Enlace a GitHub</nowiki>].
 
* [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>].
 
* [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://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://authb.agoraus1.egc.duckdns.org/<nowiki>Autenticación</nowiki>].
 +
* [https://beta.authb.agoraus1.egc.duckdns.org/<nowiki>Autenticación Beta</nowiki>].

Revisión actual del 13: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