File size: 723 Bytes
48c65d9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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