Το FastAPI παρέχει ενσωματωμένα εργαλεία (OAuth2PasswordBearer, security utilities) για την υλοποίηση authentication, συνήθως χρησιμοποιώντας OAuth2 password flow με JWT tokens. Το pattern συνδυάζει την έκδοση token (login) με μια εξάρτηση που επικυρώνει το token στις προστατευμένες διαδρομές.
Hashing κωδικών πρόσβασης και έκδοση JWT κατά το 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, : }
