On approving an IndieAuth request, actually generate an auth code and redirect

This commit is contained in:
Danielle McLean 2017-10-29 16:16:27 +11:00
parent 221d548e4a
commit 8b4a14ffa3
Signed by: 00dani
GPG key ID: 5A5D2D1AFF12EEC5
4 changed files with 68 additions and 3 deletions

29
lemonauth/models.py Normal file
View file

@ -0,0 +1,29 @@
from django.db import models
from secrets import token_hex
class IndieAuthCodeManager(models.Manager):
def create_from_dict(self, d):
code = self.create(
me=d['me'],
client_id=d['client_id'],
redirect_uri=d['redirect_uri'],
response_type=d.get('response_type', 'id'),
scope=d.get('scope', ''),
)
code.code = token_hex(32)
return code
class IndieAuthCode(models.Model):
objects = IndieAuthCodeManager()
code = models.CharField(max_length=64, unique=True)
me = models.CharField(max_length=255)
client_id = models.CharField(max_length=255)
redirect_uri = models.CharField(max_length=255)
response_type = models.CharField(
max_length=4,
choices=(('id', 'id'), ('code', 'code')),
default='id',
)
scope = models.CharField(max_length=200, blank=True)