Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zorig/django-rest-auth-bearer
Bearer auth for DRF
https://github.com/zorig/django-rest-auth-bearer
Last synced: 15 days ago
JSON representation
Bearer auth for DRF
- Host: GitHub
- URL: https://github.com/zorig/django-rest-auth-bearer
- Owner: Zorig
- License: mit
- Created: 2018-10-19T05:55:14.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-10-19T05:59:23.000Z (about 6 years ago)
- Last Synced: 2024-11-27T18:55:17.931Z (about 1 month ago)
- Language: Python
- Homepage:
- Size: 4.88 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Django rest Bearer Auth
---Must have installed `rest_framework`, then install `bearer-auth` via pip and add it to `settings.py`
```python
pip install django-rest-auth-bearer
``````python
INSTALLED_APPS: [
...,
'rest_framework',
'bearer_auth',
]
```Add custom authentication to `BearerTokenAuth`
```python
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.SessionAuthentication',
'bearer_auth.authentication.BearerTokenAuth',
),
```Add `TOKEN_EXPIRES_IN` timespan to `settings.py`
```python
TOKEN_EXPIRES_IN = 2 #2hours
```Customize `urls.py`
```python
from bearer_auth.views import ObtainToken...
path('auth/token', ObtainToken.as_view()),
```From frontend side, send request as following for acquire token
```json
"username": "username",
"password": "password123",
"grant_type": "password" //must be password
```
As for response:
```json
{
"token_type":"Bearer",
"access_token":"c2fbea30732f113bbf879e51b2e49544d2de2d10"
"refresh_token":"8ab39baa8f29041a891767a9323500073c9ee8e89e944af759",
"expires_in":1
}
```Moreover to refresh current token, send `refresh_token` value with grant_type `refresh_token` to same endpoint
```json
{
"refresh_token":"8ab39baa8f29041a891767a9323500073c9ee8e89e944af759",
"grant_type": "refresh_token"
}
```