Files
loustique-home/flask/auth.py
2026-03-21 10:53:02 +01:00

54 lines
1.3 KiB
Python

import pymysql
import getpass
import bcrypt
from dotenv import load_dotenv
import os
load_dotenv()
def init():
try:
conn = pymysql.connect(
host=os.getenv("DB_HOST", "127.0.0.1"),
port=int(os.getenv("DB_PORT", 3306)),
user=os.getenv("DB_USER"),
password=os.getenv("DB_PASSWORD"),
database=os.getenv("DB_NAME"),
charset=os.getenv("DB_CHARSET", "utf8mb4")
)
return conn
except pymysql.err.OperationalError as e:
print(f"❌ Erreur de connexion : {e}")
return None
def login(username,password):
#username = input("Username : ")
#password = getpass.getpass("Mot de passe : ")
conn = init()
if conn is None:
return False
try:
cursor = conn.cursor()
requete = "SELECT password FROM Auth WHERE username = %s"
cursor.execute(requete, (username,))
resultat = cursor.fetchone()
if resultat and bcrypt.checkpw(password.encode('utf-8'), resultat[0].encode('utf-8')):
print("Connexion réussie")
return True
else:
print(" Identifiants incorrects")
return False
except pymysql.err.OperationalError as e:
print(f"Erreur : {e}")
return False
finally:
cursor.close()
conn.close()