MedQA / services /auth.py
mgbam's picture
Update services/auth.py
5fb2d40 verified
raw
history blame
914 Bytes
import streamlit as st
from streamlit_authenticator import Authenticate
from config.settings import settings
from repositories.user_repo import UserRepo
from models.db import init_db
# Ensure the DB tables exist before we fetch users
init_db()
# Instantiate your user repository
user_repo = UserRepo(settings.database_url)
def init_auth():
users = user_repo.get_all_users()
creds = {
u.username: {"name": u.full_name, "password": u.hashed_password}
for u in users
}
return Authenticate(
credentials=creds,
cookie_name="quantum_healthcare_auth",
key=settings.secret_key,
cookie_expiry_days=1,
)
# Create the authenticator at import time
authenticator = init_auth()
def require_login():
name, authentication_status, username = authenticator.login("Login", "sidebar")
if not authentication_status:
st.stop()
return username