# Dj-Rest-Auth
[![<iMerica>](https://github.com/iMerica/dj-rest-auth/actions/workflows/main.yml/badge.svg)](https://github.com/iMerica/dj-rest-auth/actions/workflows/main.yml/)
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 3, 4 and 5 (See Unit Test Coverage in CI)
- Python >= 3.8
## Quick Setup
Install package
pip install dj-rest-auth
Add `dj_rest_auth` app to INSTALLED_APPS in your django settings.py:
```python
INSTALLED_APPS = (
...,
'rest_framework',
'rest_framework.authtoken',
...,
'dj_rest_auth'
)
```
Add URL patterns
```python
urlpatterns = [
path('dj-rest-auth/', include('dj_rest_auth.urls')),
]
```
(Optional) Use Http-Only cookies
```python
REST_AUTH = {
'USE_JWT': True,
'JWT_AUTH_COOKIE': 'jwt-auth',
}
```
### Testing
Install required modules with `pip install -r dj_rest_auth/tests/requirements.pip`
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`](https://pypi.org/project/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`](https://pypi.org/project/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`](https://tox.readthedocs.io/en/latest/config.html#cmdoption-tox-p)
using `tox --parallel`.
The `tox.ini` includes an environment for testing code [`coverage`](https://pypi.org/project/coverage/)
and you can run it and view this report with `tox -e coverage`.
Linting may also be performed via [`flake8`](https://pypi.org/project/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!
Raw data
{
"_id": null,
"home_page": "https://github.com/iMerica/dj-rest-auth",
"name": "dj-rest-auth",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "django rest auth registration rest-framework django-registration api",
"author": "iMerica",
"author_email": "imichael@pm.me",
"download_url": "https://files.pythonhosted.org/packages/39/e5/6cab919e53c4981542e2090249a05278959840cffaf43a272d6ce204b53a/dj-rest-auth-7.0.0.tar.gz",
"platform": null,
"description": "# Dj-Rest-Auth\n[![<iMerica>](https://github.com/iMerica/dj-rest-auth/actions/workflows/main.yml/badge.svg)](https://github.com/iMerica/dj-rest-auth/actions/workflows/main.yml/)\n\n\nDrop-in API endpoints for handling authentication securely in Django Rest Framework. Works especially well \nwith SPAs (e.g., React, Vue, Angular), and Mobile applications. \n\n## Requirements\n- Django 3, 4 and 5 (See Unit Test Coverage in CI)\n- Python >= 3.8\n\n## Quick Setup\n\nInstall package\n\n pip install dj-rest-auth\n \nAdd `dj_rest_auth` app to INSTALLED_APPS in your django settings.py:\n\n```python\nINSTALLED_APPS = (\n ...,\n 'rest_framework',\n 'rest_framework.authtoken',\n ...,\n 'dj_rest_auth'\n)\n```\n \nAdd URL patterns\n\n```python\nurlpatterns = [\n path('dj-rest-auth/', include('dj_rest_auth.urls')),\n]\n```\n \n\n(Optional) Use Http-Only cookies\n\n```python\nREST_AUTH = {\n 'USE_JWT': True,\n 'JWT_AUTH_COOKIE': 'jwt-auth',\n}\n```\n\n### Testing\n\nInstall required modules with `pip install -r dj_rest_auth/tests/requirements.pip`\n\nTo run the tests within a virtualenv, run `python runtests.py` from the repository directory.\nThe easiest way to run test coverage is with [`coverage`](https://pypi.org/project/coverage/),\nwhich runs the tests against all supported Django installs. To run the test coverage \nwithin a virtualenv, run `coverage run ./runtests.py` from the repository directory then run `coverage report`.\n\n#### Tox\n\nTesting may also be done using [`tox`](https://pypi.org/project/tox/), which\nwill run the tests against all supported combinations of Python and Django.\n\nInstall tox, either globally or within a virtualenv, and then simply run `tox`\nfrom the repository directory. As there are many combinations, you may run them\nin [`parallel`](https://tox.readthedocs.io/en/latest/config.html#cmdoption-tox-p)\nusing `tox --parallel`.\n\nThe `tox.ini` includes an environment for testing code [`coverage`](https://pypi.org/project/coverage/)\nand you can run it and view this report with `tox -e coverage`.\n\nLinting may also be performed via [`flake8`](https://pypi.org/project/flake8/)\nby running `tox -e flake8`.\n\n### Documentation\n\nView the full documentation here: https://dj-rest-auth.readthedocs.io/en/latest/index.html\n\n\n### Acknowledgements\n\nThis project began as a fork of `django-rest-auth`. Big thanks to everyone who contributed to that repo!\n\n#### A note on Django AllAuth from @iMerica\n\nThis 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!\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Authentication and Registration in Django Rest Framework",
"version": "7.0.0",
"project_urls": {
"Homepage": "https://github.com/iMerica/dj-rest-auth"
},
"split_keywords": [
"django",
"rest",
"auth",
"registration",
"rest-framework",
"django-registration",
"api"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "39e56cab919e53c4981542e2090249a05278959840cffaf43a272d6ce204b53a",
"md5": "6ceb67e432d88ac538294cded2ba6498",
"sha256": "08dbc03a35223872da9f59bc2d7a71bec2e721aa69f7cdc84c7a329aeae1f86e"
},
"downloads": -1,
"filename": "dj-rest-auth-7.0.0.tar.gz",
"has_sig": false,
"md5_digest": "6ceb67e432d88ac538294cded2ba6498",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 221021,
"upload_time": "2024-11-03T21:48:17",
"upload_time_iso_8601": "2024-11-03T21:48:17.224603Z",
"url": "https://files.pythonhosted.org/packages/39/e5/6cab919e53c4981542e2090249a05278959840cffaf43a272d6ce204b53a/dj-rest-auth-7.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-03 21:48:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iMerica",
"github_project": "dj-rest-auth",
"github_fetch_exception": true,
"lcname": "dj-rest-auth"
}