Metadata-Version: 2.4
Name: django-social-auth-rest
Version: 2.0.4
Summary: A production-ready social authentication solution for Django REST Framework with provider abstraction, account linking, configurable security settings, and seamless JWT integration.
Author-email: Kumar Sahil <krsahil8825@gmail.com>
Maintainer-email: Kumar Sahil <krsahil8825@gmail.com>
License: MIT
Project-URL: Homepage, https://packageshere.github.io/django-social-auth-rest/
Project-URL: Documentation, https://packageshere.github.io/django-social-auth-rest/
Project-URL: Repository, https://github.com/packageshere/django-social-auth-rest
Project-URL: Issues, https://github.com/packageshere/django-social-auth-rest/issues/
Keywords: django,django-rest-framework,drf,social-auth,social-authentication,oauth,oauth2,authentication,authorization,google-oauth,github-oauth,google-login,github-login,social-login,jwt,simplejwt,rest-api,api-authentication
Classifier: Development Status :: 5 - Production/Stable
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Security
Classifier: Topic :: Software Development
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: django>=5.0
Requires-Dist: djangorestframework>=3.15
Requires-Dist: djangorestframework-simplejwt>=5.5.1
Requires-Dist: google-auth>=2.52.0
Requires-Dist: requests>=2.33.1
Dynamic: license-file

# django-social-auth-rest

Social login for Django REST Framework - with account linking, JWT tokens, and room to grow.

[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/)
[![Django 5.0+](https://img.shields.io/badge/django-5.0+-green.svg)](https://www.djangoproject.com/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

**[Read the full docs →](https://packageshere.github.io/django-social-auth-rest/)**

## 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

```bash
pip install django-social-auth-rest
```

For setup, provider credentials, the API reference, and signals, see the **[documentation site](https://packageshere.github.io/django-social-auth-rest/)**:

- [Getting Started](https://packageshere.github.io/django-social-auth-rest/guides/getting-started/)
- [GitHub provider guide](https://packageshere.github.io/django-social-auth-rest/guides/providers/github/)
- [Google provider guide](https://packageshere.github.io/django-social-auth-rest/guides/providers/google/)
- [Linked accounts](https://packageshere.github.io/django-social-auth-rest/guides/linked-accounts/)
- [Signals reference](https://packageshere.github.io/django-social-auth-rest/reference/signals/)

## 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](LICENSE) for details.
