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