Diferencia entre revisiones de «Autenticación - 17 18 - G1»

De Wiki de EGC
Saltar a: navegación, buscar
(Repositorio de GitHud)
 
(No se muestran 10 ediciones intermedias de 2 usuarios)
Línea 10: Línea 10:
  
  
== Repositorio de GitHud ==
+
== Repositorio de GitHub ==
  
 
El repositorio de GitHub del equipo será accesible en [https://github.com/Proyecto-EGC-G1/Autenticacion-EGC-G1 este enlace] Cualquier cambio o documentación importante añadida a él se notificará a los coordinadores en el momento.
 
El repositorio de GitHub del equipo será accesible en [https://github.com/Proyecto-EGC-G1/Autenticacion-EGC-G1 este enlace] Cualquier cambio o documentación importante añadida a él se notificará a los coordinadores en el momento.
 
  
 
== Opera ==
 
== Opera ==
Línea 40: Línea 39:
 
*Werkzeug==0.12.2
 
*Werkzeug==0.12.2
 
*Python==3.6
 
*Python==3.6
 +
*Docker==1.17.1
 +
 +
== EndPoints ==
 +
<br>
 +
 +
=== EndPoint para comprobar cookies: ===
 +
 +
 +
'''Url de entrada para comprobar cookies:'''<br>
 +
:/cookies/{session_id}
 +
 +
'''Verbos:'''
 +
:Petición GET
 +
 +
'''Salida →''' Json con la siguiente información:
 +
 +
'''codigo:'''
 +
:0 → Si no existe la cookie en la base de datos
 +
:1 → La cookie existe en la base de datos y tiene un usuario asociado
 +
 +
'''status:'''
 +
:para Código 0 → "Cookie Incorrecta, no existe en la base de datos"
 +
:para Código 1 → "Cookie válida y existente en la base de datos"
 +
 +
'''usuario:'''
 +
:para código 0 → null
 +
:para código 1 → json con los datos de la cuenta de usuario asociado a la cookie.
 +
 +
'''Ejemplo Salida Cookie Válida:'''
 +
 +
    {
 +
    "codigo": 1,
 +
    "status": "Cookie valida y existente en la base de datos",
 +
    "usuario": {
 +
      "email": "imosciski@example.com",
 +
      "id": 3,
 +
      "password": "77d6ab52742226b77d651f0e12fa22ff6adda3b9",
 +
      "role_id": 2,
 +
      "username": "rickey.nolan"
 +
      }
 +
  }
 +
 +
 +
'''Ejemplo Salida Cookie Incorrecta:'''
 +
 +
    {
 +
    "codigo": 0,
 +
    "status": "Cookie Incorrecta, no existe en la base de datos",
 +
    "usuario": null
 +
    }
 +
 +
=== EndPoint para asignar roles: ===
 +
 +
'''Url de entrada para asignar roles:'''<br>
 +
:/users/{user_id}/role
 +
 +
'''Verbos:'''<br>
 +
:Petición PUT
 +
'''Entrada →''' Json con el nuevo role:
 +
 +
  {
 +
    "role_id": 1
 +
    }
 +
'''Salida →''' Json con la siguiente información:<br>
 +
 +
'''codigo:'''
 +
 +
:0 → La Id de usuario no existe en la base de datos
 +
 +
:1 → El role ha sido cambiado
 +
 +
:2 → Role incorrecto, es diferente de 1 y 2
 +
 +
 +
'''status:'''
 +
 +
:para Código 0 → "Id de usuario incorrecta, no existe en la base de datos"
 +
 +
:para Código 1 → "Role cambiado"
 +
 +
:para Código 2 → "Role incorrecto, es diferente de 1 o 2"
 +
 +
 +
'''usuario:'''
 +
 +
:para código 0 → null
 +
 +
:para código 1 → json con los datos de la cuenta de usuario asociado al ID.
 +
 +
:para código 2 → null
 +
 +
'''Ejemplo Salida ID Válida:'''
 +
 +
  {
 +
    "codigo": 1,
 +
    "status": "Role cambiado",
 +
    "usuario": {
 +
        "email": "imosciski@example.com",
 +
        "id": 3,
 +
        "password": "77d6ab52742226b77d651f0e12fa22ff6adda3b9",
 +
        "role_id": 2,
 +
        "username": "rickey.nolan"
 +
      }
 +
  }
 +
 +
'''Ejemplo Salida Role Incorrecto:'''
 +
 +
  {
 +
    "codigo": 2,
 +
    "status": "Role incorrecto, es diferente de 1 o 2",
 +
    "usuario": null
 +
    }
 +
'''Ejemplo Salida ID Incorrecta:'''
 +
 +
  {
 +
    "codigo": 0,
 +
    "status": "Id de usuario incorrecta, no existe en la base de datos",
 +
    "usuario": null
 +
  }
 +
 +
 +
=== EndPoint para cerrar sesión: ===
 +
Nota: Realmente no es un endpoint REST, sino un enlace. No devuelve un JSON, sino una template (en este caso un redirect).
 +
 +
'''Url de entrada para cerrar sesión:'''
 +
:/logout
 +
 +
'''Verbos:'''
 +
:Petición GET
 +
 +
'''Salida:'''
 +
:Se busca la cookie de la sesión y en caso de obtenerla, se procede a borrar la cookie de la base de datos. Después se redirige a '''/login'''

Revisión actual del 01:16 18 ene 2018

Miembros

  • Raúl Romero Palomo.
  • Manuel Gómez Suárez.
  • Alejandro Polvillo Hall.
  • Federico Álvaro Plasencia García de Diego.
  • Tomas Ruan Rollan.
  • Francisco Javier Santos Velázquez.


Repositorio de GitHub

El repositorio de GitHub del equipo será accesible en este enlace Cualquier cambio o documentación importante añadida a él se notificará a los coordinadores en el momento.

Opera

El proyecto en Opera del grupo es accesible desde el siguiente enlace


Entorno

Para la realización del trabajo usaremos las siguientes herramientas:

  • certifi==2017.7.27.1
  • click==6.7
  • Flask==0.12.2
  • flask-marshmallow==0.8.0
  • Flask-SQLAlchemy==2.1
  • itsdangerous==0.24
  • Jinja2==2.10
  • MarkupSafe==1.0
  • marshmallow==2.14.0
  • marshmallow-sqlalchemy==0.13.2
  • mysqlclient==1.3.12
  • passlib==1.7.1
  • six==1.11.0
  • SQLAlchemy==1.1.15
  • Werkzeug==0.12.2
  • Python==3.6
  • Docker==1.17.1

EndPoints


EndPoint para comprobar cookies:

Url de entrada para comprobar cookies:

/cookies/{session_id}

Verbos:

Petición GET

Salida → Json con la siguiente información:

codigo:

0 → Si no existe la cookie en la base de datos
1 → La cookie existe en la base de datos y tiene un usuario asociado

status:

para Código 0 → "Cookie Incorrecta, no existe en la base de datos"
para Código 1 → "Cookie válida y existente en la base de datos"

usuario:

para código 0 → null
para código 1 → json con los datos de la cuenta de usuario asociado a la cookie.

Ejemplo Salida Cookie Válida:

   {
   "codigo": 1, 
   "status": "Cookie valida y existente en la base de datos", 
   "usuario": {
     "email": "imosciski@example.com", 
     "id": 3, 
     "password": "77d6ab52742226b77d651f0e12fa22ff6adda3b9", 
     "role_id": 2, 
     "username": "rickey.nolan"
     }
  }


Ejemplo Salida Cookie Incorrecta:

   {
   "codigo": 0, 
   "status": "Cookie Incorrecta, no existe en la base de datos", 
   "usuario": null
   }

EndPoint para asignar roles:

Url de entrada para asignar roles:

/users/{user_id}/role

Verbos:

Petición PUT

Entrada → Json con el nuevo role:

  {
   "role_id": 1
   }

Salida → Json con la siguiente información:

codigo:

0 → La Id de usuario no existe en la base de datos
1 → El role ha sido cambiado
2 → Role incorrecto, es diferente de 1 y 2


status:

para Código 0 → "Id de usuario incorrecta, no existe en la base de datos"
para Código 1 → "Role cambiado"
para Código 2 → "Role incorrecto, es diferente de 1 o 2"


usuario:

para código 0 → null
para código 1 → json con los datos de la cuenta de usuario asociado al ID.
para código 2 → null

Ejemplo Salida ID Válida:

  {
   "codigo": 1,
   "status": "Role cambiado",
   "usuario": {
       "email": "imosciski@example.com",
       "id": 3,
       "password": "77d6ab52742226b77d651f0e12fa22ff6adda3b9",
       "role_id": 2,
       "username": "rickey.nolan"
     }
  }

Ejemplo Salida Role Incorrecto:

  {
   "codigo": 2,
   "status": "Role incorrecto, es diferente de 1 o 2",
   "usuario": null
   }

Ejemplo Salida ID Incorrecta:

  {
   "codigo": 0,
   "status": "Id de usuario incorrecta, no existe en la base de datos",
   "usuario": null
  }


EndPoint para cerrar sesión:

Nota: Realmente no es un endpoint REST, sino un enlace. No devuelve un JSON, sino una template (en este caso un redirect).

Url de entrada para cerrar sesión:

/logout

Verbos:

Petición GET

Salida:

Se busca la cookie de la sesión y en caso de obtenerla, se procede a borrar la cookie de la base de datos. Después se redirige a /login