star

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}!")
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.