changed admin password to bcrypt

This commit is contained in:
2026-02-20 02:49:32 +01:00
parent 59b924f26a
commit 7ed956a1a8
4 changed files with 93 additions and 2 deletions

View File

@@ -3,15 +3,18 @@ from __future__ import annotations
from typing import Dict
import flask_login
from flask import Flask
from flask_bcrypt import Bcrypt
login_manager = flask_login.LoginManager()
bcrypt = Bcrypt()
users: Dict[str, User]
def init_auth(app: Flask):
login_manager.init_app(app)
bcrypt.init_app(app)
login_manager.login_view = "main.admin_login" # type: ignore
global users
users = {"admin": User("admin", app.config["ADMIN_PASSWORD"], app.config["DEFAULT_COURSE"])}
users = {"cato447": User("cato447", app.config["ADMIN_PASSWORD"], app.config["DEFAULT_COURSE"])}
class User(flask_login.UserMixin):
def __init__(self, id, password, active_course_id):
self.id = id
@@ -23,4 +26,4 @@ def user_loader(id: str):
return users.get(id)
def check_password(user: User, input: str):
return user.password == input
return bcrypt.check_password_hash(user.password, input)

View File

@@ -257,6 +257,8 @@ def admin_login():
if user and check_password(user, password):
flask_login.login_user(user)
current_app.logger.info(f"Admin login successful: {user_name}")
if not get_token():
set_cookie(user_name)
else:
current_app.logger.warning(f"Failed admin login attempt: {user_name}")
flash("Incorrect username or password. Please try again.", "error")