Nye-TeeOff/backend/create_admin.py

44 lines
1.6 KiB
Python
Raw Normal View History

"""
2026-03-02 09:56:37 +01:00
TEE OFF ADMIN GENERATOR v1.3 (PBKDF2 ONLY)
---------------------------------------------------------------------------
2026-03-02 09:56:37 +01:00
FUNKSJON: Genererer SQL-kommando for PBKDF2-basert administrator.
---------------------------------------------------------------------------
"""
import pyotp
from passlib.hash import pbkdf2_sha256
import getpass
def generate_admin():
print("\n" + "="*50)
2026-03-02 09:56:37 +01:00
print(" TEE OFF ADMIN GENERATOR v1.3")
print("="*50)
2026-03-02 09:56:37 +01:00
username = input("Brukernavn (f.eks Envide Webutvikling): ").strip()
email = input("E-post: ").strip()
2026-03-02 09:56:37 +01:00
password = getpass.getpass("Passord: ")
otp_secret = pyotp.random_base32()
2026-03-02 09:56:37 +01:00
print("⏳ Genererer PBKDF2-hash...")
# Dette vil produsere en streng som starter med $pbkdf2-sha256$...
password_hash = pbkdf2_sha256.hash(password)
2026-03-02 09:56:37 +01:00
print("\n✅ GENERERING VELLYKKET!")
print("-" * 50)
2026-03-02 09:56:37 +01:00
print("1. KJØR DISSE TO KOMMANDOENE I REKKEFØLGE:")
print("-" * 50)
2026-03-02 09:56:37 +01:00
# 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;"')
2026-03-02 09:56:37 +01:00
# 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)
2026-03-02 09:56:37 +01:00
print("2. KONFIGURER 2FA I GOOGLE AUTHENTICATOR:")
print(f"Nøkkel: {otp_secret}")
print("-" * 50 + "\n")
if __name__ == "__main__":
generate_admin()