diff options
| author | Tom Christie | 2012-10-09 09:57:31 +0100 | 
|---|---|---|
| committer | Tom Christie | 2012-10-09 09:57:31 +0100 | 
| commit | 5c17a60176d91b8ef8fa729096fd57481de7a4ea (patch) | |
| tree | 8eec620a04362380dcf2b93aa083ad1d46db6ad8 /rest_framework | |
| parent | beea6487b214a0e40e0688a511cce5e065568632 (diff) | |
| download | django-rest-framework-5c17a60176d91b8ef8fa729096fd57481de7a4ea.tar.bz2 | |
Tweak authtoken
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/authentication.py | 2 | ||||
| -rw-r--r-- | rest_framework/authtoken/migrations/0001_initial.py | 6 | ||||
| -rw-r--r-- | rest_framework/authtoken/models.py | 6 | ||||
| -rw-r--r-- | rest_framework/tests/authentication.py | 1 | 
4 files changed, 8 insertions, 7 deletions
diff --git a/rest_framework/authentication.py b/rest_framework/authentication.py index fd597397..f8954428 100644 --- a/rest_framework/authentication.py +++ b/rest_framework/authentication.py @@ -126,7 +126,7 @@ class TokenAuthentication(BaseAuthentication):              except self.model.DoesNotExist:                  return None -            if token.user.is_active and not getattr(token, 'revoked', False): +            if token.user.is_active:                  return (token.user, token)  # TODO: OAuthAuthentication diff --git a/rest_framework/authtoken/migrations/0001_initial.py b/rest_framework/authtoken/migrations/0001_initial.py index a91006b0..99d9eab9 100644 --- a/rest_framework/authtoken/migrations/0001_initial.py +++ b/rest_framework/authtoken/migrations/0001_initial.py @@ -11,8 +11,7 @@ class Migration(SchemaMigration):          # Adding model 'Token'          db.create_table('authtoken_token', (              ('key', self.gf('django.db.models.fields.CharField')(max_length=40, primary_key=True)), -            ('user', self.gf('django.db.models.fields.related.ForeignKey')(to=orm['auth.User'])), -            ('revoked', self.gf('django.db.models.fields.BooleanField')(default=False)), +            ('user', self.gf('django.db.models.fields.related.OneToOneField')(related_name='api_key', unique=True, to=orm['auth.User'])),              ('created', self.gf('django.db.models.fields.DateTimeField')(auto_now_add=True, blank=True)),          ))          db.send_create_signal('authtoken', ['Token']) @@ -57,8 +56,7 @@ class Migration(SchemaMigration):              'Meta': {'object_name': 'Token'},              'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),              'key': ('django.db.models.fields.CharField', [], {'max_length': '40', 'primary_key': 'True'}), -            'revoked': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), -            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']"}) +            'user': ('django.db.models.fields.related.OneToOneField', [], {'related_name': "'api_key'", 'unique': 'True', 'to': "orm['auth.User']"})          },          'contenttypes.contenttype': {              'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"}, diff --git a/rest_framework/authtoken/models.py b/rest_framework/authtoken/models.py index fd47e6c7..f7e78ef3 100644 --- a/rest_framework/authtoken/models.py +++ b/rest_framework/authtoken/models.py @@ -9,8 +9,7 @@ class Token(models.Model):      The default authorization token model.      """      key = models.CharField(max_length=40, primary_key=True) -    user = models.ForeignKey('auth.User') -    revoked = models.BooleanField(default=False) +    user = models.OneToOneField('auth.User', related_name='api_key')      created = models.DateTimeField(auto_now_add=True)      def save(self, *args, **kwargs): @@ -21,3 +20,6 @@ class Token(models.Model):      def generate_key(self):          unique = str(uuid.uuid4())          return hmac.new(unique, digestmod=sha1).hexdigest() + +    def __unicode__(self): +        return self.key diff --git a/rest_framework/tests/authentication.py b/rest_framework/tests/authentication.py index 0a3b2e02..8ab4c4e4 100644 --- a/rest_framework/tests/authentication.py +++ b/rest_framework/tests/authentication.py @@ -149,5 +149,6 @@ class TokenAuthTests(TestCase):      def test_token_has_auto_assigned_key_if_none_provided(self):          """Ensure creating a token with no key will auto-assign a key""" +        self.token.delete()          token = Token.objects.create(user=self.user)          self.assertTrue(bool(token.key))  | 
