# idsphere **Repository Path**: yybluestorm/idsphere ## Basic Information - **Project Name**: idsphere - **Description**: 项目采用前后端分离的架构模式,后端项目基于Gin + Gorm + Casbin实现,前端项目基于 Vue Admin Template 进行二次开发。提供系统用户统一认证服务(SSO),支持CAS 3.0、OAuth 2.0、SAML2和OIDC协议。支持企业级账号管理功能,支持账号分享、账号移交。 - **Primary Language**: Go - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 3 - **Created**: 2024-11-11 - **Last Updated**: 2025-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IDSphere 统一认证平台项目介绍 仅需一次认证,即可访问所有授权访问的应用系统,为企业办公人员提供高效、便捷的访问体验。 ## 演示站点 演示站点访问地址为:`http://124.70.176.205`,账号:`lisi`,密码:`Li-Si@123...` ## 架构设计 项目采用前后端分离架构设计,项目地址如下: | 项目 | 项目地址 | |:----|:--------------------------------------------| | 前端 | https://github.com/yuyan075500/idsphere-web | | | 后端 | https://github.com/yuyan075500/idsphere | 以上两个仓库与 `Gitee` 保持同步,仓库地址如下: | 项目 | 项目地址 | |:----|:-------------------------------------------| | 前端 | https://gitee.com/yybluestorm/idsphere-web | | | 后端 | https://gitee.com/yybluestorm/idsphere | ## 后端目录说明 * config:全局配置。 * controller:路由规则配置和接口的入参与响应。 * service:接口处理逻辑。 * dao:数据库操作。 * model:数据库模型定义。 * db:数据库、缓存以及文件存储客户端初始化。 * middleware:全局中间件层,如跨域、JWT 认证、权限校验等。 * utils:全局工具层,如 Token 解析、文件操作、字符串操作以及加解密等。 ## 后端 Code 状态码说明 * 0:请求成功。 * 90400:请求参数错误。 * 90401:认证失败。 * 90403:拒绝访问。 * 90404:访问的对象或资源不存在。 * 90514:Token过期或无效。 * 90500:其它服务器错误。 # 项目功能介绍 ## 认证相关 * **SSO 单点登录**:支持 `CAS 3.0`、`OAuth 2.0`、`OIDC`和`SAML2` 协议,客户端对接对接方法可以参考 [客户端配置指南](https://github.com/yuyan075500/idsphere/wiki/6%E3%80%81%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%EF%BC%88SSO%EF%BC%89%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97 "SSO 客户端对接") 和 [已测试客户端列表](https://github.com/yuyan075500/idsphere/wiki/6%E3%80%81%E5%8D%95%E7%82%B9%E7%99%BB%E5%BD%95%EF%BC%88SSO%EF%BC%89%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97#%E5%B7%B2%E9%80%9A%E8%BF%87%E6%B5%8B%E8%AF%95%E7%9A%84%E5%AE%A2%E6%88%B7%E7%AB%AF%E5%88%97%E8%A1%A8 "已测试客户端列表")。 * **用户认证**:支持使用 [钉钉扫码登录](https://github.com/yuyan075500/idsphere/wiki/5%E3%80%81%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81#%E9%92%89%E9%92%89 "钉钉扫码配置")、[企业微信扫码登录](https://github.com/yuyan075500/idsphere/wiki/5%E3%80%81%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81#%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1 "企业微信扫码配置")、[飞书扫码登录](https://github.com/yuyan075500/idsphere/wiki/5%E3%80%81%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81#%E9%A3%9E%E4%B9%A6 "飞书扫码配置")、[OpenLDAP 账号密码登录](https://github.com/yuyan075500/idsphere/wiki/5%E3%80%81%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81#openldap "OpenLDAP 配置")和[Windows AD 账号密码登录](https://github.com/yuyan075500/idsphere/wiki/5%E3%80%81%E7%94%A8%E6%88%B7%E8%AE%A4%E8%AF%81#windows-ad "Windows AD配置") 登录。登录页面支持个性化配置,隐藏或显示必要的登录选项,可以参考 [前端配置指南](https://github.com/yuyan075500/ops-web "前端配置")。 * **双因素认证**:支持使用 Google Authenticator、阿里云和华为云手机 APP 进行双因素认证,双因素认证仅在使用账号密码认证时生效。
img img
## 企业级账号管理 支持账号资产管理功能,面向企业人员提供安全、便捷的企业信息化账号管理。 * 加密保护:账号密码采用密钥对加密存储,避免本地存储带来的泄露风险。 * 共享机制:支持用户间的账号共享,无需依赖邮件或聊天工具,分享更加高效安全。 * 所有权变更机制:人员变动时账号可直接移交给新负责人,避免资产流失。 具体可以参考 [账号管理相关文档](https://github.com/yuyan075500/idsphere/wiki/4%E3%80%81%E7%B3%BB%E7%BB%9F%E4%BD%BF%E7%94%A8#%E8%B4%A6%E5%8F%B7%E7%AE%A1%E7%90%86 "账号管理")。 ## 域名及证书管理 域名及证书一站式管理,全自动化 Let`s Encrypt 免费证书申请,支持平台包括:阿里云、华为云和腾讯云。 * 支持域名及 DNS 解析管理。 * 支持 HTTPS 证书原文件管理。 * 支持 HTTPS 站点证书监控。 ## 其它 * 支持`Swagger`接口文档:部署成功后访问地址为:`/swagger/index.html`,无需要登录。 * 支持用户密码自助更改:部署成功后访问地址:`/reset_password`,无需要登录。 * 支持企业网站导航:部署成功后访问地址:`/sites`,无需要登录。 # 项目部署 参考 [Docker Compose部署](https://github.com/yuyan075500/idsphere/wiki/2%E3%80%81%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2#docker-compose-%E9%83%A8%E7%BD%B2 "docker-compose部署") 和 [Kubernetes部署](https://github.com/yuyan075500/idsphere/wiki/2%E3%80%81%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2#kubernetes-%E9%83%A8%E7%BD%B2 "Kubernetes部署")。 # 开发环境搭建 参考 [开发环境搭建](https://github.com/yuyan075500/idsphere/wiki/3%E3%80%81%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA "开发环境搭建")。 # 项目交流 如果你对此项目感兴趣,可添加作者联系方式 WeChat:270142877。 Email:270142877@qq.com。
联系时请注名来意。