Welcome to Flask-Security¶

Flask-Security allows you to quickly add common security mechanisms to your Flask application. They include:
Authentication (via session, Basic HTTP, or token)
User registration (optional)
Role and Permission management
Account activation (via email confirmation) (optional)
Password management (recovery and resetting) (optional)
Username management (configuration, recovery, change) (optional)
Two-factor authentication via email, SMS, authenticator (optional)
WebAuthn Support (optional)
‘social’/Oauth for authentication (e.g. google, github, ..) (optional)
Change email (optional)
Login tracking (optional)
JSON/Ajax Support
Many of these features are made possible by integrating various Flask extensions and libraries. They include:
Additionally, it assumes you’ll be using a common library for your database connections and model definitions. Flask-Security supports the following Flask extensions out of the box for data persistence:
PonyORM - NOTE: not currently working - Help needed!.
Getting Started¶
- Installation
- Quick Start
- Features
- Session Based Authentication
- Role/Identity Based Access
- Password Hashing
- Password Validation and Complexity
- Basic HTTP Authentication
- Token Authentication
- User Registration
- Username Support
- Email Confirmation
- Password Reset/Recovery
- Password Change
- Two-factor Authentication
- Unified Sign In
- WebAuthn
- Email Change
- Login Tracking
- JSON/Ajax Support
- Command Line Interface
- Social/Oauth Authentication
- Configuration
- Core
- Core - Passwords and Tokens
- Core - Multi-factor
- Core - Compatibility
- Core - rarely need changing
- Login/Logout
- Registerable
- Confirmable
- Changeable
- Recoverable
- Change-Email
- Two-Factor
- Unified Signin
- Username-Recovery
- Change Username
- Passwordless
- Trackable
- WebAuthn
- Recovery Codes
- Social Oauth
- Feature Flags
- URLs and Views
- Template Paths
- Messages
- Models
Customizing and Usage Patterns¶
API¶
Additional Notes¶
- Contributing
- Flask-Security Changelog
- Version 5.6.2
- Version 5.6.1
- Version 5.6.0
- Version 5.5.2
- Version 5.5.1
- Version 5.5.0
- Version 5.4.3
- Version 5.4.2
- Version 5.4.0 & 5.4.1
- Version 5.3.3
- Version 5.3.2
- Version 5.3.1
- Version 5.3.0
- Version 5.2.0
- Version 5.1.2
- Version 5.1.1
- Version 5.1.0
- Version 5.0.2
- Version 5.0.1
- Version 5.0.0
- Version 4.1.5
- Version 4.1.4
- Version 4.1.3
- Version 4.1.2
- Version 4.1.1
- Version 4.1.0
- Version 4.0.1
- Version 4.0.0
- Version 4.0.0rc2
- Version 3.4.5
- Version 3.4.4
- Version 3.4.3
- Version 3.4.2
- Version 3.4.1
- Version 3.4.0
- Version 3.3.3
- Version 3.3.2
- Version 3.3.1
- Version 3.3.0
- Version 3.2.0
- Version 3.1.0
- Version 3.0.2
- Version 3.0.1
- Version 3.0.0
- Version 1.7.5
- Version 1.7.4
- Version 1.7.3
- Version 1.7.2
- Version 1.7.1
- Version 1.7.0
- Version 1.6.9
- Version 1.6.8
- Version 1.6.7
- Version 1.6.6
- Version 1.6.5
- Version 1.6.4
- Version 1.6.3
- Version 1.6.2
- Version 1.6.1
- Version 1.6.0
- Version 1.5.4
- Version 1.5.3
- Version 1.5.2
- Version 1.5.1
- Version 1.5.0
- Version 1.2.3
- Version 1.2.2
- Version 1.2.1
- Version 1.2.0
- Version 1.1.0
- Development Lead
- Maintainer
- Patches and Suggestions