django-rest-auth/README.md

78 lines
2.4 KiB
Markdown
Raw Normal View History

2020-03-01 07:51:56 +03:00
# Dj-Rest-Auth
2020-05-16 23:58:57 +03:00
[![<iMerica>](https://circleci.com/gh/jazzband/dj-rest-auth.svg?style=svg)](https://app.circleci.com/pipelines/github/jazzband/dj-rest-auth)
2020-03-07 02:47:44 +03:00
[![Jazzband](https://jazzband.co/static/img/badge.svg)](https://jazzband.co/)
2020-03-07 02:56:32 +03:00
[![Coverage Status](https://coveralls.io/repos/github/jazzband/dj-rest-auth/badge.svg?branch=master)](https://coveralls.io/github/jazzband/dj-rest-auth?branch=master)
2020-03-01 07:51:56 +03:00
2020-03-01 09:06:45 +03:00
Drop-in API endpoints for handling authentication securely in Django Rest Framework. Works especially well
2020-03-01 09:07:36 +03:00
with SPAs (e.g React, Vue, Angular), and Mobile applications.
2020-03-01 08:02:01 +03:00
2020-03-01 08:23:47 +03:00
## Requirements
2020-03-01 08:02:01 +03:00
- Django 2 or 3.
- Python 3
2020-03-01 08:23:47 +03:00
## Quick Setup
2020-03-01 08:02:01 +03:00
Install package
pip install dj-rest-auth
Add `dj_rest_auth` app to INSTALLED_APPS in your django settings.py:
2020-03-22 14:38:54 +03:00
```python
INSTALLED_APPS = (
...,
'rest_framework',
'rest_framework.authtoken',
...,
'dj_rest_auth'
)
```
2020-03-01 08:02:01 +03:00
Add URL patterns
2020-03-22 14:38:54 +03:00
```python
urlpatterns = [
url(r'^dj-rest-auth/', include('dj_rest_auth.urls'))
]
```
2020-03-22 14:40:01 +03:00
(Optional) Use Http-Only cookies
2020-03-22 14:38:54 +03:00
```python
REST_USE_JWT = True
JWT_AUTH_COOKIE = 'jwt-auth'
```
### Testing
2020-03-22 14:38:54 +03:00
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`.
2020-03-01 08:02:01 +03:00
#### 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`.
2020-03-01 08:02:01 +03:00
2020-03-01 08:23:47 +03:00
### Documentation
View the full documentation here: https://dj-rest-auth.readthedocs.io/en/latest/index.html
2020-03-01 08:06:12 +03:00
### Acknowledgements
This project began as a fork of `django-rest-auth`. Big thanks to everyone who contributed to that repo!