Tip
Learn more in User authentication and information.
Logout the current user.
This command removes the user's information from st.experimental_user, deletes their identity cookie, and redirects them back to your app's home page. This creates a new session.
If the user has multiple sessions open in the same browser, st.experimental_user will not be cleared in any other session. st.experimental_user only reads from the identity cookie at the start of a session. After a session is running, you must call st.login() or st.logout() within that session to update st.experimental_user.
Note
This does not log the user out of their underlying account from the identity provider.
Function signature[source] | |
---|---|
st.logout() |
Example
.streamlit/secrets.toml:
[auth] redirect_uri = "http://localhost:8501/oauth2callback" cookie_secret = "xxx" client_id = "xxx" client_secret = "xxx" server_metadata_url = "https://accounts.google.com/.well-known/openid-configuration" # fmt: skip
Your app code:
import streamlit as st if not st.experimental_user.is_logged_in: if st.button("Log in"): st.login() else: if st.button("Log out"): st.logout() st.write(f"Hello, {st.experimental_user.name}!")
Still have questions?
Our forums are full of helpful information and Streamlit experts.