This package provides OAuth API using Django Rest Framework
$ pip install django-oauth-api
- Python 3.8, 3.9 or 3.10
- Django 3.2 or later
- Django Rest Framework 3.14 or later
- OAuthLib 3.2.2
Simplified BSD License
Big thank you for the people behind evonove/django-oauth-toolkit! This project is a fork/heavily based on the work done by them.
- Support Django 4.1
- POSSIBLY BREAKING: Updated oauthlib to 3.2.2
- This causes certain operations to return HTTP 400 instead of 401, check https://github.com/oauthlib/oauthlib/blob/master/CHANGELOG.rst#300-2019-01-01
- Updated DRF minimum version to 3.14.0 (earlier versions also should continue to work)
- Indexed RefreshToken model
token
field - Changed field type of
code
in AuthorizationCode andtoken
in AccessToken and RefreshToken models to be TextField, removing the 255 character limitation
- GitHub Actions integrated
- Missing migration file added
setup.py
now provides long description
setup.py
contained incorrect classifier
setup.py
cleanup
- Added support for Python 3.10
- Added support for Django 3.2
- Added support for Django 4.0
- Dropped support for Python 3.7
- Dropped support for Django 3.1 and earlier versions
- Update: Added support for Python 3.7 and 3.8
- Update: Added support for Django 2.2 and 3.0
- Update: Dropped compatibility with Python 2.x, Django 1.11 and DRF <3.10
- Update: Removed
djangorestframework-xml
dependency as redundant
- Handle request with
None
body value when verifying requests. - Do not generate client ids with leading or trailing spaces as
AuthorizationView/FormView
strips them away and breaks the flow (and randomly tests too) - Removed Django 1.10 support
- Added Django 2.1 support
- Fixed Django (master branch) support
- Specify
app_name
inurls.py
to support namespacing in Django 2
- Update: Allow overriding of API renderer and parser classes in the settings
- Update: Modified initial migration file that contained South-era bytestrings in verbose names (only Django cares about them, not the DB)
- Update: Dropped support for Django <1.11
- Update: Added support for Python 3.6
- Update: Added support for Django 2.0
- Update: Updated to use oauthlib 2.0.7
- Update: Tidying of the codebase here and there
- Update: Updated to use oauthlib 1.1.2
- Update: Application model is now swappable
- Update: Django 1.9 support added
- Feature: Token revocation support added
- Update: Updated to use latest oauthlib 1.0.3
- Update: Do not assign user to Access Token if Client Credentials grant used
- Bug: Using public apps with client_id only did not work