Hash admin password in the config file

This commit is contained in:
Iam54r1n4
2025-02-07 17:58:15 +00:00
parent 9dcace9792
commit bf6851a57d
2 changed files with 6 additions and 6 deletions

View File

@ -1,10 +1,11 @@
from fastapi import APIRouter, Depends, Form, Request from fastapi import APIRouter, Depends, Form, Request
from fastapi.responses import RedirectResponse from fastapi.responses import RedirectResponse
from fastapi.templating import Jinja2Templates from fastapi.templating import Jinja2Templates
from hashlib import sha256
from dependency import get_templates, get_session_manager from dependency import get_templates, get_session_manager
from session import SessionManager from session import SessionManager
from config import CONFIGS from config import CONFIGS # type: ignore
router = APIRouter() router = APIRouter()
@ -23,10 +24,8 @@ async def login_post(
''' '''
Handles login form submission. Handles login form submission.
''' '''
ADMIN_USERNAME = CONFIGS.ADMIN_USERNAME password_hash = sha256(password.encode()).hexdigest()
ADMIN_PASSWORD = CONFIGS.ADMIN_PASSWORD if not username == CONFIGS.ADMIN_USERNAME or not password_hash == CONFIGS.ADMIN_PASSWORD: # type: ignore
if not username == ADMIN_USERNAME or not password == ADMIN_PASSWORD:
return templates.TemplateResponse('login.html', {'request': request, 'error': 'Invalid username or password'}) return templates.TemplateResponse('login.html', {'request': request, 'error': 'Invalid username or password'})
session_id = session_manager.set_session(username) session_id = session_manager.set_session(username)

View File

@ -32,6 +32,7 @@ update_env_file() {
local port=$2 local port=$2
local admin_username=$3 local admin_username=$3
local admin_password=$4 local admin_password=$4
local admin_password_hash=$(echo -n "$admin_password" | sha256sum | cut -d' ' -f1) # hash the password
local expiration_minutes=$5 local expiration_minutes=$5
local debug=$6 local debug=$6
@ -45,7 +46,7 @@ PORT=$port
ROOT_PATH=$root_path ROOT_PATH=$root_path
API_TOKEN=$api_token API_TOKEN=$api_token
ADMIN_USERNAME=$admin_username ADMIN_USERNAME=$admin_username
ADMIN_PASSWORD=$admin_password ADMIN_PASSWORD=$admin_password_hash
EXPIRATION_MINUTES=$expiration_minutes EXPIRATION_MINUTES=$expiration_minutes
EOL EOL
} }