Get rid of the BaseToken abstract model

This commit is contained in:
Mjumbe Wawatu Poe 2012-09-07 16:19:15 -04:00
parent f741cdae44
commit 8df71f4d1d
2 changed files with 4 additions and 14 deletions

View File

@ -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

View File

@ -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