from __future__ import annotations from typing import Dict import flask_login from flask import Flask login_manager = flask_login.LoginManager() users: Dict[str, User] def init_auth(app: Flask): login_manager.init_app(app) login_manager.login_view = "main.admin_login" # type: ignore global users users = {"admin": User("admin", app.config["ADMIN_PASSWORD"])} class User(flask_login.UserMixin): def __init__(self, id, password): self.id = id self.password = password @login_manager.user_loader def user_loader(id: str): return users.get(id) def check_password(user: User, input: str): return user.password == input