The fastest way to provide comprehensive login inside Streamlit
Updated to latest auth0 sdk
This is a fork of the original onradbez/streamlit-auth0@c5e5666. Thanks to the original author for the great work!
pip install streamlit-auth0-ts
-
Register for Auth0
-
Create a Single Page Application and navigate to the "settings" tab
-
Set
Allow Callback URLs
tohttp://localhost:8501/component/streamlit_auth0_component.auth0_login_button/index.html
-
Set
Allowed Logout URLs
tohttp://localhost:8501/component/streamlit_auth0_component.auth0_login_button/index.html
-
Set
Allowed Web Origins
tohttp://localhost:8501
-
Copy
client_id
anddomain
from the Application settings, and put it into a.env
file in the root of your project and ddd the following:AUTH0_CLIENT_ID="your_client_id"
AUTH0_DOMAIN="your_domain"
-
Follow example below
On Auth0 website start a "Single Page Web Application" and copy your client-id / domain (of form xxxx.us.auth0.com) into code below.
from auth0_component import login_button
import streamlit as st
clientId = "...."
domain = "...."
user_info = login_button(clientId, domain = domain)
st.write(user_info)
user_info
will now contain your user's information
- Pass all info through JWT, at the moment the
sub
field is the only field passing through verification - Test with other providers, only Google tested
Change version in setup.py
cd auth0_component/frontend/ && npm run build && cd .. && cd .. && rm -rf dist/* && python setup.py sdist bdist_wheel
twine upload dist/*