Nye-TeeOff/kode_eksport_1/backend_update_admin_py.txt

52 lines
No EOL
1.8 KiB
Text

"""
TEE OFF ADMIN PASSWORD UPDATER
---------------------------------------------------------------------------
FUNKSJON: Genererer SQL-kommando for å KUN oppdatere passord for en eksisterende admin.
STATUS: Påvirker IKKE tofaktor (2FA), e-post eller andre brukere.
---------------------------------------------------------------------------
"""
from passlib.hash import pbkdf2_sha256
import getpass
import sys
def update_admin_password():
print("\n" + "="*50)
print(" TEE OFF ADMIN PASSORD-OPPDATERER")
print("="*50)
username = input("Brukernavn på admin som skal oppdateres: ").strip()
safe_username = username.replace("'", "''")
# Passord-verifisering
while True:
password = getpass.getpass("Skriv inn NYTT passord: ")
password_confirm = getpass.getpass("Gjenta NYTT passord: ")
if password == password_confirm:
if len(password) < 8:
print("⚠️ Advarsel: Passordet bør være minst 8 tegn.")
print(f"\n[DEBUG] Passord akseptert.")
break
else:
print("❌ Passordene er ikke like. Prøv igjen.\n")
print("⏳ Genererer PBKDF2-hash...")
password_hash = pbkdf2_sha256.hash(password)
print("\n✅ GENERERING VELLYKKET!")
print("-" * 50)
print("SLIK OPPDATERER DU PASSORDET TRYGT:")
print("-" * 50)
print("1. Gå inn i databasen:")
print(" docker exec -it teeoff_db psql -U teeoff_admin -d teeoff")
print("\n2. Lim inn denne linjen nøyaktig slik den står:")
print(f"UPDATE admins SET password_hash = '{password_hash}' WHERE username = '{safe_username}';")
print("\n3. Skriv 'exit' for å gå ut.")
print("-" * 50 + "\n")
if __name__ == "__main__":
try:
update_admin_password()
except KeyboardInterrupt:
print("\nAvbrutt.")
sys.exit(0)