In order to implement user login into your Streamlit app on Peliqan, you can use the Peliqan Secret Store to store credentials per user in a secure manner, and you can validate credentials in your app.
In the below example we add a new Secret Store for each user of the app. For example if you have 5 users, you will add 5 Secret Stores.
Step 1: Create a username and password and save it in a Secret Store. In Peliqan, go to “Connections”, click on “Add new connection” and select “Secret Store”. Give it a name, this will be the username (login) and enter a password for the Secret.
Step 2: Use pq.get_secret('<connection_name>')
****to verify login credentials in your app where the connection name is the user login.
Example code:
def check_login(login, password):
try:
return pq.get_secret(login) == password
except:
return False
if "logged_in" not in st.session_state:
st.session_state.logged_in = False
# Login form
if not st.session_state.logged_in:
st.title("Login")
with st.form("login_form"):
login = st.text_input("Username")
password = st.text_input("Password", type="password")
submitted = st.form_submit_button("Log In")
if submitted:
if check_login(login, password):
st.session_state.logged_in = True
st.session_state.login = login
st.experimental_rerun()
else:
st.error("Invalid username or password")
# After login
if st.session_state.logged_in:
st.success(f"Welcome %s, you are logged in!" % st.session_state.login)
if st.button("Log out"):
st.session_state.logged_in = False
st.experimental_rerun()
Here are the steps to enable Single Sign On in your Streamlit app on Peliqan using Microsoft accounts from Azure Entra.
In Azure, go to "Enterprise applications".
Click on "+ Create your own application".
Enter a name (e.g. "Peliqan SAML Streamlit") and select "Integrate any other application you don't find in the gallery (Non-gallery)".
In the app details, go to Manage > Single sign-on.
Select SAML.