Enable token authentication.
This commit is contained in:
parent
862bf63d6e
commit
3b62bc7b03
2 changed files with 26 additions and 0 deletions
|
@ -1,5 +1,6 @@
|
|||
# Generated by Django 2.0 on 2017-12-27 21:22
|
||||
|
||||
import binascii
|
||||
import os
|
||||
|
||||
from django.conf import settings
|
||||
|
@ -11,6 +12,7 @@ from core.utils import generate_password
|
|||
|
||||
def create_dj_user(apps, schema_editor):
|
||||
User = apps.get_model('core', 'RadioUser')
|
||||
Token = apps.get_model('authtoken', 'Token')
|
||||
db_alias = schema_editor.connection.alias
|
||||
|
||||
new_password = generate_password()
|
||||
|
@ -22,10 +24,17 @@ def create_dj_user(apps, schema_editor):
|
|||
is_dj=True)
|
||||
dj.save(using=db_alias)
|
||||
|
||||
# Since 'post_save' is impervious to migration scripts, this is pulled
|
||||
# directly from the authtoken code for key generation. Otherwise, key will
|
||||
# be blank.
|
||||
token = Token(key=binascii.hexlify(os.urandom(20)).decode(), user=dj)
|
||||
token.save(using=db_alias)
|
||||
|
||||
with open(os.path.join(settings.PROJECT_DIR, '.djinfo'), 'w') as f:
|
||||
f.write('Email: {}\n'.format(dj.email))
|
||||
f.write('Name: {}\n'.format(dj.name))
|
||||
f.write('Password: {}\n'.format(new_password))
|
||||
f.write('Token: {}\n'.format(token.key))
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
|
|
@ -39,6 +39,7 @@ INSTALLED_APPS = [
|
|||
|
||||
'authtools',
|
||||
'rest_framework',
|
||||
'rest_framework.authtoken',
|
||||
|
||||
'core.apps.CoreConfig',
|
||||
'radio.apps.RadioConfig',
|
||||
|
@ -92,6 +93,22 @@ USE_TZ = True
|
|||
|
||||
WSGI_APPLICATION = 'savepointradio.wsgi.application'
|
||||
|
||||
#
|
||||
# Django Rest Framework settings
|
||||
#
|
||||
|
||||
REST_FRAMEWORK = {
|
||||
'DEFAULT_AUTHENTICATION_CLASSES': (
|
||||
'rest_framework.authentication.SessionAuthentication',
|
||||
'rest_framework.authentication.TokenAuthentication',
|
||||
),
|
||||
'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
|
||||
'DEFAULT_PERMISSION_CLASSES': (
|
||||
'rest_framework.permissions.IsAuthenticated',
|
||||
),
|
||||
'PAGE_SIZE': 100,
|
||||
}
|
||||
|
||||
#
|
||||
# Radio-specific settings
|
||||
#
|
||||
|
|
Loading…
Reference in a new issue