Cleaned recovery module a bit

This commit is contained in:
Spitap
2022-08-31 17:10:49 +02:00
parent de5808e998
commit cf4f6ed224

View File

@@ -14,18 +14,6 @@ class Hash(PBKDF2PasswordHasher):
algorithm = 'pbkdf2_sha256_custom' algorithm = 'pbkdf2_sha256_custom'
iterations = settings.RECOVERY_ITERATION iterations = settings.RECOVERY_ITERATION
def token_left(request, username=None):
if not username and request:
username = request.user.username
uk = User_Keys.objects.filter(username=username, key_type = "RECOVERY")
keyLeft=0
for key in uk:
keyEnabled = key.properties["enabled"]
for i in range(len(keyEnabled)):
if keyEnabled[i]:
keyLeft += 1
return keyLeft
def delTokens(request): def delTokens(request):
#Only when all MFA have been deactivated, or to generate new ! #Only when all MFA have been deactivated, or to generate new !
#We iterate only to clean if any error happend and multiple entry of RECOVERY created for one user #We iterate only to clean if any error happend and multiple entry of RECOVERY created for one user
@@ -41,7 +29,6 @@ def randomGen(n):
def genTokens(request): def genTokens(request):
#Delete old ones #Delete old ones
delTokens(request) delTokens(request)
number = 5
#Then generate new one #Then generate new one
salt = randomGen(15) salt = randomGen(15)
hashedKeys = [] hashedKeys = []
@@ -53,7 +40,7 @@ def genTokens(request):
clearKeys.append(token) clearKeys.append(token)
uk=User_Keys() uk=User_Keys()
uk.username = request.user.username uk.username = request.user.username
uk.properties={"secret_keys":hashedKeys, "enabled":[True for j in range(5)], "salt":salt} uk.properties={"secret_keys":hashedKeys, "salt":salt}
uk.key_type="RECOVERY" uk.key_type="RECOVERY"
uk.enabled = False uk.enabled = False
uk.save() uk.save()
@@ -80,12 +67,11 @@ def verify_login(request, username,token):
return [False] return [False]
def getTokenLeft(request): def getTokenLeft(request):
enable = 0 uk = User_Keys.objects.filter(username=request.user.username, key_type = "RECOVERY")
for key in User_Keys.objects.filter(username=request.user.username, key_type = "RECOVERY"): keyLeft=0
tokenStatus = key.properties["enabled"] for key in uk:
for i in range(len(tokenStatus)): keyLeft += len(key.properties["secret_keys"])
enable += 1 return HttpResponse(simplejson.dumps({"left":keyLeft}))
return HttpResponse(simplejson.dumps({"left":enable}))
@never_cache @never_cache
def auth(request): def auth(request):