Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

秒登 MiaoDeng

English README · 中文

📚 文档导航:docs/README.md

License Release CI

一个面向团队内部系统的 自托管自动登录门户 + Chrome / Edge 插件

它提供统一入口、账号凭据托管、规则化登录页适配、浏览器自动填充与一键跳转,适合测试 / UAT / 运维 / 内部平台等多系统高频登录场景。

部署说明:本项目当前为前后端一体部署server.py 会同时提供门户前端页面(/sso-portal.html)和后端 API(/api/*),所以无论是 Docker 还是本地 Python 启动,默认都会把前端和后端一起启动。

部署前准备

你可以在下面两种方式中任选一种:

  • Docker 部署:适合希望一条命令直接跑起来的场景
  • 本地 Python 部署:适合没装 Docker、或想直接在本机跑服务的场景

方式一需要的环境:Docker

请先确保你的电脑已经安装:

  • docker
  • docker compose

可用下面命令自检:

docker --version
docker compose version

如果没有安装:

  • macOS / Windows:安装 Docker Desktop
  • Linux:安装 Docker Engine + Docker Compose Plugin

方式二需要的环境:Python

本项目服务端当前没有额外的 pip 依赖,只需要安装 Python 3.11 或更高版本 即可。

可用下面命令自检:

python3 --version

如果没有安装:

  • macOS
    • 已安装 Homebrew:brew install python@3.11
    • 或直接安装 Python 官方安装包
  • Ubuntu / Debian
    • sudo apt-get update
    • sudo apt-get install -y python3
  • CentOS / Rocky / RHEL
    • sudo dnf install -y python3
  • Windows
    • 安装 Python 官方安装包,并勾选 Add Python to PATH

安装完成后再次执行:

python3 --version

项目组成

  • 门户端:系统卡片、凭据管理、规则中心、更新中心、审计与备份能力
  • Chrome / Edge 插件:识别当前登录页、拉取凭据、自动填充并提交
  • 规则中心:把不同系统的登录页差异沉淀为可复用规则

主要特性

  • ✨ 自动识别登录页面
  • 🔐 支持账号密码、OTP、TOTP、Token 等登录方式
  • 🧠 登录规则中心:支持内置规则 + 自定义规则 + 浏览器页面采样
  • ⚡ 点击系统卡片自动登录
  • 👥 多用户隔离
  • 🧾 管理员审计日志
  • 💾 自动备份 + 一键恢复
  • 🧩 统一更新中心
  • 🐳 Docker 部署

快速开始

方式一:Docker(推荐)

cp .env.docker.example .env
docker compose up -d --build
docker compose ps
docker compose logs -f sso-portal

默认访问:

  • 门户:http://localhost:6680
  • 数据目录:./data
  • 当前内置镜像元数据版本:3.68

如需启用内置 HTTPS 网关:

docker compose --profile secure up -d

启用后可访问:

  • HTTP 网关:http://localhost:8080
  • HTTPS 网关:https://localhost:8443

注意:默认是自签证书,浏览器首次访问出现安全提示属于预期行为。

方式二:本地 Python

python3 server.py

如果提示找不到 python3,说明当前机器还没有安装 Python,先按上面的“部署前准备”完成安装。

启动后同样会同时提供:

  • 前端页面:http://localhost:6680/sso-portal.html
  • 默认入口:http://localhost:6680
  • 后端接口:http://localhost:6680/api/*

方式三:接入你自己的 Nginx / 反向代理

如果你已经有自己的 Nginx,不需要再单独部署一个前端站点,直接把同一个上游 6680 端口反向代理出去即可,因为前端页面和 API 都由 server.py 提供。

最小示例:

server {
    listen 80;
    server_name your-domain.example.com;

    location / {
        proxy_pass http://127.0.0.1:6680;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

如果你使用 HTTPS,也只需要在这个反向代理层处理证书即可。

插件安装

当前推荐方式为 ZIP 安装

  1. 打开秒登门户
  2. 点击右下角 「🔌 安装秒登插件」
  3. 按浏览器下载 Chrome 版本Edge 版本 ZIP 并解压
  4. Chrome 打开 chrome://extensions/;Edge 打开 edge://extensions/
  5. 开启 开发者模式
  6. 点击 加载已解压的扩展程序
  7. Chrome 选择解压后的 chrome-extension 目录;Edge 选择 edge-extension 目录
  8. 打开插件,填写秒登服务地址并保存
  9. 设置“切换用户”为你的用户名

详细安装说明见:README-INSTALL.txt

环境变量

变量 说明 默认行为
ADMIN_PASSWORD 管理员密码 未设置时首次启动自动生成
DEFAULT_USER_PASSWORD 默认用户初始密码 未设置时首次启动自动生成
ENCRYPT_KEY 凭据加密密钥 未设置时写入 data/.encrypt-key
SESSION_TTL_HOURS 普通会话有效期 8
REMEMBER_SESSION_TTL_DAYS 记住登录有效期 30
BACKUP_INTERVAL_HOURS 自动备份间隔 24
BACKUP_RETENTION_COUNT 备份保留数量 10
TLS_DOMAINS secure 网关证书域名 localhost 127.0.0.1 your-host.local
TLS_CERT_DAYS 证书有效期 825

开发与测试

基础验证命令

python3 - <<'PY'
from pathlib import Path
html = Path('sso-portal.html').read_text()
start = html.rfind('<script>')
end = html.rfind('</script>')
Path('/tmp/sso_portal_inline.js').write_text(html[start+len('<script>'):end])
print('/tmp/sso_portal_inline.js')
PY

node --check /tmp/sso_portal_inline.js
node --check chrome-extension/content.js
node --check chrome-extension/popup.js
node --check chrome-extension/background.js
python3 -m unittest tests.test_server_api tests.test_frontend_regressions -q
node --test tests/test_autosubmit_utils.mjs
docker compose config

目录结构

.
├── chrome-extension/        # Chrome / Edge 插件源码
├── data/                    # 运行时数据(不提交)
├── deploy/                  # 部署相关配置
├── docs/                    # 项目文档导航与补充说明
├── tests/                   # 自动化测试
├── server.py                # Python 服务端
├── sso-portal.html          # 门户前端主页面
├── docker-compose.yml       # Docker 编排
└── .env.docker.example      # 环境变量示例

数据与隐私说明

本仓库 不会提交任何真实业务数据

以下内容默认应只保留在本地或服务器上,不能进入 Git:

  • data/ 下所有真实文件
  • .env
  • SQLite 数据库 / 备份
  • 自动生成的管理员密码哈希
  • 加密密钥
  • TLS 私钥 / 证书私钥

仓库已经通过 .gitignoredata/.gitignore 对这些内容做默认隔离。

常见问题

Chrome / Edge 提示“禁用开发者模式扩展”

这是浏览器的正常安全提示,点击“保留”即可。

插件无法自动填充

请优先检查:

  1. 插件里的服务地址是否正确
  2. 当前用户名是否正确
  3. 系统是否已在门户中配置
  4. 登录页是否命中了对应规则

如何给同事使用

  1. 部署好秒登门户
  2. 让同事访问门户地址
  3. 通过 ZIP 安装插件
  4. 在插件里填入你的服务地址

开源协作

仓库说明

为了让 GitHub 仓库更轻量、聚焦核心工程,本仓库已移除公众号排版稿、演示截图原图和品牌营销素材,只保留运行所需代码、测试与核心文档。

License

MIT

About

秒登 MiaoDeng · Self-hosted SSO portal & Chrome extension for internal app launch, auto-login, and configurable login rules. 自托管统一登录门户,支持应用直达、自动登录与登录规则配置。

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages