# SSO单点登录平台 **Repository Path**: YanRuiPo/sso-platform ## Basic Information - **Project Name**: SSO单点登录平台 - **Description**: 同时支持CAS和Oauth2/Oidc的单点登录平台。前端使用vue3+element-ui plus,后端使用java17 + mysql实现 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2026-05-11 - **Last Updated**: 2026-05-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: sso, CAS, oidc, OAuth2 ## README # SSO Platform Single Sign-On (SSO) 统一认证平台,支持 CAS、OAuth2、OIDC 等多种认证协议,为企业提供统一的身份认证服务。 ## 项目简介 SSO Platform 是一个功能完善的企业级统一身份认证系统,基于 Spring Boot 3 构建,采用 微服务架构 设计。平台集成了多种主流认证协议(CAS、OAuth2、OIDC),支持多应用统一登录、单点退出、用户授权管理等功能。 ## 技术栈 - **Java 17** - Java 版本 - **Spring Boot 3** - 应用框架 - **MyBatis Plus** - ORM 持久化框架 - **Redisson** - Redis 客户端 - **Sa-Token** - 认证授权框架 - **Undertow** - 高性能 Web 服务器 ## 模块架构 ``` sso-server/ ├── galaxy-admin # 应用启动模块 ├── galaxy-common # 公共模块 │ ├── galaxy-common-core # 核心工具类和常量 │ ├── galaxy-common-mybatis # MyBatis Plus 集成 │ ├── galaxy-common-redis # Redis 集成 │ ├── galaxy-common-security # 安全认证集成 │ ├── galaxy-common-support # 扩展功能(Excel、加解密、OSS等) │ └── galaxy-common-web # Web 功能(SSE、WebSocket) ├── galaxy-modules # 业务模块 │ ├── galaxy-sso # SSO 核心模块 │ └── galaxy-system # 系统管理模块 ``` ## 核心特性 ### 多协议支持 - **CAS** - 中央认证服务协议 - **OAuth2** - OAuth 2.0 授权框架 - **OIDC** - OpenID Connect 身份验证 ### 核心功能 - 统一登录入口 - 票据管理(TGT、ST、PGT、PT) - 用户授权管理 - 应用注册与管理 - 单点退出(SLO) - Webhook 事件推送 - 认证日志审计 - Dashboard 统计 ### 系统管理 - 用户管理 - 角色管理 - 部门管理 - 岗位管理 - 字典管理 - 参数配置 - 通知公告 ## 快速开始 ### 环境要求 - JDK 17+ - MySQL 8.0+ - Redis 6.0+ ### 编译构建 ```bash # 克隆项目 git clone https://gitee.com/YanRuiPo/sso-platform.git # 进入目录 cd sso-platform/sso-server # 构建项目 mvn clean package -DskipTests ``` ### 配置说明 配置文件位于 `src/main/resources/application.yml`: ```yaml server: port: 8080 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/galaxy_sso username: root password: your_password redis: host: localhost port: 6379 ``` ### 启动服务 ```bash # 运行主应用 java -jar galaxy-admin/target/galaxy-admin.jar ``` 或使用 Docker: ```bash docker build -t galaxy-sso galaxy-admin/ docker run -d -p 8080:8080 galaxy-sso ``` ## API 接口 ### 统一登录 ```http POST /sso/login ``` ### CAS 票据验证 ```http GET /cas/serviceValidate?ticket=ST-xxx&service=https://app.example.com/callback ``` ### OAuth2 授权 ```http GET /oauth2/authorize?client_id=your_client_id&redirect_uri=https://app.example.com/callback&response_type=code&scope=openid profile ``` ### OAuth2 Token ```http POST /oauth2/token Content-Type: application/x-www-form-urlencoded grant_type=authorization_code&code=xxx&redirect_uri=https://app.example.com/callback ``` ### OIDC 发现 ```http GET /oauth2/.well-known/openid-configuration ``` ## 应用注册 通过管理后台注册应用,支持以下配置项: - 应用编码(appCode) - 应用名称(appName) - 客户端 ID(clientId) - 客户端密钥(clientSecret) - 服务地址(serviceUrls) - 授权范围(scopes) - 回调地址(logoutUrl) - Access Token 过期时间 - Refresh Token 过期时间 ## 安全配置 - 严格 URL 验证 - 私有 IP/本地地址控制 - 允许的协议限制 - 授权确认页面 - 验证失败日志 ## 页面截图 ![输入图片说明](image/image.png) ![输入图片说明](image/image1.png) ![输入图片说明](image/image2.png) ![输入图片说明](image/image3.png) ![输入图片说明](image/image4.png) ![输入图片说明](image/image5.png) ## 许可证 MIT License ## 贡献者 欢迎提交 Issue 和 Pull Request!