|
import streamlit as st |
|
from streamlit_authenticator import Authenticate |
|
from config.settings import settings |
|
from repositories.user_repo import UserRepo |
|
|
|
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, |
|
) |
|
|
|
authenticator = init_auth() |
|
|
|
def require_login(): |
|
name, authentication_status, username = authenticator.login("Login", "sidebar") |
|
if not authentication_status: |
|
st.stop() |
|
return username |
|
|