项目介绍
MLiev IAM
MLiev IAM 是一个基于 Go 语言开发的现代化企业级身份认证与访问管理(IAM)系统。它作为 OIDC/OAuth2 身份提供商(Identity Provider),为企业应用提供统一的单点登录(SSO)和权限管理服务。
核心能力
- OIDC/OAuth2 身份提供商 — 完整实现 OpenID Connect 协议,支持授权码流程、隐式流程、客户端凭据流程、PKCE
- RBAC 权限管理 — 基于角色的访问控制,支持四级数据权限(全部 / 本部门 / 本部门及下级 / 仅本人)
- 用户生命周期管理 — 注册、激活、禁用、锁定,支持多属性扩展
- 组织架构管理 — 多层级部门结构,支持公司/事业部/部门/团队
- 社交登录集成 — 可配置的第三方 OAuth 登录提供商
- Web 安装向导 — 首次部署通过浏览器完成数据库、Redis 配置和初始化
- 配置热重载 — 通过 SIGHUP 信号或 API 重载配置,无需重启进程
- 单文件部署 — 前端资源内嵌到 Go 二进制文件,一个可执行文件即可运行
- 多数据库支持 — MySQL、PostgreSQL、SQLite 三种数据库任选
技术架构
| 组件 | 技术选型 |
|---|---|
| 语言 | Go 1.25+ |
| Web 框架 | Gin |
| ORM | GORM v1.31 |
| 缓存 | Redis |
| 认证 | JWT、OAuth2、OIDC |
| 前端 | Vue 3 + Ant Design(管理后台) |
| 容器化 | Docker 多阶段构建 |
系统采用 Controller → Service → DAO 分层架构,通过自研轻量级依赖注入框架组装各组件。
支持平台
| 操作系统 | 架构 |
|---|---|
| Linux | amd64, arm64, arm (v5/v6/v7), loong64 |
| macOS | amd64 (Intel), arm64 (Apple Silicon) |
| Windows | amd64, arm64 |
所有平台均提供预编译二进制文件,也可通过 Docker 部署。