Compare commits

..

4 Commits

Author SHA1 Message Date
Mohamed ElKalioby
c5b62ada65 Update Changlog 2020-08-28 18:33:46 +03:00
Mohamed ElKalioby
3d37d0a51f closes #6 2020-06-18 18:54:20 +03:00
Mohamed ElKalioby
a820206a24 Fix is_authenticated #13 2020-06-18 18:24:42 +03:00
Mohamed ElKalioby
bc407ca39b Closes #14 2020-06-18 18:16:39 +03:00
5 changed files with 28 additions and 7 deletions

View File

@@ -1,5 +1,14 @@
# Change Log
## v1.9.1
* Fixed: is_authenticated #13
* Fixed: is_anonymous #6
thanks to @d3cline,
## v1.7
* Better Error Management
* Better Token recheck
## v 1.6.0
* Fixed some issues for django>= 2.0
* Added example app.

View File

@@ -136,7 +136,11 @@ def authenticate_complete(request):
mfa["next_check"] = int((datetime.datetime.now()+ datetime.timedelta(
seconds=random.randint(settings.MFA_RECHECK_MIN, settings.MFA_RECHECK_MAX))).strftime("%s"))
request.session["mfa"] = mfa
if not request.user.is_authenticated():
try:
authenticated=request.user.is_authenticated
except:
authenticated = request.user.is_authenticated()
if not authenticated:
res=login(request)
if not "location" in res: return reset_cookie(request)
return HttpResponse(simplejson.dumps({'status':"OK","redirect":res["location"]}),content_type="application/json")

View File

@@ -20,7 +20,7 @@
$("#modal-footer").prepend("<button id='actionBtn' class='btn btn-danger' onclick='confirmDel("+id+")'>Confirm Deletion</button>")
$("#popUpModal").modal()
}
{% if not HIDE_DISABLE %}
function toggleKey(id) {
$.ajax({
url:"{% url 'toggle_key' %}?id="+id,
@@ -34,7 +34,6 @@
}
})
}
{% endif %}
</script>
<link href="{% static 'mfa/css/bootstrap-toggle.min.css' %}" rel="stylesheet">
<script src="{% static 'mfa/js/bootstrap-toggle.min.js'%}"></script>

View File

@@ -9,7 +9,10 @@ from django.template.context_processors import csrf
from django.template.context import RequestContext
from django.conf import settings
from . import TrustedDevice
from django.contrib.auth.decorators import login_required
from user_agents import parse
@login_required
def index(request):
keys=[]
context={"keys":User_Keys.objects.filter(username=request.user.username),"UNALLOWED_AUTHEN_METHODS":settings.MFA_UNALLOWED_METHODS
@@ -51,6 +54,8 @@ def login(request):
callable_func = __get_callable_function__(settings.MFA_LOGIN_CALLBACK)
return callable_func(request,username=request.session["base_username"])
@login_required
def delKey(request):
key=User_Keys.objects.get(id=request.GET["id"])
if key.username == request.user.username:
@@ -72,14 +77,18 @@ def __get_callable_function__(func_path):
raise Exception("Module does not have requested function")
return callable_func
@login_required
def toggleKey(request):
id=request.GET["id"]
q=User_Keys.objects.filter(username=request.user.username, id=id)
if q.count()==1:
key=q[0]
key.enabled=not key.enabled
key.save()
return HttpResponse("OK")
if not key.key_type in settings.MFA_HIDE_DISABLE:
key.enabled=not key.enabled
key.save()
return HttpResponse("OK")
else:
return HttpResponse("You can't change this method.")
else:
return HttpResponse("Error")

View File

@@ -4,7 +4,7 @@ from setuptools import find_packages, setup
setup(
name='django-mfa2',
version='1.8.0',
version='1.9.1',
description='Allows user to add 2FA to their accounts',
long_description=open("README.md").read(),
long_description_content_type="text/markdown",