# sso-x-test **Repository Path**: flgitee/sso-x-test ## Basic Information - **Project Name**: sso-x-test - **Description**: sso-x 使用demo - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-11 - **Last Updated**: 2026-02-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SSO-X 单点登录系统 > 确保当前项目使用的是 MySQL + Redis --- ## 项目结构 ``` sso-parent/ ├── sso-provid/ # 集成方(SSO服务端)端口: 8080 └── sso-x-third/ # 第三方平台(SSO客户端)端口: 8081 ``` --- ## 一、集成方使用步骤 ### 1. 引入依赖 ```xml com.jmlx sso-x-spring-boot-starter 1.0.0 ``` > **阿里云仓库配置**(setting.xml + pom.xml,见文末附录) ### 2. 实现 SsoService 接口 ```java @Service public class SsoServiceImpl implements SsoService { // 绑定用户:返回集成方的用户ID @Override public String bindUser(String clientId, String externalUserId) { return "11"; // 返回你的用户ID } // 登出处理 @Override public void logout(String internalUserId, String clientId) { // 清除本地登录状态 } } ``` ### 3. 启动项目 启动后自动初始化数据库表,将 `client_id`、`redirect_uri`、接口地址提供给第三方即可。 --- ## 二、第三方平台使用步骤 ### 2.1 发起SSO登录 ```java String url = ssoServerUrl + "/sso-x/authorize" + "?clientId=" + clientId + "&redirectUri=" + redirectUri + "&externalUserId=" + externalUserId; return "redirect:" + url; ``` ### 2.2 接收code换取token ```java @GetMapping("/sso/callback") public String callback(@RequestParam String code, HttpSession session) { // 调用 /sso-x/token 接口换取 accessToken // 保存到 session return "redirect:/"; } ``` ### 2.3 退出登录 ```java // 调用 /sso-x/logout 接口,传入 accessToken 和 clientId ``` --- ## 三、API接口 | 接口 | 方法 | 说明 | |------|------|------| | `/sso-x/authorize` | GET | 获取授权码 | | `/sso-x/token` | POST | 换取访问令牌 | | `/sso-x/logout` | POST | 登出 | --- ## 附录:阿里云仓库配置 ### 1. setting.xml ```xml 2396597-release-ma4xKf 5f63471e18c17e7748aa1523 9KGjYK(2eWs) rdc 2396597-release-ma4xKf https://packages.aliyun.com/maven/repository/2396597-release-ma4xKf true true rdc ``` ### 2. pom.xml ```xml 2396597-release-ma4xKf https://packages.aliyun.com/maven/repository/2396597-release-ma4xkf true false ``` # 图片 ![img.png](img.png) ![img_1.png](img_1.png) ![输入图片说明](%E5%BD%95%E5%B1%8F_20260211_113250.gif)