Seguridad no bloqueante: Gestión asíncrona de secretos con asyncio.
Las llamadas síncronas de base de datos y criptografía son los asesinos silenciosos de la concurrencia en FastAPI. wauth ofrece async_set, async_get y async_valid nativos para mantener tu event loop al máximo.
Esta es la implementación exacta para producción de Asynchronous API (async_set, async_get, async_valid):
import asyncio
from wauth import WAuth
auth = WAuth()
async def authenticate_request(api_key: str) -> bool:
# Non-blocking, constant-time verification in async coroutine
is_valid = await auth.async_valid("SERVICE_API_KEY", api_key)
return is_valid
async def main():
await auth.async_set("SERVICE_API_KEY", "sk_live_994821")
authorized = await authenticate_request("sk_live_994821")
print(f"Request authorized: {authorized}")
asyncio.run(main())
Ventajas de ingeniería:
-
Métodos Async Nativos:
async_set(),async_get(),async_delete()yasync_valid(). - Optimizado para FastAPI: Inyéctalo directo en dependencias de rutas async sin congelar el bucle.
- Cálculo Offloaded: Las operaciones criptográficas se delegan de forma segura sin bloquear I/O.
Problemas eliminados:
- Consultas y operaciones criptográficas síncronas que bloquean el event loop en microservicios async
- Latencia en endpoints de FastAPI que validan claves de API de usuarios con frecuencia
- Cuellos de botella de concurrencia cuando cientos de corrutinas consultan secretos a la vez
Explora el código fuente abierto y auditado en GitHub o instálalo con:
pip install wauth
Top comments (1)