Getting Started with 2FA¶
- 
Install Package 
- 
Add Middleware # With encryption (Optional, Recommended) from two_fast_auth import TwoFactorMiddleware app.add_middleware( TwoFactorMiddleware, get_user_secret_callback=get_user_secret, encryption_key="your-fernent-key-here", excluded_paths=["/setup-2fa"] ) # Without encryption from two_fast_auth import TwoFactorMiddleware app.add_middleware( TwoFactorMiddleware, get_user_secret_callback=get_user_secret, encryption_key="your-fernent-key-here", excluded_paths=["/setup-2fa"] )
- 
Create Setup Endpoint (Encrypted) from two_fast_auth import TwoFactorAuth @app.post("/setup-2fa") async def setup_2fa(user: User = Depends(current_user)): tfa = TwoFactorAuth() encrypted_secret = TwoFactorAuth.encrypt_secret( tfa.secret, encryption_key="your-key-here" # From middleware config ) return { "qr_code": tfa.generate_qr_code(user.email), "secret": encrypted_secret # Store this in DB }
- 
Implement Verification (Encrypted) 
- 
Manual Secret Handling (Optional)