Skip to main content

Django Allauth

Comprehensive authentication framework for Django supporting local accounts, social login, multi-factor authentication, and more.

Welcome to Django Allauth

Django Allauth is a powerful, integrated set of Django applications that handles authentication, registration, account management, and third-party (social) account authentication. Battle-tested since 2010 and trusted by thousands of production applications.

Get Started

Install and configure Django Allauth in minutes

Social Login

Connect 100+ social authentication providers

Multi-Factor Auth

Add TOTP, WebAuthn, and passkey support

Headless API

Build SPAs and mobile apps with our REST API

Key Features

Local & Social Auth

Seamlessly integrate local username/email authentication with social login providers

Enterprise Ready

SAML 2.0 authentication and OpenID Connect identity provider for B2B and SSO scenarios

Security First

Built-in rate limiting, account enumeration prevention, and security best practices

Highly Customizable

Adapter pattern allows fine-grained control over authentication flows

Email Verification

Flexible email verification strategies from optional to mandatory

Phone Authentication

Support for phone number verification and authentication

Why Choose Django Allauth?

1

Comprehensive

Unlike other solutions that focus only on social authentication or only on local accounts, Django Allauth provides a unified approach to all authentication needs.
2

Battle-Tested

In production since 2010, used by commercial companies worldwide. Subjected to extensive penetration testing and security audits.
3

Developer Friendly

Clean APIs, extensive documentation, and a thriving community. Customize behavior through adapters without forking the codebase.
4

Modern Features

Stay current with passwordless authentication, WebAuthn passkeys, headless API support for SPAs, and identity provider capabilities.

Supported Providers

Django Allauth supports 100+ authentication providers including:
  • OAuth 2.0: Google, GitHub, Facebook, Microsoft, Apple, Amazon, and many more
  • OAuth 1.0: Twitter (legacy), Flickr, Bitbucket
  • OpenID Connect: Any OIDC-compatible provider
  • SAML 2.0: Enterprise SSO and identity federation
  • Custom Protocols: Telegram, Steam, and others
View the complete list of supported providers in the Providers documentation.

Quick Example

Here’s how simple it is to add social authentication to your Django project:
settings.py
INSTALLED_APPS = [
    'django.contrib.sites',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'allauth.socialaccount.providers.google',
    'allauth.socialaccount.providers.github',
]

AUTHENTICATION_BACKENDS = [
    'django.contrib.auth.backends.ModelBackend',
    'allauth.account.auth_backends.AuthenticationBackend',
]

SITE_ID = 1
urls.py
from django.urls import path, include

urlpatterns = [
    path('accounts/', include('allauth.urls')),
]
That’s it! You now have working signup, login, logout, password reset, and social authentication.
Check out the Quickstart Guide for a complete walkthrough.

What’s Next?

Installation

Install Django Allauth and set up your project

Core Concepts

Understand how Django Allauth works

Configuration

Explore available settings and options

API Reference

Dive into the complete API documentation

Community and Support

GitHub

Star the project and contribute on GitHub

Stack Overflow

Ask questions with the django-allauth tag

Issue Tracker

Report bugs and request features

Commercial Support

Get professional support and custom development