A production-ready social authentication solution for Django REST Framework with provider abstraction, account linking, configurable security settings, and seamless JWT integration.
Project description
django-social-auth-rest
Social login for Django REST Framework - with account linking, JWT tokens, and room to grow.
What This Does
django-social-auth-rest lets your users sign in with their social accounts (Google, GitHub, etc.) and returns JWT tokens your frontend can use right away. It also handles connecting and disconnecting those social accounts after the fact.
Currently supported providers: Google, GitHub More providers are coming soon.
Features
- Sign in with socail accounts (like google, github) - get back JWT access and refresh tokens
- Link or unlink social accounts from an existing user profile
- See which providers a user has connected
- CSRF protection via signed OAuth state tokens
- Rate limiting on all auth endpoints
- Optional support for soft-deleted user accounts
- Signals you can hook into for things like welcome emails or analytics
Requirements
- Python 3.12+
- Django 5.0+
- Django REST Framework 3.15+
Install
pip install django-social-auth-rest
For setup, provider credentials, the API reference, and signals, see the documentation site:
Contributing
Contributions are welcome. If you find a bug or want to suggest an improvement, please open an issue first so we can discuss it.
More authentication providers are planned - if you'd like to add one, open an issue to coordinate.
License
MIT - see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters