# uniauth **Repository Path**: LLS312885991/uniauth ## Basic Information - **Project Name**: uniauth - **Description**: 统一认证与 RBAC 管理的一体化工程:提供认证服务、管理后台(Vue 3)以及供业务系统集成的 Spring Boot Starter SDK。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-03-28 - **Last Updated**: 2026-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UniAuth 统一认证与 **RBAC** 管理的一体化工程:提供 **认证服务**、**管理后台(Vue 3)** 以及供业务系统集成的 **Spring Boot Starter SDK**。 ## 文档索引 | 文档 | 说明 | |------|------| | [LOCAL-DEV.md](./LOCAL-DEV.md) | 本地开发:依赖服务、环境变量、启动命令 | | [DEPLOY.md](./DEPLOY.md) | 生产部署:打包、环境变量、Nginx、验收清单 | | [docs/USAGE.md](./docs/USAGE.md) | 使用说明:认证与会话模型、主要 API、管理端行为 | | [uniauth-sdk/README.md](./uniauth-sdk/README.md) | 业务系统集成 SDK:配置、注解、`TokenHelper` | ## 模块结构 | 模块 | 说明 | |------|------| | `uniauth-common` | 统一返回体 `R`、错误码、Redis 常量、`LoginUser` 等公共模型 | | `uniauth-server` | 认证服务:登录 / 刷新 / 会话 / `verify`、用户·角色·资源·应用管理、操作与登录日志 | | `uniauth-sdk` | 业务侧 Starter:MVC 拦截器 + 调用 `/auth/verify` + `@RequireRole` / `@RequirePermission` | | `uniauth-ui` | 管理后台:系统管理、日志审计、基于菜单的资源控制 | ## 技术栈 - **后端**:Java 17、Spring Boot 3.5、MyBatis-Plus、PostgreSQL、Redis、Flyway、SpringDoc(OpenAPI 3) - **前端**:Vue 3、TypeScript、Vite、Pinia、Element Plus ## 核心行为摘要 - **Access Token**:JWT,载荷含 `userId`(标准 `jti`/`id` claim)、`username`(`sub`)、`roles`;**权限以服务端 Redis / DB 为准**,签发时也会写入 Redis 便于校验。 - **管理端会话**:浏览器 **仅持久化** `access_token` / `refresh_token`;用户资料、角色、权限、菜单来自 **`GET /auth/verify` 体系外的 `GET /auth/session`**,存放在 **Pinia 内存**,刷新页面会重新拉取,便于权限变更及时生效。 - **业务系统集成**:引入 `uniauth-sdk` 后,每个进入 Controller 的请求会先 **远程校验 Token**,注解鉴权由 **`AuthInterceptor` 实现(无需业务方写切面)**。详见 SDK README。 ## 默认初始化数据(Flyway) 首次迁移后通常包含演示管理员(以实际 `db/migration` 为准): - 用户名:`admin` - 密码:`admin123` - 默认应用编码:`uniauth-admin`(管理后台对应应用,**`verify` 中的 `appCode`** 需与在 UniAuth 中注册的应用一致) **生产环境请务必修改默认密码、JWT 密钥与数据库凭据。** ## 快速启动(本地) ```powershell cd uniauth mvn -pl uniauth-server -am spring-boot:run ``` ```powershell cd uniauth\uniauth-ui npm install npm run dev ``` - API 根路径(默认):`http://localhost:8080/api` - 管理后台(Vite):`http://localhost:3000` - Swagger UI:`http://localhost:8080/api/swagger-ui.html` 更详细的变量与拓扑见 [LOCAL-DEV.md](./LOCAL-DEV.md)。 ## 构建与测试 ```powershell cd uniauth mvn clean test ``` ```powershell cd uniauth\uniauth-ui npm run build ``` ## 版本说明 当前父 POM 版本:`1.0.0-SNAPSHOT`。多模块联编请始终在 **`uniauth`** 目录下执行 `mvn install` / `mvn package`,以保证 `uniauth-common` 等对下游模块可见。