I am trying to integrate the Streamlit frontend with a Supabase backend. The great thing is that I can build upon the user sign_up, password_recovery, etc. logic already build into Supabase. This requires me to read the URL of the Streamlit report and check all parameters. Supabase uses a # sign behind its confirmation URL.
Unfortunately the get_query_params() function does not parse this url into a correct query_string. The query_string only works with a ? as separator. Is there some workaround for this issue? Or could get_query_params() be updated to work with a # as separator?
Ok, so the first bit is here: streamlit-url-fragment · PyPI - this should allow you to read data from the # fragment:
from streamlit_url_fragment import get_fragment
fragment = get_fragment()
if fragment is None:
st.stop()
if fragment:
params = dict(urllib.parse.parse_qsl(fragment.removeprefix('#')))
... # do all the parsing/handling you need
st.experimental_set_query_params() # clear the #fragment in URL