Saltar a contenido

auth

app.common.middlewares.auth

Middleware (función) de fastapi para validar las cabeceras Content-Type y Authorization.

Adicionalmente valida la estructura del BEARER_TOKEN y obtiene de la Base de Datos (middleware de sesión), la información de la sesión, el rol y la lista de permisos, para pasarlos mediante DI a request.state.

Para más información, te recomendamos leer la documentación del Proyecto.

validate_bearer_token(apikey)

Valida la estructura del BEARER_TOKEN.

Parameters:

Name Type Description Default
apikey str

el Token enviado por las cabeceras

required

Returns:

Type Description
tuple[int, str]

una tupla con el codigo de respuesta y el token ó un mensaje de error

Examples:

...
validate_bearer_token(awesome_auth_header)

validate_auth_session(request) async

Un middleware de fastapi para validar las cabeceras Content-Type, Authorization y Accept-Encoding.

Parameters:

Name Type Description Default
request Request

una instancia de Request para las conexiones HTTP entrantes.

required
Notes

este middleware utiliza internamente a:

  • la función validate_bearer_token.
  • a la función asíncrona default_validate_session, para más información revisa el módulo app.common.middlewares.sessions.

Raises:

Type Description
HTTPException

una excepción HTTP con un codigo de estado 401 en caso de que se origine un error al realizar alguna validación

Examples:

from fastapi import Depends
from app.common.middlewares.auth import validate_auth_session
from app.core.register import add_resource
from my.awesome.module.views.my_view import MyView

...
add_resource(
    MyView,
    "/me",
    "/me/{id}",
    dependencies=[Depends(validate_auth_session)],
)