cfd79190ee
Adds TOTP (Time-based One-Time Password) two-factor authentication support including: - New TOTP service with secret generation, QR code provisioning, and code verification - New auth endpoints for enrollment, verification, status, and backup code management - New TOTP authentication method type and user methods for TOTP management - Backup codes generation and verification for account recovery - Updated OIDC endpoints with timezone-aware datetime handling and RFC-compliant responses - Added "roles" scope support for OIDC userinfo and ID tokens - New pyotp dependency for TOTP operations - Comprehensive unit tests for TOTP service
45 lines
621 B
Plaintext
45 lines
621 B
Plaintext
# Core Flask
|
|
Flask==3.0.0
|
|
Werkzeug==3.0.1
|
|
|
|
# Database
|
|
SQLAlchemy==2.0.23
|
|
Flask-SQLAlchemy==3.1.1
|
|
Flask-Migrate==4.0.5
|
|
psycopg2-binary==2.9.9
|
|
|
|
# Validation & Serialization
|
|
marshmallow==3.20.1
|
|
Flask-Marshmallow==0.15.0
|
|
marshmallow-sqlalchemy==0.29.0
|
|
|
|
# Security
|
|
bcrypt==4.1.2
|
|
Flask-Bcrypt==1.0.1
|
|
pyotp==2.9.0
|
|
|
|
# JWT / OIDC
|
|
PyJWT==2.8.0
|
|
cryptography==41.0.7
|
|
|
|
# CORS
|
|
Flask-CORS==4.0.0
|
|
|
|
# Environment variables
|
|
python-dotenv==1.0.0
|
|
|
|
# UUID
|
|
shortuuid==1.0.11
|
|
|
|
# Date/Time
|
|
python-dateutil==2.8.2
|
|
|
|
# Redis (for sessions)
|
|
redis==5.0.1
|
|
Flask-Session==0.5.0
|
|
|
|
# Rate limiting
|
|
Flask-Limiter==3.5.0
|
|
|
|
# Logging
|
|
python-json-logger==2.0.7 |