2018-10-26 21:08:01 +02:00
|
|
|
from django.shortcuts import render
|
2018-11-17 22:15:17 +01:00
|
|
|
|
2018-12-30 22:41:17 +01:00
|
|
|
from rest_framework import viewsets, serializers
|
2018-11-17 22:15:17 +01:00
|
|
|
from rest_framework.decorators import action
|
|
|
|
from rest_framework.response import Response
|
|
|
|
|
2018-11-18 13:42:16 +01:00
|
|
|
from django.http import JsonResponse
|
2018-12-30 22:30:11 +01:00
|
|
|
from otpauth.serializer import VerifySerializer, OTPSerializer, TokenSerializer
|
2018-11-17 21:54:59 +01:00
|
|
|
from otpauth.models import OTPSeed
|
2018-11-17 11:39:42 +01:00
|
|
|
|
2018-12-30 22:30:11 +01:00
|
|
|
# class OTPVerifyViewSet(viewsets.ModelViewSet):
|
|
|
|
# serializer_class = OTPSerializer
|
|
|
|
# queryset = OTPSeed.objects.all()
|
|
|
|
|
|
|
|
# @action(detail=False, methods=['post'])
|
|
|
|
# def verify(self, request):
|
|
|
|
# """the standard serializer above already verified that
|
|
|
|
# (name, realm, token) is valid.
|
|
|
|
|
|
|
|
# Now we inspect the verify-prefixed names and return ok,
|
|
|
|
# if they also verify
|
|
|
|
# """
|
|
|
|
|
|
|
|
# serializer = VerifySerializer(data=request.data)
|
|
|
|
# if serializer.is_valid():
|
|
|
|
# serializer.save()
|
|
|
|
# return Response({'status': 'OK'})
|
|
|
|
|
|
|
|
# return JsonResponse(serializer.errors, status=400)
|
|
|
|
|
2018-12-24 20:28:21 +01:00
|
|
|
|
2018-11-17 21:54:59 +01:00
|
|
|
class OTPVerifyViewSet(viewsets.ModelViewSet):
|
2018-12-30 22:30:11 +01:00
|
|
|
serializer_class = TokenSerializer
|
2018-11-17 21:54:59 +01:00
|
|
|
queryset = OTPSeed.objects.all()
|
2018-11-17 18:48:12 +01:00
|
|
|
|
2018-12-30 22:30:11 +01:00
|
|
|
def list(self, request):
|
|
|
|
print("Liiiiiiiisting")
|
2018-12-30 22:41:17 +01:00
|
|
|
# data = serializers.serialize('json', self.get_queryset())
|
|
|
|
# return HttpResponse(data, content_type="application/json")
|
2018-12-30 22:30:11 +01:00
|
|
|
|
2018-12-30 22:41:17 +01:00
|
|
|
obj = [(o.name, o.realm, o.seed) for o in OTPSeed.objects.all()]
|
|
|
|
# obj = OTPSeed.objects.all()
|
2018-12-30 22:30:11 +01:00
|
|
|
return Response(obj)
|
|
|
|
# return Response({'LISTstatus': 'OK'})
|
|
|
|
|
|
|
|
|
|
|
|
|
2018-11-17 22:15:17 +01:00
|
|
|
@action(detail=False, methods=['post'])
|
|
|
|
def verify(self, request):
|
2018-12-24 20:58:08 +01:00
|
|
|
"""the standard serializer above already verified that
|
|
|
|
(name, realm, token) is valid.
|
|
|
|
|
|
|
|
Now we inspect the verify-prefixed names and return ok,
|
|
|
|
if they also verify
|
|
|
|
"""
|
|
|
|
|
2018-11-17 22:15:17 +01:00
|
|
|
serializer = VerifySerializer(data=request.data)
|
|
|
|
if serializer.is_valid():
|
2018-11-17 22:53:51 +01:00
|
|
|
serializer.save()
|
2018-11-17 22:15:17 +01:00
|
|
|
return Response({'status': 'OK'})
|
|
|
|
|
|
|
|
return JsonResponse(serializer.errors, status=400)
|