Add lost password recovery
This commit is contained in:
@@ -55,9 +55,6 @@ def email_disp(email):
|
||||
if alias:
|
||||
if email in alias:
|
||||
disp=False
|
||||
|
||||
|
||||
|
||||
else:
|
||||
disp = False
|
||||
|
||||
@@ -72,16 +69,20 @@ def valid_passwd(password):
|
||||
|
||||
|
||||
|
||||
def valid_token_register(token):
|
||||
def valid_token_register(token, token_type):
|
||||
valid = True
|
||||
print(token)
|
||||
if len(token) != 30:
|
||||
if len(token) != 30 and len(token) != 64 :
|
||||
valid = False
|
||||
|
||||
if valid:
|
||||
conn = sqlite3.connect(DATABASE)
|
||||
cursor = conn.cursor()
|
||||
cursor.execute("""SELECT name, invitations FROM users where Token=?""", (token,))
|
||||
match token_type:
|
||||
case "Lost password":
|
||||
cursor.execute("""SELECT name FROM users where Lost_password_token=?""", (token,))
|
||||
case "Invitation":
|
||||
cursor.execute("""SELECT name FROM users where token=?""", (token,))
|
||||
tmp = cursor.fetchone()
|
||||
conn.close()
|
||||
print (tmp)
|
||||
@@ -89,13 +90,42 @@ def valid_token_register(token):
|
||||
valid = True
|
||||
else:
|
||||
valid = False
|
||||
print(valid)
|
||||
|
||||
return valid
|
||||
|
||||
#Génère un token de 30 caratères aléatoires
|
||||
def gen_token():
|
||||
letters = random.choices(string.ascii_letters, k=20)
|
||||
digits = random.choices(string.digits, k=10)
|
||||
sample = ''.join(random.sample(digits + letters, 30))
|
||||
|
||||
|
||||
def get_user_by_token(token, token_type):
|
||||
|
||||
|
||||
if len(token) != 30 and len(token) != 64:
|
||||
user = "Invalid Token"
|
||||
|
||||
|
||||
conn = sqlite3.connect(DATABASE)
|
||||
cursor = conn.cursor()
|
||||
match token_type:
|
||||
case "Lost password":
|
||||
cursor.execute("""SELECT name FROM users where Lost_password_token=?""", (token,))
|
||||
case "Invitation":
|
||||
cursor.execute("""SELECT name FROM users where token=?""", (token,))
|
||||
user = cursor.fetchone()[0]
|
||||
conn.close()
|
||||
print ("User: " + user)
|
||||
|
||||
if not(user):
|
||||
user = "Invalid Token"
|
||||
return user
|
||||
|
||||
|
||||
|
||||
#Génère un token de 30 ou 64 caratères aléatoires
|
||||
def gen_token(token_type):
|
||||
letters = random.choices(string.ascii_letters, k=128)
|
||||
digits = random.choices(string.digits, k=30)
|
||||
match token_type:
|
||||
case "Invitation":
|
||||
sample = ''.join(random.sample(digits + letters, 30))
|
||||
case "Lost password":
|
||||
sample = ''.join(random.sample(digits + letters, 64))
|
||||
return sample
|
||||
|
||||
Reference in New Issue
Block a user