|
@@ -1,36 +1,16 @@
|
|
|
-from django.shortcuts import render
|
|
|
|
|
-
|
|
|
|
|
# Create your views here.
|
|
# Create your views here.
|
|
|
|
|
|
|
|
-from datetime import datetime, time
|
|
|
|
|
|
|
+from datetime import datetime
|
|
|
from .models import User, LoginToken
|
|
from .models import User, LoginToken
|
|
|
-from django.http import JsonResponse
|
|
|
|
|
-from utils.debug import debug_view
|
|
|
|
|
from utils.crypto import secure_transport
|
|
from utils.crypto import secure_transport
|
|
|
from utils.http import make_json_response
|
|
from utils.http import make_json_response
|
|
|
from .models import get_user
|
|
from .models import get_user
|
|
|
from django.views.decorators.http import require_POST
|
|
from django.views.decorators.http import require_POST
|
|
|
from .decorators import login_required
|
|
from .decorators import login_required
|
|
|
-from string import printable, ascii_letters, digits
|
|
|
|
|
-import string
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-def auth_with_username_or_email(username, password):
|
|
|
|
|
- if '@' in username:
|
|
|
|
|
- user = User.objects.get(email=username, password=password)
|
|
|
|
|
- else:
|
|
|
|
|
- user = User.objects.get(username=username, password=password)
|
|
|
|
|
- return user
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-def check_password(password):
|
|
|
|
|
- if set(password).isdisjoint(ascii_letters) and set(password).isdisjoint(digits):
|
|
|
|
|
- return False
|
|
|
|
|
- return set(password).issubset(printable) and len(password) >= 8
|
|
|
|
|
|
|
+from .utils import auth_with_username_or_email, check_password
|
|
|
|
|
|
|
|
|
|
|
|
|
@secure_transport
|
|
@secure_transport
|
|
|
-# @debug_view('password', 'email')
|
|
|
|
|
@require_POST
|
|
@require_POST
|
|
|
def register(request):
|
|
def register(request):
|
|
|
username = request.POST.get('username', '')
|
|
username = request.POST.get('username', '')
|
|
@@ -57,7 +37,6 @@ def register(request):
|
|
|
|
|
|
|
|
|
|
|
|
|
@secure_transport
|
|
@secure_transport
|
|
|
-# @debug_view
|
|
|
|
|
@require_POST
|
|
@require_POST
|
|
|
def login(request):
|
|
def login(request):
|
|
|
username = request.POST.get('username', '')
|
|
username = request.POST.get('username', '')
|
|
@@ -96,7 +75,6 @@ def login(request):
|
|
|
|
|
|
|
|
|
|
|
|
|
@secure_transport
|
|
@secure_transport
|
|
|
-# @debug_view()
|
|
|
|
|
@login_required
|
|
@login_required
|
|
|
def logout(request):
|
|
def logout(request):
|
|
|
user = get_user(request)
|
|
user = get_user(request)
|
|
@@ -108,7 +86,6 @@ def logout(request):
|
|
|
|
|
|
|
|
|
|
|
|
|
@secure_transport
|
|
@secure_transport
|
|
|
-# @debug_view('email')
|
|
|
|
|
@require_POST
|
|
@require_POST
|
|
|
def send_email_verification_code(request):
|
|
def send_email_verification_code(request):
|
|
|
data = request.POST
|
|
data = request.POST
|
|
@@ -132,7 +109,6 @@ def send_email_verification_code(request):
|
|
|
|
|
|
|
|
|
|
|
|
|
@secure_transport
|
|
@secure_transport
|
|
|
-# @debug_view()
|
|
|
|
|
@require_POST
|
|
@require_POST
|
|
|
def check_token(request):
|
|
def check_token(request):
|
|
|
data = request.POST
|
|
data = request.POST
|
|
@@ -152,7 +128,6 @@ def check_token(request):
|
|
|
|
|
|
|
|
|
|
|
|
|
@secure_transport
|
|
@secure_transport
|
|
|
-# @debug_view('password')
|
|
|
|
|
@require_POST
|
|
@require_POST
|
|
|
def reset_password(request):
|
|
def reset_password(request):
|
|
|
data = request.POST
|
|
data = request.POST
|