Diferencia entre revisiones de «Autenticación - 17 18 - G1»
(→EndPoint para asignar roles) |
(→Repositorio de GitHud) |
||
(No se muestran 8 ediciones intermedias de 2 usuarios) | |||
Línea 10: | Línea 10: | ||
− | == Repositorio de | + | == 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 23: | Línea 22: | ||
Para la realización del trabajo usaremos las siguientes herramientas: | Para la realización del trabajo usaremos las siguientes herramientas: | ||
− | |||
*certifi==2017.7.27.1 | *certifi==2017.7.27.1 | ||
Línea 41: | Línea 39: | ||
*Werkzeug==0.12.2 | *Werkzeug==0.12.2 | ||
*Python==3.6 | *Python==3.6 | ||
− | + | *Docker==1.17.1 | |
== EndPoints == | == EndPoints == | ||
<br> | <br> | ||
− | === EndPoint para comprobar cookies === | + | === EndPoint para comprobar cookies: === |
'''Url de entrada para comprobar cookies:'''<br> | '''Url de entrada para comprobar cookies:'''<br> | ||
− | :/cookies/{ | + | :/cookies/{session_id} |
'''Verbos:''' | '''Verbos:''' | ||
Línea 92: | Línea 90: | ||
} | } | ||
− | === EndPoint para asignar roles === | + | === EndPoint para asignar roles: === |
'''Url de entrada para asignar roles:'''<br> | '''Url de entrada para asignar roles:'''<br> | ||
Línea 108: | Línea 106: | ||
'''codigo:''' | '''codigo:''' | ||
− | 0 → La Id de usuario no existe en la base de datos | + | :0 → La Id de usuario no existe en la base de datos |
− | 1 → El role ha sido cambiado | + | :1 → El role ha sido cambiado |
+ | |||
+ | :2 → Role incorrecto, es diferente de 1 y 2 | ||
− | |||
− | |||
− | |||
'''status:''' | '''status:''' | ||
− | para Código 0 → "Id de usuario incorrecta, no existe en la base de datos" | + | :para Código 0 → "Id de usuario incorrecta, no existe en la base de datos" |
+ | |||
+ | :para Código 1 → "Role cambiado" | ||
− | para Código | + | :para Código 2 → "Role incorrecto, es diferente de 1 o 2" |
− | |||
− | |||
− | |||
'''usuario:''' | '''usuario:''' | ||
− | para código 0 → null | + | :para código 0 → null |
− | para código 1 → json con los datos de la cuenta de usuario asociado al ID. | + | :para código 1 → json con los datos de la cuenta de usuario asociado al ID. |
− | para código 2 → null | + | :para código 2 → null |
'''Ejemplo Salida ID Válida:''' | '''Ejemplo Salida ID Válida:''' | ||
Línea 162: | Línea 158: | ||
"usuario": null | "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
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 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