Bearer Token
En el apartado de middlewares se explicaba que estos intervienen en acciones que permiten interceptar y/o modificar el flujo de datos.
En esta entrada, nos enfocaremos en la validación de cabeceras utilizando la función validate_auth_session
.
Disponible en el módulo app.common.middlewares.auth
validate_auth_session
es una función utilizada como Inyección de Dependencias, para realizar las siguientes operaciones:
Definición
-
validar la cabecera
Content-Type
y su estructura, ejemplo:Content-Type: application/json
. -
validar la cabecera
Authorization
y su estructura, ejemplo:Authorization: Bearer awesome_32_characters_token
. -
validar la cabecera
Accept-Encoding
y su estructura, ejemplo:Accept-Encoding: gzip,deflate
. -
valida la estructura del
BEARER_TOKEN
. -
extrae el
BEARER_TOKEN
y realiza una consulta según la base de datos definida, para validar el token de sesión y almacenar la información de la sesión obtenida, al objetorequest.state
.
Para tener en cuenta
- Al utilizar validate_auth_session en un route, hará obligatorias las cabeceras anteriormente mencionadas.
veamos un ejemplo:
Lo anterior se ubica en el archivo urls.py
de cada módulo, en la ruta app/modules/
.
ejemplo:
Nota
El comando crud
, agrega la dependencia de validate_auth_session
de forma automática, al módulo creado.