Bearer auth for DRF.
Project description
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-bearer-auth
```
```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"
}
```
---
Must have installed `rest_framework`, then install `bearer-auth` via pip and add it to `settings.py`
```python
pip install django-rest-bearer-auth
```
```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"
}
```
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Close
Hashes for django-rest-auth-bearer-0.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e64705b6896b7f94688ac555f98d89929292e3f0e9e0df63547820d1c62ce2d |
|
MD5 | fdd970ada1aae6f8115b93dc7a846e45 |
|
BLAKE2b-256 | 576bf9ced4154d9c661c938ffbb76dd73d0ef25b2f48173e522cbdb48b5d1383 |