Hey @Liscivia , Thank You so much for the appreciation. I agree with you. Could you please share screenshots as well? So, that it is easier for everyone to understand and contribute? Thank You so much.
Sure!
As you can see Iāve got two diffeent pages with two different layouts set in the configurations of the page.
The only difference between the āNet Liquidityā and āHomeā page is that the first one is set to wide, the other one to centered, the login prompt shows up differently in the two pages!
Thank you
Another doubt that I have is in regards of the _secret_auth_.json
file where the credentials are stored, I guess that one should be hidded when the app gets deployed, isnāt it?
Iāve placed it into my .gitignore file but now the app doesnāt read the credentials, is there a way to reference it with st.secrets to be able to deploy safely?
I fixed this by implementing this:
if LOGGED_IN != True:
with open('style1 or style 2.css') as f:
st.markdown(f'<style>{f.read()}</style>', unsafe_allow_html=True)
style1.css:
.css-1bzkvni {
display: none;
}
style2.css :
.css-18e3th9 {
max-width: 46em !important;
padding-left: 1em !important;
padding-right: 1em !important
}
.css-1bzkvni {
display: none;
}
On centered layout I used style 1, on wide I used style 2.
how to disable registered user after some days of condition??
@Gauri_Prabhakar Iām sorry, is it possible to update the version of the repo on Pypi?
Just to include the Get_username function that Iād find very convenient?
Thank you
I am not entirely sure about only to several person.
If you mean to bypass the login username and password, I have this change to just disable the widgets.
The user can just press the Login button to enter.
Example app.py
import streamlit as st
from streamlit_login_auth_ui.widgets import __login__
# When deployed in streamlit cloud or using secrets.toml locally.
# users_auth_file = st.secrets['secrets_users_auth_file']
# auth_token = st.secrets['secrets_courier_auth_token']
users_auth_file = '_secret_auth_.json'
auth_token = 'courier_auth_token' # password reset is not supported
__login__obj = __login__(
auth_token=auth_token,
company_name="Shims",
width=200,
height=250,
logout_button_name='Logout',
hide_menu_bool=False,
hide_footer_bool=False,
lottie_url='https://assets2.lottiefiles.com/packages/lf20_jcikwtux.json',
users_auth_file=users_auth_file,
is_disable_login=True)
is_logged_in = __login__obj.build_login_ui()
if is_logged_in:
st.markdown("Your Streamlit Application Begins here!")
username = __login__obj.get_username()
st.markdown(st.session_state)
st.write(username)
See is_disable_login=True
.
hello, I want to ask you,
in my app, I want to know the username using the get_username() but it return
AttributeError: āloginā object has no attribute āget_usernameā
How to overcome it>?
Thanks
The package at pypi is not updated yet. So the get_username()
is not supported in pip install streamlit-login-auth-ui
.
Here is one way to show the username. This is based on the updated repo.
Install normally.
pip install streamlit-login-auth-ui
and then see the following code on # Get the user name. comment.
import streamlit as st
from streamlit_login_auth_ui.widgets import __login__
if 'login' not in st.session_state:
st.session_state.login = False
__login__obj = __login__(auth_token="courier_auth_token",
company_name="Shims",
width=200, height=250,
logout_button_name='Logout', hide_menu_bool=False,
hide_footer_bool=False,
lottie_url='https://assets2.lottiefiles.com/packages/lf20_jcikwtux.json')
st.session_state.login = __login__obj.build_login_ui()
if st.session_state.login:
st.markdown("Welcome to Main page!")
# Get the user name.
fetched_cookies = __login__obj.cookies
if '__streamlit_login_signup_ui_username__' in fetched_cookies.keys():
username = fetched_cookies['__streamlit_login_signup_ui_username__']
st.write(username)
thank you I recently try by implementing the code inside the method
could this library be integrated with firebase auth? I mean, getting an authorization token.
Iām using this plugin within a Heroku streamlit app. Where should I stored the _secret_auth_.json
file? Should it really just be stored on the memory of the Heroku app? Is this secure? Is it better to maintain these secrets in a separate server, such as on AWS or GCS? If so, do you have any suggestions or links for how to do this?
Thank you for the easy and great plugin!
I have a pull request of this repository. The secret_auth.json file can be saved in deta.
I have not tried it yet with GCS but I think this is possible.
The repo owner has not replied yet. I might create this June, a new package based on this repo with some improvements and features if the owner will not comment on my pull request.
Great. Thanks for the effort and link! Iāll check it out. This actually matches our use case better too ā allowing user login but not open registration. While merging clearly seems desirable, if the original author will not merge the PR, please let us know if you make a separate repo.
fail to use this package switch to st_pages
if LOGGED_IN == True:
my_mainapp.main()
notes:
the my_mainapp.py is created by st_pages.
when it run,error is show,
he page that you have requested does not seem to exist. Running the appās main page
- how can i remove this error;
- how add the logout button on my_mainapp.py .
how do you it.
Hi thanks a lot for this amazing component. Is it possible to integrate this within a database ?
Hi, Good job done.
A continuous message is displayed on the main page can you check it?
More information in our docs.
2024-01-16 13:17:16.903 st.cache
is deprecated. Please use one of Streamlitās new caching commands,
st.cache_data
or st.cache_resource
. Based on this functionās return value
of type bytes
, we recommend using st.cache_data
.
More information in our docs.
Heyy @Gauri_Prabhakar
while using the forgot password functionality, Iām getting Error like below
CourierAPIException: <Response [401]>
How to solve it ??