
Product
Announcing Precomputed Reachability Analysis in Socket
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.
streamlit-rsa-auth-ui
Advanced tools
Encryption on Authenticate widget data from client to server.
Http is the information transfer protocol between networked devices. However, all the requests and responses are in plaintext, which means that anyone can read them.
If you want to deploy streamlit server using http protocol (not https protocol) and you add the user authentication, user password can be read by anyone in the network as it is the plaintext for http protocol.
streamlit-rsa-auth-ui
correct it by encrypting user information including password at the client browser before transmit to streamlit server using RSA algorithm
It is asymmetric cryptography, uses two different but mathematically linked keys
Open a terminal and run:
pip install streamlit-rsa-auth-ui
Create a new file generateKeys.py
from streamlit_rsa_auth_ui import Encryptor
encryptor = Encryptor.generateNew(2048)
encryptor.save('rsa', 'authkey')
Run generateKeys.py
python script
python generateKeys.py
this will create a private key and public key pair
authkey
authkey.pub
├── rsa
│ ├── authkey
│ │ authkey.pub
Create a new file example.py
import streamlit as st
from streamlit_rsa_auth_ui import Encryptor, authUI, SigninEvent, SigninFormConfig, getEvent
ss = st.session_state
encryptor = Encryptor.load('rsa', 'authkey')
ui = authUI('login_ui_result', encryptor.publicKeyPem)
def checkAuth(username: str, password: str):
return username == 'test' and password == 'New.Prog'
def login():
if 'event' in ss and type(ss.event) is SigninEvent: return True
result = ui.signinForm(default={'remember': True}, configs=SigninFormConfig(remember="Rememeber Me"))
if result is None: return None
_dict = encryptor.decrypt(result)
event = getEvent(_dict)
if type(event) is not SigninEvent or not checkAuth(event.username, event.password): return False
ss['event'] = event
st.rerun()
def logout():
result = ui.signoutForm()
if result is None: return False
_dict = encryptor.decrypt(result)
event = getEvent(_dict)
ss['event'] = event
return True
if not login(): st.stop()
with st.sidebar:
if logout(): st.rerun()
st.title('Streamlit Rsa Auth UI Test')
button = st.button('test')
button
Run the streamlit app
streamlit run example.py
FAQs
Streamlit RSA Authenticator UI
We found that streamlit-rsa-auth-ui demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.
Product
Add secure dependency scanning to Claude Desktop with Socket MCP, a one-click extension that keeps your coding conversations safe from malicious packages.