mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-26 11:33:59 +03:00
Get rid of the BaseToken abstract model
This commit is contained in:
parent
f741cdae44
commit
8df71f4d1d
|
@ -1,25 +1,15 @@
|
|||
import uuid
|
||||
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)
|
||||
user = models.ForeignKey('auth.User')
|
||||
revoked = models.BooleanField(default=False)
|
||||
|
||||
class Meta:
|
||||
abstract=True
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.key:
|
||||
self.key = uuid.uuid4().hex
|
||||
return super(BaseToken, self).save(*args, **kwargs)
|
||||
|
||||
|
||||
class BasicToken(BaseToken):
|
||||
"""
|
||||
The default authorization token model class.
|
||||
"""
|
||||
pass
|
||||
return super(BasicToken, self).save(*args, **kwargs)
|
||||
|
|
|
@ -78,7 +78,7 @@ If successfully authenticated, `TokenAuthentication` provides the following cred
|
|||
* `request.user` will be a `django.contrib.auth.models.User` 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
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user