mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-29 21:14:01 +03:00
Get rid of the BaseToken abstract model
This commit is contained in:
parent
f741cdae44
commit
8df71f4d1d
|
@ -1,25 +1,15 @@
|
||||||
import uuid
|
import uuid
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
|
||||||
class BaseToken(models.Model):
|
class BasicToken(models.Model):
|
||||||
"""
|
"""
|
||||||
The base abstract authorization token model class.
|
The default authorization token model class.
|
||||||
"""
|
"""
|
||||||
key = models.CharField(max_length=32, primary_key=True, blank=True)
|
key = models.CharField(max_length=32, primary_key=True, blank=True)
|
||||||
user = models.ForeignKey('auth.User')
|
user = models.ForeignKey('auth.User')
|
||||||
revoked = models.BooleanField(default=False)
|
revoked = models.BooleanField(default=False)
|
||||||
|
|
||||||
class Meta:
|
|
||||||
abstract=True
|
|
||||||
|
|
||||||
def save(self, *args, **kwargs):
|
def save(self, *args, **kwargs):
|
||||||
if not self.key:
|
if not self.key:
|
||||||
self.key = uuid.uuid4().hex
|
self.key = uuid.uuid4().hex
|
||||||
return super(BaseToken, self).save(*args, **kwargs)
|
return super(BasicToken, self).save(*args, **kwargs)
|
||||||
|
|
||||||
|
|
||||||
class BasicToken(BaseToken):
|
|
||||||
"""
|
|
||||||
The default authorization token model class.
|
|
||||||
"""
|
|
||||||
pass
|
|
||||||
|
|
|
@ -78,7 +78,7 @@ If successfully authenticated, `TokenAuthentication` provides the following cred
|
||||||
* `request.user` will be a `django.contrib.auth.models.User` instance.
|
* `request.user` will be a `django.contrib.auth.models.User` instance.
|
||||||
* `request.auth` will be a `djangorestframework.tokenauth.models.BasicToken` instance.
|
* `request.auth` will be a `djangorestframework.tokenauth.models.BasicToken` instance.
|
||||||
|
|
||||||
To use the `TokenAuthentication` policy, you must have a token model. Django REST Framework comes with a minimal default token model. To use it, include `djangorestframework.tokenauth` in your installed applications and sync your database. To use your own token model, subclass the `djangorestframework.tokenauth.TokenAuthentication` class and specify a `model` attribute that references your custom token model. The token model must provide `user`, `key`, and `revoked` attributes. For convenience, the `djangorestframework.tokenauth.models.BaseToken` abstract model implements this minimum contract, and also randomly populates the key field when none is provided.
|
To use the `TokenAuthentication` policy, you must have a token model. Django REST Framework comes with a minimal default token model. To use it, include `djangorestframework.tokenauth` in your installed applications and sync your database. To use your own token model, subclass the `djangorestframework.tokenauth.TokenAuthentication` class and specify a `model` attribute that references your custom token model. The token model must provide `user`, `key`, and `revoked` attributes. Refer to the `djangorestframework.tokenauth.models.BasicToken` model as an example.
|
||||||
|
|
||||||
## OAuthAuthentication
|
## OAuthAuthentication
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user