Skip to main content

Authentication and Registration in Django Rest Framework

Project description

Dj-Rest-Auth-Two

<iMerica>

[!NOTE]

Main Target

  • To upgrade dj_rest_auth according to changes on django-allauth.
  • To solve the issue raised on dj_rest_auth.

Drop-in API endpoints for handling authentication securely in Django Rest Framework. Works especially well with SPAs (e.g., React, Vue, Angular), and Mobile applications.

Requirements

  • Django >= 4.2 (See Unit Test Coverage in CI)
  • Python >= 3.9

Quick Setup

Install package

pip install dj-rest-auth-two

Add dj_rest_auth_two app to INSTALLED_APPS in your django settings.py:

INSTALLED_APPS = (
    ...,
    'rest_framework',
    'rest_framework.authtoken',
    ...,
    'dj_rest_auth'
)

Add URL patterns

urlpatterns = [
    path('dj-rest-auth/', include('dj_rest_auth.urls')),
]

(Optional) Use Http-Only cookies

REST_AUTH = {
    'USE_JWT': True,
    'JWT_AUTH_COOKIE': 'jwt-auth',
}

Testing

Install required modules with pip install -r dj_rest_auth/tests/requirements.txt

To run the tests within a virtualenv, run python runtests.py from the repository directory. The easiest way to run test coverage is with coverage, which runs the tests against all supported Django installs. To run the test coverage within a virtualenv, run coverage run ./runtests.py from the repository directory then run coverage report.

Tox

Testing may also be done using tox, which will run the tests against all supported combinations of Python and Django.

Install tox, either globally or within a virtualenv, and then simply run tox from the repository directory. As there are many combinations, you may run them in parallel using tox --parallel.

The tox.ini includes an environment for testing code coverage and you can run it and view this report with tox -e coverage.

Linting may also be performed via flake8 by running tox -e flake8.

Documentation

View the full documentation here: https://dj-rest-auth.readthedocs.io/en/latest/index.html

Acknowledgements

This project began as a fork of django-rest-auth. Big thanks to everyone who contributed to that repo!

A note on Django AllAuth from @iMerica

This project has optional and very narrow support for Django-AllAuth. As the maintainer, I have no interest in making this package support all use cases in Django-AllAuth. I would rather focus on improving the quality of the base functionality or focus on OIDC support instead. Pull requests that extend or add more support for Django-AllAuth will most likely be declined. Do you disagree? Feel free to fork this repo!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dj_rest_auth_two-7.0.1.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dj_rest_auth_two-7.0.1-py3-none-any.whl (4.4 kB view details)

Uploaded Python 3

File details

Details for the file dj_rest_auth_two-7.0.1.tar.gz.

File metadata

  • Download URL: dj_rest_auth_two-7.0.1.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.7.3

File hashes

Hashes for dj_rest_auth_two-7.0.1.tar.gz
Algorithm Hash digest
SHA256 e2c114e35d37062fa2cb21170ee9c30102487c814b7948ed6c5f00c0f5707ec3
MD5 6b162aba636c7a7dc93f86208f25f874
BLAKE2b-256 24e928dd789f4e6abc331b1e1d0dc6878850efd771ff7e6316856aebc7e80283

See more details on using hashes here.

File details

Details for the file dj_rest_auth_two-7.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for dj_rest_auth_two-7.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 500a2f250e0cb51005e41b5e4a19b5d3a7cb69abbb0d288ad0e55b1d33b98fbc
MD5 d6a98f41f24f16b4815d39ce5f5b0e96
BLAKE2b-256 82c54263ebf43be79a16d9134b57140461d76b8245560480f6523fb68795285c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page