# 简单的授权认证 **Repository Path**: tecnnt/authsysbate ## Basic Information - **Project Name**: 简单的授权认证 - **Description**: 一个简单的授权认证系统,仅用于小范围使用,商业使用还是需要更专业的软件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-22 - **Last Updated**: 2026-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 虚境授权中枢 (Void License NEXUS) ## 系统概述 密钥锚定型单机授权管理中心。系统与部署环境密钥强绑定,数据库文件与密钥文件必须配套,缺一不可。 ## 技术栈 - **后端**: .NET 8 + ASP.NET Core - **前端**: 原生 HTML/CSS/JS SPA (内嵌资源) - **数据库**: SQLite (Microsoft.Data.Sqlite) - **部署**: Docker (多阶段构建) ## 构建与部署 ### Docker 部署 (推荐) ```bash # 构建镜像 docker build -t license-nexus . # 运行容器 docker run -d \ --name license-nexus \ -p 8080:8080 \ -e INIT_TOKEN=your-secure-token \ -v auth-data:/data \ license-nexus ``` ### Docker Compose 部署 ```bash # 设置初始化令牌 export INIT_TOKEN=your-secure-token # 启动 docker-compose up -d ``` ### 手动构建 ```bash # 发布 Native AOT 版本 dotnet publish -c Release -r linux-musl-x64 \ --self-contained true \ -p:PublishAot=true \ -p:PublishSingleFile=true # 运行 DATA_DIR=/data INIT_TOKEN=your-secure-token ./bin/Release/net8.0/linux-musl-x64/publish/LicenseNexus ``` ## 环境变量 | 变量 | 说明 | 默认值 | |------|------|--------| | `LISTEN_PORT` | 监听端口 | 8080 | | `DATA_DIR` | 数据目录 | /data | | `INIT_TOKEN` | 首次初始化令牌 | changeme | ## 首次使用 1. 部署并启动服务 2. 访问 `http://:/admin` 3. 使用 INIT_TOKEN 初始化系统管理员账号 4. 使用创建的账号登录管理后台 ## 双通道设计 | 通道 | 使用者 | 认证方式 | |------|--------|----------| | 授权查询 API | 客户端程序 | 请求签名 (项目密钥 + 时间戳) | | 管理后台 | 人类管理员 | Cookie/Session (JWT Token) | ## API 接口 ### 授权查询 - `POST /api/auth/check` - 查询设备授权状态 - 请求签名: HMACSHA256(项目API密钥, "项目ID:设备指纹:时间戳") ### 管理后台 - `POST /api/admin/login` - 管理员登录 - `GET /api/dashboard` - 仪表盘数据 - `POST /api/projects` - 创建项目 (系统管理员) - `GET /api/projects` - 列出项目 - `POST /api/devices` - 添加设备 - `GET /api/projects/{id}/devices` - 列出设备 - `PUT /api/projects/{id}/devices/{fp}` - 更新设备状态 - `DELETE /api/projects/{id}/devices/{fp}` - 移除设备 - `GET /api/projects/{id}/logs` - 查询日志 ## 安全特性 - 环境密钥绑定 (MD5 多层哈希) - 系统管理员数量自检 (每5分钟) - 请求签名验证 (5分钟时间窗口) - 设备指纹唯一性约束 - 无批量操作 (单条处理) - 无环境绑定重置通道 ## 设计文档 详细设计见 `设计文档.md`。