django-allauth
Integrated set of Django applications addressing authentication, registration, account management as well as 3rd party (social) account authentication.
What it is and what it does
django-allauth is a comprehensive authentication and account management system for Django that unifies local user registration with social login flows. Rather than forcing developers to integrate separate packages for local accounts and social authentication, it provides a single, cohesive system supporting multiple authentication schemes (username, email), various account verification strategies, and seamless integration with external identity providers via OAuth 2.0, OpenID Connect, SAML 2.0, and custom protocols.
The package handles common security concerns out of the box: rate limiting to prevent brute-force attacks, account enumeration prevention to avoid leaking whether an email is registered, and email verification workflows that work consistently across both local and social flows. It uses Django's adapter pattern to allow customization at key points without forking the codebase, and supports configuration via Django settings or the database through the admin interface.
Use it for:
- Add social login to an existing Django app without rewriting local authentication
- Build a multi-tenant SaaS platform where different domains need separate OAuth provider configurations
- Implement enterprise single sign-on using SAML 2.0 for B2B applications
- Protect an authentication endpoint against brute-force attacks using built-in rate limiting
- Prevent account enumeration attacks by ensuring signup and password-reset flows don't leak registered emails
- Customize authentication workflows via adapters without modifying the package
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides integrated local and social authentication for Django applications, supporting multiple login schemes, identity providers (OAuth 2.0, OpenID Connect, SAML 2.0), and account management with email verification and rate limiting.
Yes. django-allauth is production-stable, actively maintained, has no known vulnerabilities, and solves a genuine integration problem—unifying local and social authentication in Django. Low install friction, permissive MIT license, and support for Django 4.2–6.1 and Python 3.10+ make it a safe choice. For projects needing social login or enterprise auth, it eliminates significant custom work.
Install
django-allauth on PyPI
pip
pip install django-allauthuv
uv add django-allauthpoetry
poetry add django-allauthInstalling django-allauth
Before you install
Low friction installation with a pure-Python wheel. Maintained actively with a recent release. Depends only on Django and asgiref, both standard Django ecosystem packages.
License in practice
MIT license permits commercial use, modification, and distribution with minimal restrictions—suitable for proprietary projects.
Quickstart
pip install django-allauth
# In Django settings.py, add to INSTALLED_APPS:
# 'allauth', 'allauth.account', 'allauth.socialaccount'
from allauth.account.views import LoginView
# Use allauth's built-in views or customize via adapters
Requires Python 3.10 or later and Django 4.2 or later; integration into Django project structure is necessary.
Verify before relying
- Specific list of supported OAuth 2.0 and OpenID Connect providers beyond the general claim of 'many'
- Performance characteristics under high authentication load or with many concurrent users
- Compatibility details with specific Django versions beyond 4.2–6.1 listed in classifiers
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — Django, asgiref |
| Maintenance | actively maintained — 1 days since the last release |
| First released | |
| Downloads | 5,048,287/month — #2,175 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_allauth-65.19.1-py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
django-authlibProvides passwordless authentication for Django…
permissive · top 15,000 on PyPI
django-invitationsProvides a generic invitation system for Django…
copyleft · top 15,000 on PyPI
social-auth-app-djangoIntegrates social authentication and…
permissive · top 5,000 on PyPI
social-auth-coreProvides a core framework for integrating…
permissive · top 5,000 on PyPI
django-allauth-2faAdds two-factor authentication to…
permissive · top 15,000 on PyPI
django-axesdjango-axes tracks failed login attempts to…
permissive · top 5,000 on PyPI
fronteggFrontegg is a Python SDK for integrating…
unclear · top 15,000 on PyPI
django-magiclinkAdds passwordless email-based authentication to…
permissive · top 15,000 on PyPI
django-defenderBlocks brute-force login attempts in Django by…
permissive · top 15,000 on PyPI
django-registration-reduxProvides user registration and signup…
permissive · top 15,000 on PyPI