# 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
```
# 图片


