Autenticación - 17 18 - G1
Contenido
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 GitHud
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/{number_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:
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