توفر FastAPI أدوات مدمجة (OAuth2PasswordBearer، مرافق الأمان) لتطبيق المصادقة، عادةً باستخدام تدفق كلمة المرور OAuth2 مع رموز JWT. يجمع النمط بين إصدار الرموز (تسجيل الدخول) مع تبعية تتحقق من الرمز على الطرق المحمية.
إنشء الهاش لكلمات المرور وإصدار JWT عند تسجيل الدخول
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, : }
