44 lines
No EOL
1.5 KiB
Python
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() |