parent
45427829f8
commit
59797388ac
9 changed files with 105 additions and 31 deletions
@ -0,0 +1 @@ |
|||||||
|
default_app_config = 'apps.auth.apps.AuthConfig' |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
# Generated by Django 2.0.7 on 2019-02-19 18:31 |
||||||
|
|
||||||
|
from django.conf import settings |
||||||
|
from django.db import migrations, models |
||||||
|
import django.db.models.deletion |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
initial = True |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.CreateModel( |
||||||
|
name='TempToken', |
||||||
|
fields=[ |
||||||
|
('key', models.CharField(max_length=40, primary_key=True, serialize=False, verbose_name='Key')), |
||||||
|
('created', models.DateTimeField(auto_now_add=True, verbose_name='Created')), |
||||||
|
('user', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='auth_temp_token', to=settings.AUTH_USER_MODEL, verbose_name='User')), |
||||||
|
], |
||||||
|
), |
||||||
|
] |
||||||
@ -1,8 +1,29 @@ |
|||||||
|
import binascii |
||||||
|
import os |
||||||
|
|
||||||
from django.db import models |
from django.db import models |
||||||
|
from django.conf import settings |
||||||
|
from django.utils.translation import ugettext_lazy as _ |
||||||
|
|
||||||
from rest_framework.authtoken.models import Token |
|
||||||
|
|
||||||
|
class TempToken(models.Model): |
||||||
|
key = models.CharField(_("Key"), max_length=40, primary_key=True) |
||||||
|
user = models.OneToOneField( |
||||||
|
settings.AUTH_USER_MODEL, related_name='auth_temp_token', |
||||||
|
on_delete=models.CASCADE, verbose_name=_("User") |
||||||
|
) |
||||||
|
created = models.DateTimeField(_("Created"), auto_now_add=True) |
||||||
|
|
||||||
class TempToken(Token): |
|
||||||
class Meta: |
class Meta: |
||||||
app_label = 'auth' |
app_label = 'lilcity_auth' |
||||||
|
|
||||||
|
def save(self, *args, **kwargs): |
||||||
|
if not self.key: |
||||||
|
self.key = self.generate_key() |
||||||
|
return super().save(*args, **kwargs) |
||||||
|
|
||||||
|
def generate_key(self): |
||||||
|
return binascii.hexlify(os.urandom(20)).decode() |
||||||
|
|
||||||
|
def __str__(self): |
||||||
|
return self.key |
||||||
|
|||||||
Loading…
Reference in new issue