Nye-TeeOff/backend/create_admin.py

44 lines
No EOL
1.5 KiB
Python

"""
TEE OFF ADMIN GENERATOR v1.2 (PBKDF2)
---------------------------------------------------------------------------
FUNKSJON: Genererer SQL for å sette inn en admin med PBKDF2-hash.
BRUK: docker exec -it teeoff_api python create_admin.py
---------------------------------------------------------------------------
"""
import pyotp
from passlib.hash import pbkdf2_sha256
import getpass
def generate_admin():
print("\n" + "="*50)
print(" TEE OFF ADMIN GENERATOR v1.2 (PBKDF2)")
print("="*50)
username = input("Brukernavn: ").strip()
email = input("E-post: ").strip()
password = getpass.getpass("Passord (Ingen lengdebegrensning): ")
# Generer 2FA hemmelighet
otp_secret = pyotp.random_base32()
# Lag hash med PBKDF2
print("⏳ Genererer sikker hash...")
password_hash = pbkdf2_sha256.hash(password)
print("\n" + "✅ GENERERING VELLYKKET!")
print("-" * 50)
print("KJØR DENNE KOMMANDOEN FOR Å OPPRETTE BRUKEREN:")
print("-" * 50)
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("2FA KONFIGURASJON (Viktig!):")
print(f"Brukernavn: {email}")
print(f"Nøkkel (Secret): {otp_secret}")
print("-" * 50 + "\n")
if __name__ == "__main__":
generate_admin()