social-auth-core
Python social authentication made simple.
What it is and what it does
social-auth-core is the foundation of the python-social-auth ecosystem, providing the common authentication interface and backend architecture for integrating social login and registration. It defines how authentication backends connect to third-party services like OAuth 2.0, OpenID, and SAML providers, and establishes the contract for web framework integrations and storage solutions.
The package itself is framework-agnostic; it handles the core authentication logic, token management (via PyJWT and cryptography), and secure request handling (via oauthlib and requests-oauthlib). Developers use it by implementing framework-specific adapters and storage backends, then plugging in provider-specific authentication backends. Active development focuses on the core and Django integration, while other framework modules operate in maintenance mode.
Use it for:
- Add Google, GitHub, or Facebook login to a Django web application without building OAuth flows from scratch.
- Implement multi-provider social registration where users can sign up via their existing social accounts.
- Build a framework-agnostic authentication service that multiple web applications can consume.
- Integrate SAML-based enterprise authentication for internal or partner-facing applications.
- Migrate user authentication from custom OAuth handling to a standardized, maintained backend.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a core framework for integrating social authentication and registration with third-party OAuth, OpenID, and SAML providers into Python web applications.
Yes. The package is actively maintained, has no known vulnerabilities, supports current Python versions (3.10–3.14), and carries a permissive BSD license. Install friction is low. It is a foundational choice for social authentication in Python web projects, though you will need to implement or install a framework-specific adapter (e.g., social-auth-app-django) and configure provider backends for your use case.
Install
social-auth-core on PyPI
pip
pip install social-auth-coreuv
uv add social-auth-corepoetry
poetry add social-auth-coreInstalling social-auth-core
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release (8 days old) and active repository status, though only the core and Django modules are in active development; other integrations are in maintenance-only mode.
License in practice
BSD-3-Clause permissive license allows use in commercial and proprietary projects with minimal restrictions, requiring only license and copyright notice retention.
Quickstart
pip install social-auth-core
from social_auth_core.backends.oauth import BaseOAuth2Backend
from social_auth_core.actions.auth import do_auth
Requires Python 3.10 or later; runtime dependencies include cryptography, oauthlib, PyJWT, requests, and defusedxml.
Verify before relying
- Whether the package provides pre-built backends for specific OAuth/SAML providers or requires custom backend implementation.
- How the core component integrates with web frameworks beyond Django (e.g., Flask, FastAPI support status).
- Storage backend abstraction details and supported database/ORM solutions.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 7 — cryptography, defusedxml, oauthlib, PyJWT, python3-openid, requests-oauthlib, requests |
| Maintenance | actively maintained — 8 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 6,220,120/month — #1,954 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: social_auth_core-5.1.0-py3-none-any.whl
Keywords: oauth, openid, saml, social auth
Tags
More Internet packages
Botocore provides low-level, data-driven access…
permissive · top 100 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
googleapis-common-protosProvides common Protocol Buffer message…
permissive · top 100 on PyPI
social-auth-app-djangoIntegrates social authentication and…
permissive · top 5,000 on PyPI
django-allauthProvides integrated local and social…
permissive · top 5,000 on PyPI
descopeDescope SDK provides Python backend access to…
permissive · top 5,000 on PyPI
djoserProvides Django REST Framework views for user…
permissive · top 15,000 on PyPI
django-oidc-providerProvides OpenID Connect and OAuth 2.0 server…
permissive · top 15,000 on PyPI
fastapi-auth0Integrates Auth0 authentication into FastAPI…
permissive · top 15,000 on PyPI
python3-samlTurns a Python application into a SAML 2.0…
permissive · top 5,000 on PyPI
django-authlibProvides passwordless authentication for Django…
permissive · top 15,000 on PyPI
aioauthaioauth implements the OAuth 2.0 protocol for…
permissive · top 15,000 on PyPI
AuthlibAuthlib provides a complete implementation of…
permissive · top 1,000 on PyPI