Very, very noob question and im sorry for it.
How to implement it ?
pip install streamlit-authenticator
import streamlit as st import streamlit_authenticator as stauth
Initially create a YAML configuration file .....
Ok. lets say we create auth.yaml
Then we add credentials like example shows.
But what about next ? This is where im utterly lost.
- Then use the Hasher module to convert the plain text passwords into hashed passwords.
hashed_passwords = stauth.Hasher(['abc', 'def']).generate()
What hasher ? where is it ? how to use it ?
With older versions i just have
import pickle from pathlib import Path import streamlit_authenticator as stauth names = ["Demo"] usernames = ["Demo"] passwords = ["pas123"] hashed_passwords = stauth.Hasher(passwords).generate() file_path = Path(__file__).parent / "hashed_pwd.pkl" with file_path.open("wb") as file: pickle.dump(hashed_passwords, file)
and i just run python gen_keys.py run
Then is this step:
- Subsequently import the configuration file into your script and create an authentication object.
import yaml from yaml.loader import SafeLoader
Is this inside streamlit app ?
My current streamlit app looks like this:
import streamlit as st import streamlit_authenticator as stauth # User auth. names = ["Demo"] username = ["demo"] # Load hashed passwords file_path = Path(__file__).parent / "hashed_pwd.pkl" with file_path.open("rb") as file: hashed_passwords = pickle.load(file) authenticator = stauth.Authenticate(names, usernames, hashed_passwords, "dashboard", "prototype", cookie_expiry_days=30) name, authentication_status, username = authenticator.login("Login", "main")
Basically i dont understand Step 1 and Step 2