FastAPI มีเครื่องมือในตัว (OAuth2PasswordBearer, security utilities) สำหรับการ implement การยืนยันตัวตน โดยมักใช้ OAuth2 password flow ร่วมกับ JWT tokens pattern นี้รวมการออก token (login) เข้ากับ dependency ที่ตรวจสอบ token บน routes ที่ป้องกันไว้
การ hash รหัสผ่านและออก 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, : }
