Streamlit-Authenticator
Streamlit-Authenticator copied to clipboard
Automatically save and load hashed_passwords as a file
Hi,
First of all thank you for your work on Streamlit-Authenticator, it's a very appreciated module :)
I have a feature request to ease its use.
It turns out that once the hashed_passwords are generated with .Hasher.generate
, I end up saving it as a txt
file and then load it afterwards for the Authenticate
method.
It would be easier to add the possibility to automatically save the hashed_passwords
as a file (with the .generate
method), and load it (with the .Authenticate
method).
The workflow would look like this:
names = ['John Smith', 'Rebecca Briggs']
usernames = ['jsmith', 'rbriggs']
passwords = ['123', '456']
hashed_passwords = stauth.Hasher(passwords).generate(folder_path="path_to_folder")
A .key file is then automatically generated at path_to_folder/hashed_passwords1546.key
1546
here is a random number generated when .Hasher.generate()
is called.
Then, when you need to use hashed_passwords
, you can use the legacy way:
authenticator = stauth.Authenticate(
names, usernames, 'some_cookie_name',
'some_signature_key', cookie_expiry_days=30,
hashed_passwords=hashed_passwords,
)
Or you can alternatively use the saved hashed_passwords1546.key
file:
authenticator = stauth.Authenticate(
names, usernames, 'some_cookie_name',
'some_signature_key', cookie_expiry_days=30
hashed_passwords_path="path_to_folder/hashed_passwords1546.key"
)
I already implemented most of it for my use, so if you think this a good idea, I could raise a PR.
Best regards, Alex
Thank you! I have no immediate plans to implement such a feature, but please feel free to implement and make a pull request if you wish to do so. Cheers.