Chainlit-docker / app.py
StefanoDUrso's picture
handling authentication
a723583
raw
history blame contribute delete
833 Bytes
import chainlit as cl
from dotenv import load_dotenv
from typing import Optional
import os
@cl.on_chat_start
async def on_chat_start():
load_dotenv()
app_user = cl.user_session.get("user")
await cl.Message(f"Hello {app_user.username}").send()
@cl.password_auth_callback
def auth_callback(username: str, password: str) -> Optional[cl.AppUser]:
_username=os.environ.get('MY_USERNAME')
_password=os.environ.get('MY_PASSWORD')
if (username.upper(), password) == (_username, _password):
return cl.AppUser(username=_username, role="USER", provider="credentials")
else:
return None
@cl.on_message
async def main(message: cl.Message):
# Your custom logic goes here...
# Send a response back to the user
await cl.Message(
content=f"Received: {message.content}",
).send()