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, : }
