Skip to main content

这个库是一个用户友好的 Streamlit 登录/注册系统,基于streamlit_login_auth_ui 库改写构建。 它为开发者提供了一种简单的方法,以便在其 Streamlit 应用程序中实现安全的用户身份注册和验证。

Project description

介绍

这个插件是一个用户友好的 Streamlit 登录/注册系统,基于streamlit_login_auth_ui库改写构建, 本项目修改为了中文版,同时支持兼容更高版本的streamlit,修复了部分Bug。 它为开发者提供了一种简单的方法,以便在其 Streamlit 应用程序中实现安全的用户身份注册和验证。

streamlit版本需求

streamlit>=1.12.0

主要功能

  1. 用户登录与注册:允许用户使用用户名和密码安全地登录和注册新帐户。

  2. 密码重置功能:用户可以通过点击“忘记密码?”链接,接收一封包含临时密码的电子邮件,方便重置密码。

  3. 输入验证:在注册过程中,系统会验证用户名和邮箱的有效性及唯一性,确保用户输入的信息符合标准。

  4. 加密存储:所有用户密码都经过加密处理,增强了安全性。

  5. 自动登录:使用加密的 Cookie 记住用户的登录状态,避免每次都输入密码。

  6. 用户界面:提供一个可定制的登录/注册页面,用户可以通过修改参数来更改界面的外观和行为。

使用说明

  1. 依赖项安装:确保在使用之前安装了相关依赖项,包括 streamlit, argon2-cffi, trycourier 等。

  2. 初始化和配置:创建 __login__ 类的实例时,传入必要的参数,如认证token和公司名称。

  3. 界面集成:使用 build_login_ui() 方法整合所有功能,构建完整的用户界面。

作者:

Rycen7822

PyPi链接:

( https://pypi.org/project/streamlit-login-auth-ui-zh/0.1.0/)

github:

https://github.com/Rycen7822/streamlit_login_auth_ui_zh/tree/main

The UI:

The UI

下载库

pip install streamlit_login_auth_ui_zh

要导入该库,只需在代码开头粘贴以下内容:

from streamlit_login_auth_ui_zh.widgets import __login__

您只需要为 __login__ 类创建一个对象,并传入以下参数:

主要参数说明:

  1. auth_token:从 Courier 获取的唯一授权token,用于安全地发送电子邮件。
  2. company_name:发送密码重置邮件的个人或组织的名称,例如 "Shims"。
  3. width:登录页面上动画的宽度,单位为像素(例如 200 像素)。
  4. height:登录页面上动画的高度,单位为像素(例如 250 像素)。
  5. logout_button_name:设置注销按钮的名称(例如 'Logout')。
  6. hide_menu_bool:传入 True 以隐藏 Streamlit 菜单,传入 False 则显示菜单。
  7. hide_footer_bool:传入 True 以隐藏“由 Streamlit 制作”的页脚,传入 False 则显示页脚。
  8. lottie_url:希望在登录页面使用的 Lottie 动画 URL,可以从 LottieFiles 上找到适合的动画。

login 类构造函数参数说明

必需参数 (Mandatory Arguments)

  1. auth_token
    Courier 获取的token

  2. company_name
    发送密码重置邮件的个人或组织的名称。

  3. width
    登录页面上动画的宽度。

  4. height
    登录页面上动画的高度。

非必需参数 (Non Mandatory Arguments)

  1. logout_button_name [默认值 = '退出登录']:
    注销按钮的名称。如果不提供,默认为 '退出登录'。

  2. hide_menu_bool [默认值 = False]:
    传入 True 以隐藏 Streamlit 菜单,默认为 False,表示菜单将显示。

  3. hide_footer_bool [默认值 = False]:
    传入 True 以隐藏“由 Streamlit 制作”的页脚,默认为 False,表示页脚将显示。

  4. lottie_url
    希望在登录页面使用的 Lottie 动画的 URL。

在创建 login 类的对象之后,你需要调用该对象的 build_login_ui() 方法。这个方法将用于生成和展示登录用户界面。调用该方法的结果可以存储在一个变量中,方便后续操作。

使用 login 类构建登录用户界面的示例

本示例演示如何使用 __login__ 类构造对象并调用 build_login_ui() 方法来构建登录用户界面。

示例代码

# 引入需要的库和模块
import streamlit as st
from streamlit_login_auth_ui_zh.widgets import __login__

# 创建 __login__ 类的对象
login_ui = __login__(
    auth_token="courier_auth_token",  # 从 Courier 获取的授权令牌
    company_name="MyCompany",  # 发送密码重置邮件的公司名称
    width=300,  # 动画宽度
    height=400,  # 动画高度
)

# 调用 build_login_ui() 方法并存储返回值
user_logged_in = login_ui.build_login_ui()

# 根据返回值执行后续操作
if user_logged_in:
    st.success("用户已成功登录!")
else:
   st.warning("请登录以继续.")

def main():
   # your streamlit app
   
if user_logged_in == True:
   main()

注意事项

请确保将你的应用程序逻辑缩进在 if st.session_state['LOGGED_IN'] == True: 语句下,这样可以保证只有在用户安全登录后,应用程序才会运行。

说明

登录页面

登录页面,用于验证用户身份。 image

创建账户页面

以安全的方式将用户信息存储在 _secret_auth_.json 文件中。 image

忘记密码页面

在用户身份验证(电子邮件)后,触发一封包含随机密码的电子邮件发送给用户。 image

重置密码页面

在用户身份验证(电子邮件和通过电子邮件共享的密码)后,重置密码并更新到 _secret_auth_.json 文件中。
image

退出按钮

仅在用户已登录时在侧边栏生成,允许用户退出。 image

版本

v0.1.0

许可

本项目使用 MIT 许可证。有关详细信息,请查看 LICENSE 文件。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamlit_login_auth_ui_zh-0.1.3.tar.gz (13.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

streamlit_login_auth_ui_zh-0.1.3-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file streamlit_login_auth_ui_zh-0.1.3.tar.gz.

File metadata

File hashes

Hashes for streamlit_login_auth_ui_zh-0.1.3.tar.gz
Algorithm Hash digest
SHA256 15a8e6e8039481a569921a5f3f30cda488567ede78765c70b389d930b1e1deb8
MD5 519a49e752ea7c4ebdf735ca5ff5d593
BLAKE2b-256 adbf63d2c8c6c75cdedd1cdbb4cdba12c6aecb46c982a8132ff53d21fa4eff18

See more details on using hashes here.

File details

Details for the file streamlit_login_auth_ui_zh-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for streamlit_login_auth_ui_zh-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5e7cd68a70f1b87286c7572aa817749ff7309ed4201304f12dd672348d349e34
MD5 a663dc5383b1a6b0e6e1c461030f463a
BLAKE2b-256 fed3434e1359d43592ae52d91bac5026d2cfebda62d26b664582b9a2ddb27ecf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page