Cleanup and split local/prod
This commit is contained in:
parent
f157cf2539
commit
6544fccb9a
8 changed files with 37 additions and 38 deletions
|
@ -1,6 +1,5 @@
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
|
|
||||||
|
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.contrib.auth.admin import UserAdmin
|
from django.contrib.auth.admin import UserAdmin
|
||||||
from .models import OTPSeed
|
from .models import OTPSeed
|
||||||
|
|
|
@ -1,7 +1,11 @@
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.contrib.auth.models import AbstractUser
|
from django.contrib.auth.models import AbstractUser
|
||||||
|
|
||||||
# Create your models here.
|
from rest_framework import exceptions
|
||||||
|
from rest_framework import authentication
|
||||||
|
from otpauth.models import OTPSeed
|
||||||
|
from otpauth.serializer import TokenSerializer
|
||||||
|
|
||||||
class OTPSeed(AbstractUser):
|
class OTPSeed(AbstractUser):
|
||||||
id = models.AutoField(primary_key=True)
|
id = models.AutoField(primary_key=True)
|
||||||
name = models.CharField(max_length=128)
|
name = models.CharField(max_length=128)
|
||||||
|
@ -14,25 +18,6 @@ class OTPSeed(AbstractUser):
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "'{}'@{}".format(self.name, self.realm)
|
return "'{}'@{}".format(self.name, self.realm)
|
||||||
|
|
||||||
# @classmethod
|
|
||||||
# def get_username(cls):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
# @classmethod
|
|
||||||
# def check_password(cls, raw_password):
|
|
||||||
# """ receives a time based token"""
|
|
||||||
# pass
|
|
||||||
|
|
||||||
# @classmethod
|
|
||||||
# def has_usable_password(cls):
|
|
||||||
# pass
|
|
||||||
|
|
||||||
|
|
||||||
from rest_framework import exceptions
|
|
||||||
from rest_framework import authentication
|
|
||||||
from otpauth.models import OTPSeed
|
|
||||||
from otpauth.serializer import TokenSerializer
|
|
||||||
|
|
||||||
class OTPAuthentication(authentication.BaseAuthentication):
|
class OTPAuthentication(authentication.BaseAuthentication):
|
||||||
def authenticate(self, request):
|
def authenticate(self, request):
|
||||||
serializer = TokenSerializer(data=request.data)
|
serializer = TokenSerializer(data=request.data)
|
||||||
|
|
|
@ -4,7 +4,6 @@ from rest_framework import viewsets
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
|
|
||||||
from django.http import JsonResponse
|
from django.http import JsonResponse
|
||||||
from otpauth.serializer import VerifySerializer, OTPSerializer
|
from otpauth.serializer import VerifySerializer, OTPSerializer
|
||||||
from otpauth.models import OTPSeed
|
from otpauth.models import OTPSeed
|
||||||
|
|
|
@ -2,6 +2,9 @@ pyotp>=2.2.6
|
||||||
django>=2.1.2
|
django>=2.1.2
|
||||||
djangorestframework
|
djangorestframework
|
||||||
|
|
||||||
|
# DB
|
||||||
|
psycopg2
|
||||||
|
|
||||||
# Recommended
|
# Recommended
|
||||||
markdown
|
markdown
|
||||||
django-filter
|
django-filter
|
||||||
|
|
|
@ -23,10 +23,6 @@ BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
SECRET_KEY = 'h^*!&u7yaac_6t02kk4de%$aagp6_j#+_wnw3@rqu6os0tlv#r'
|
SECRET_KEY = 'h^*!&u7yaac_6t02kk4de%$aagp6_j#+_wnw3@rqu6os0tlv#r'
|
||||||
|
|
||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = True
|
|
||||||
|
|
||||||
ALLOWED_HOSTS = []
|
|
||||||
|
|
||||||
|
|
||||||
# Application definition
|
# Application definition
|
||||||
|
|
||||||
|
@ -72,17 +68,6 @@ TEMPLATES = [
|
||||||
WSGI_APPLICATION = 'ungleichotpserver.wsgi.application'
|
WSGI_APPLICATION = 'ungleichotpserver.wsgi.application'
|
||||||
|
|
||||||
|
|
||||||
# Database
|
|
||||||
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
|
|
||||||
|
|
||||||
DATABASES = {
|
|
||||||
'default': {
|
|
||||||
'ENGINE': 'django.db.backends.sqlite3',
|
|
||||||
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Password validation
|
# Password validation
|
||||||
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
|
# https://docs.djangoproject.com/en/2.1/ref/settings/#auth-password-validators
|
||||||
|
|
||||||
|
@ -137,3 +122,9 @@ USE_TZ = True
|
||||||
# https://docs.djangoproject.com/en/2.1/howto/static-files/
|
# https://docs.djangoproject.com/en/2.1/howto/static-files/
|
||||||
|
|
||||||
STATIC_URL = '/static/'
|
STATIC_URL = '/static/'
|
||||||
|
|
||||||
|
|
||||||
|
if "DEBUG" in os.environ:
|
||||||
|
from .local import * # flake8: noqa
|
||||||
|
else:
|
||||||
|
from .prod import * # flake8: noqa
|
10
ungleichotpserver/ungleichotpserver/settings/dev.py
Normal file
10
ungleichotpserver/ungleichotpserver/settings/dev.py
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
DEBUG = True
|
||||||
|
|
||||||
|
ALLOWED_HOSTS = []
|
||||||
|
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.sqlite3',
|
||||||
|
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||||
|
}
|
||||||
|
}
|
12
ungleichotpserver/ungleichotpserver/settings/prod.py
Normal file
12
ungleichotpserver/ungleichotpserver/settings/prod.py
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
DEBUG = False
|
||||||
|
|
||||||
|
ALLOWED_HOSTS = [
|
||||||
|
".ungleich.ch"
|
||||||
|
]
|
||||||
|
|
||||||
|
DATABASES = {
|
||||||
|
'default': {
|
||||||
|
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
||||||
|
'NAME': 'app',
|
||||||
|
}
|
||||||
|
}
|
|
@ -11,6 +11,6 @@ import os
|
||||||
|
|
||||||
from django.core.wsgi import get_wsgi_application
|
from django.core.wsgi import get_wsgi_application
|
||||||
|
|
||||||
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ungleichotp.settings')
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ungleichotpserver.settings')
|
||||||
|
|
||||||
application = get_wsgi_application()
|
application = get_wsgi_application()
|
||||||
|
|
Loading…
Reference in a new issue