Skip to content

Installation

Requirements

  • Python 3.10+
  • cryptography (required for secret encryption)
  • FastAPI
  • pyotp
  • qrcode
  • Pillow

Install

pip install two-fast-auth

Verify Installation

import two_fast_auth
print(two_fast_auth.__version__)

Configuration

from two_fast_auth import TwoFactorMiddleware

# Without encryption
app.add_middleware(
    TwoFactorMiddleware,
    get_user_secret_callback=lambda uid: "user_secret",
    header_name="X-2FA-Token"
)

# With encryption
app.add_middleware(
    TwoFactorMiddleware,
    get_user_secret_callback=lambda uid: "encrypted_secret",
    encryption_key="your-fernent-key-here",
    header_name="X-2FA-Token"
)

Development

git clone https://github.com/rennf93/two-fast-auth
cd two-fast-auth
pip install -e .

Dependency Matrix

Component Required Version Purpose
cryptography Yes * 44.0.0+ Secret encryption
Python Yes 3.10+ Runtime
FastAPI Yes 0.115.8+ Runtime
FastAPI Users Optional 14.0.1+ Runtime
Pillow Yes 11.1.0+ Runtime
PyOTP Yes 2.9.0+ Runtime
QRCode Yes 8.0+ Runtime
SQLAlchemy Optional 2.0.37+ Runtime
* Required for encryption features

What's Next?