# sso-x
**Repository Path**: flgitee/sso-x
## Basic Information
- **Project Name**: sso-x
- **Description**: CAS单点登录
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-02-09
- **Last Updated**: 2026-02-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README

# SSO-X 插件
> 确保当前项目使用的是 MySQL + Redis
---
## 一、集成方使用步骤
### 1. 引入依赖
```xml
com.jmlx
sso-x-spring-boot-starter
1.0.0
```
> **阿里云仓库配置**(setting.xml + pom.xml,见文末附录)
`嫌弃麻烦,直接用jar` [sso-x-spring-boot-starter-1.0.0-javadoc.jar](https://gitee.com/flgitee/sso-x/raw/master/src/main/resources/lib/sso-x-spring-boot-starter-1.0.0-javadoc.jar)
### 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
```