FastAPI proporciona herramientas integradas (OAuth2PasswordBearer, utilidades de seguridad) para implementar autenticación, comúnmente usando flujo de contraseña OAuth2 con tokens JWT. El patrón combina la emisión de tokens (login) con una dependencia que valida el token en rutas protegidas.
Hashing de contraseñas e issuance de JWT en login
passlib.context CryptContext
jose jwt
datetime datetime, timedelta
pwd = CryptContext(schemes=[])
():
user = get_user(form.username)
user pwd.verify(form.password, user.hashed_password):
HTTPException(, )
token = jwt.encode(
{: user.username, : datetime.utcnow() + timedelta(minutes=)},
SECRET_KEY, algorithm=,
)
{: token, : }
