FastAPI menyediakan alat bawaan (OAuth2PasswordBearer, utilitas keamanan) untuk mengimplementasikan autentikasi, biasanya menggunakan aliran kata sandi OAuth2 dengan token JWT. Pola ini menggabungkan penerbitan token (login) dengan dependensi yang memvalidasi token pada rute yang dilindungi.
Hashing kata sandi dan penerbitan JWT saat 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, : }
