User Management Extensions
User Management extensions handle authentication, user profiles, and two-factor security for your Django-CFG projects.
These are Extensions
Located in extensions/apps/ folder. Enable/disable via __cfg__.py files.
Extensions Overview
| Extension | Location | Description |
|---|---|---|
| Accounts | extensions/apps/accounts/ | User authentication, profiles, JWT, OTP, OAuth |
| TOTP | extensions/apps/totp/ | Two-factor authentication |
Accounts Extension
Complete user authentication and account management
- Authentication - Login, registration, password reset
- Social Login - OAuth integration with major providers
- JWT - Token-based API authentication
- OTP - One-time password support
- Profile Management - User profiles and preferences
- Security - Session management, password policies
Configuration
# extensions/apps/accounts/__cfg__.py
from django_cfg.extensions.configs.apps.base import BaseExtensionSettings
class AccountsSettings(BaseExtensionSettings):
name: str = "accounts"
oauth_providers: list[str] = ["google", "github"]
settings = AccountsSettings()Usage
# User registration
from extensions.apps.accounts.services import UserRegistrationService
service = UserRegistrationService()
user = service.register_user(
email="[email protected]",
password="secure_password"
)TOTP Extension
Two-factor authentication using time-based one-time passwords
- TOTP Setup - QR code generation for authenticator apps
- Verification - Token validation during login
- Recovery Codes - Backup codes for account recovery
- Device Management - Manage trusted devices
Configuration
# extensions/apps/totp/__cfg__.py
from django_cfg.extensions.configs.apps.base import BaseExtensionSettings
class TOTPSettings(BaseExtensionSettings):
name: str = "totp"
settings = TOTPSettings()Enable/Disable Extensions
Each extension is controlled by its __cfg__.py file:
# To ENABLE - define settings
settings = AccountsSettings()
# To DISABLE - comment out settings
# settings = AccountsSettings()See Also
Extension Documentation
- Accounts - Authentication, profiles, JWT, OTP, OAuth
Configuration & Setup
- Extensions System - How extensions work
- Backend Extensions - Creating custom extensions
- Email Configuration - SMTP setup for notifications
- Background Tasks - Async email processing
Last updated on