Initial Import

This commit is contained in:
Mohamed El-Kalioby
2019-01-18 10:18:10 +03:00
parent 5665e46a18
commit 800f60ff53
40 changed files with 1749 additions and 0 deletions

34
mfa/helpers.py Normal file
View File

@@ -0,0 +1,34 @@
import pyotp
from .models import *
import TrustedDevice
import U2F, FIDO2
import totp
import simplejson
from django.shortcuts import HttpResponse
from mfa.views import verify,goto
def has_mfa(request,username):
if User_Keys.objects.filter(username=username,enabled=1).count()>0:
return verify(request, username)
return False
def is_mfa(request,ignore_methods=[]):
if request.session.get("mfa",{}).get("verified",False):
if not request.session.get("mfa",{}).get("method",None) in ignore_methods:
return True
return False
def recheck(request):
method=request.session.get("mfa",{}).get("method",None)
if not method:
return HttpResponse(simplejson.dumps({"res":False}),content_type="application/json")
if method=="Trusted Device":
return HttpResponse(simplejson.dumps({"res":TrustedDevice.verify(request)}),content_type="application/json")
elif method=="U2F":
return HttpResponse(simplejson.dumps({"html": U2F.recheck(request).content}), content_type="application/json")
elif method == "FIDO2":
return HttpResponse(simplejson.dumps({"html": FIDO2.recheck(request).content}), content_type="application/json")
elif method=="TOTP":
return HttpResponse(simplejson.dumps({"html": totp.recheck(request).content}), content_type="application/json")