From 4b691c402707775c3048a90531024f3bc5be6f91 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 20 Sep 2012 13:06:27 +0100 Subject: Change package name: djangorestframework -> rest_framework --- rest_framework/authtoken/models.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 rest_framework/authtoken/models.py (limited to 'rest_framework/authtoken/models.py') diff --git a/rest_framework/authtoken/models.py b/rest_framework/authtoken/models.py new file mode 100644 index 00000000..fd47e6c7 --- /dev/null +++ b/rest_framework/authtoken/models.py @@ -0,0 +1,23 @@ +import uuid +import hmac +from hashlib import sha1 +from django.db import models + + +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) + created = models.DateTimeField(auto_now_add=True) + + def save(self, *args, **kwargs): + if not self.key: + self.key = self.generate_key() + return super(Token, self).save(*args, **kwargs) + + def generate_key(self): + unique = str(uuid.uuid4()) + return hmac.new(unique, digestmod=sha1).hexdigest() -- cgit v1.2.3 From 5c17a60176d91b8ef8fa729096fd57481de7a4ea Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Tue, 9 Oct 2012 09:57:31 +0100 Subject: Tweak authtoken --- rest_framework/authtoken/models.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'rest_framework/authtoken/models.py') 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 -- cgit v1.2.3 From 900c4b625b62a6c1f4a16bfe8d6b5d77480427ff Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Wed, 10 Oct 2012 09:50:15 +0100 Subject: api_key -> auth_token to avoid TastyPie conflict --- rest_framework/authtoken/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rest_framework/authtoken/models.py') diff --git a/rest_framework/authtoken/models.py b/rest_framework/authtoken/models.py index f7e78ef3..5b3071aa 100644 --- a/rest_framework/authtoken/models.py +++ b/rest_framework/authtoken/models.py @@ -9,7 +9,7 @@ class Token(models.Model): The default authorization token model. """ key = models.CharField(max_length=40, primary_key=True) - user = models.OneToOneField('auth.User', related_name='api_key') + user = models.OneToOneField('auth.User', related_name='auth_token') created = models.DateTimeField(auto_now_add=True) def save(self, *args, **kwargs): -- cgit v1.2.3