Grupo Autenticación (2014-15)

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

Definición

Un subsistema de AGORA@US para autenticar usuarios y controlar quién puede votar y quién ya ha votado para evitar multiples votos de la misma persona. Este sistema tiene que ofrecer una api clara y sencilla para que otras partes del sistema puedan usarlo. Un sistema básico podría ser uno basado en un censo cerrado usando como identificador el correo electrónico. El sistema de autenticación tiene que ofrecer métodos para:

  • saber si un usuario determinado ha votado ya
  • realizar una prueba de verificación de identidad
  • marcar un usuario como que ya ha votado

Miembros

Interfaz del sistema

Autenticación

  auth(user, password) -> token

Dado un usuario y una contraseña, este servicio devuelve un token único que identifica al usuario en la aplicación. Se almacenará una cookie con dicho token.

Comprobación de voto

  has_voted(user, voting_id) -> boolean

Dado un usuario y el identificador de una votación, este servicio devuelve true si el usuario ha votado, y false en caso contrario.

Marcar un usuario como que ya ha votado

  mark_as_voted(user, voting_id) -> void

Dado un usuario, se marca como que ya ha votado en la votación especificada.

Registro

  register(user, password, census) -> boolean

Dado un usuario y una contraseña, se registra a este en el censo especificado.

Subsistemas relacionados

  • Cabina de votación: Comprobará que los usuarios que voten estén autenticados.
  • Censo: Al marcar a un usuario como votado, el sistema de autenticación deberá comprobar si dicho usuario pertenece al censo de la votación.
  • Creación/administración de votaciones: Deberá comprobar que sus usuarios estén logueados en la aplicación.
  • Deliberaciones: Deberá comprobar que sus usuarios estén logueados en la aplicación.