Nye-TeeOff/kode_eksport_1/backend_create_admin_py.txt

44 lines
No EOL
1.6 KiB
Text

"""
TEE OFF ADMIN GENERATOR v1.3 (PBKDF2 ONLY)
---------------------------------------------------------------------------
FUNKSJON: Genererer SQL-kommando for PBKDF2-basert administrator.
---------------------------------------------------------------------------
"""
import pyotp
from passlib.hash import pbkdf2_sha256
import getpass
def generate_admin():
print("\n" + "="*50)
print(" TEE OFF ADMIN GENERATOR v1.3")
print("="*50)
username = input("Brukernavn (f.eks Envide Webutvikling): ").strip()
email = input("E-post: ").strip()
password = getpass.getpass("Passord: ")
otp_secret = pyotp.random_base32()
print("⏳ Genererer PBKDF2-hash...")
# Dette vil produsere en streng som starter med $pbkdf2-sha256$...
password_hash = pbkdf2_sha256.hash(password)
print("\n✅ GENERERING VELLYKKET!")
print("-" * 50)
print("1. KJØR DISSE TO KOMMANDOENE I REKKEFØLGE:")
print("-" * 50)
# Kommando 1: Tøm tabellen for å fjerne gamle, inkompatible hasher
print(f'docker exec -it teeoff_db psql -U teeoff_admin -d teeoff -c "TRUNCATE admins;"')
# Kommando 2: Sett inn den nye brukeren
sql = f"INSERT INTO admins (username, email, password_hash, otp_secret) VALUES ('{username}', '{email}', '{password_hash}', '{otp_secret}');"
print(f'\ndocker exec -it teeoff_db psql -U teeoff_admin -d teeoff -c "{sql}"')
print("\n" + "-" * 50)
print("2. KONFIGURER 2FA I GOOGLE AUTHENTICATOR:")
print(f"Nøkkel: {otp_secret}")
print("-" * 50 + "\n")
if __name__ == "__main__":
generate_admin()