From d4ff8df5b46d5e4f3b6cb1ba4915916e58cfcddd Mon Sep 17 00:00:00 2001
From: click33 <2393584716@qq.com>
Date: Sun, 14 May 2023 18:51:13 +0800
Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=96=B0=E6=95=B4=E7=90=86=20demo=20?=
=?UTF-8?q?=E6=96=87=E4=BB=B6=E5=A4=B9=E7=BB=93=E6=9E=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../sa-token-demo-oauth2-client/.gitignore | 0
.../sa-token-demo-oauth2-client/pom.xml | 0
.../com/pj/SaOAuth2ClientApplication.java | 0
.../pj/oauth2/SaOAuthClientController.java | 0
.../src/main/java/com/pj/utils/SoMap.java | 0
.../src/main/resources/application.yml | 0
.../src/main/resources/templates/index.html | 0
.../sa-token-demo-oauth2-server/.gitignore | 0
.../sa-token-demo-oauth2-server/pom.xml | 0
.../com/pj/SaOAuth2ServerApplication.java | 0
.../pj/oauth2/SaOAuth2ServerController.java | 0
.../com/pj/oauth2/SaOAuth2TemplateImpl.java | 0
.../src/main/resources/application.yml | 0
.../src/main/resources/templates/confirm.html | 0
.../src/main/resources/templates/login.html | 0
sa-token-doc/oauth2/oauth2-server.md | 4 +-
sa-token-doc/sso/readme.md | 6 +-
sa-token-doc/sso/sso-h5.md | 6 +-
sa-token-doc/sso/sso-pro.md | 2 +-
sa-token-doc/sso/sso-questions.md | 3 +-
sa-token-doc/sso/sso-server.md | 4 +-
sa-token-doc/sso/sso-type1.md | 2 +-
sa-token-doc/sso/sso-type2.md | 2 +-
sa-token-doc/sso/sso-type3.md | 2 +-
sa-token-doc/start/download.md | 79 +++++++++++++------
sa-token-doc/start/solon-example.md | 8 +-
sa-token-doc/start/webflux-example.md | 2 +-
27 files changed, 78 insertions(+), 42 deletions(-)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/.gitignore (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/pom.xml (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/resources/application.yml (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-client/src/main/resources/templates/index.html (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/.gitignore (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/pom.xml (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/resources/application.yml (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html (100%)
rename sa-token-demo/{ => sa-token-demo-oauth2}/sa-token-demo-oauth2-server/src/main/resources/templates/login.html (100%)
diff --git a/sa-token-demo/sa-token-demo-oauth2-client/.gitignore b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/.gitignore
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-client/.gitignore
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/.gitignore
diff --git a/sa-token-demo/sa-token-demo-oauth2-client/pom.xml b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/pom.xml
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-client/pom.xml
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/pom.xml
diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/SaOAuth2ClientApplication.java
diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/oauth2/SaOAuthClientController.java
diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/java/com/pj/utils/SoMap.java
diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/resources/application.yml b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/resources/application.yml
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/resources/application.yml
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/resources/application.yml
diff --git a/sa-token-demo/sa-token-demo-oauth2-client/src/main/resources/templates/index.html b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/resources/templates/index.html
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-client/src/main/resources/templates/index.html
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/src/main/resources/templates/index.html
diff --git a/sa-token-demo/sa-token-demo-oauth2-server/.gitignore b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/.gitignore
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-server/.gitignore
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/.gitignore
diff --git a/sa-token-demo/sa-token-demo-oauth2-server/pom.xml b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/pom.xml
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-server/pom.xml
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/pom.xml
diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/SaOAuth2ServerApplication.java
diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2ServerController.java
diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/java/com/pj/oauth2/SaOAuth2TemplateImpl.java
diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/application.yml b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/application.yml
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/application.yml
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/application.yml
diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/templates/confirm.html
diff --git a/sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/templates/login.html b/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/templates/login.html
similarity index 100%
rename from sa-token-demo/sa-token-demo-oauth2-server/src/main/resources/templates/login.html
rename to sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/src/main/resources/templates/login.html
diff --git a/sa-token-doc/oauth2/oauth2-server.md b/sa-token-doc/oauth2/oauth2-server.md
index dd2f1cee..d7c11800 100644
--- a/sa-token-doc/oauth2/oauth2-server.md
+++ b/sa-token-doc/oauth2/oauth2-server.md
@@ -183,8 +183,8 @@ http://sa-oauth-server.com:8001/oauth2/token?grant_type=authorization_code&clien
### 5、运行官方示例
以上代码只是简单模拟了一下OAuth2.0的授权流程,现在,我们运行一下官方示例,里面有制作好的UI界面
-- OAuth2-Server端: `/sa-token-demo/sa-token-demo-oauth2-server/` [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-oauth2-server)
-- OAuth2-Client端: `/sa-token-demo/sa-token-demo-oauth2-client/` [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-oauth2-client)
+- OAuth2-Server端: `/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server/` [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-server)
+- OAuth2-Client端: `/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client/` [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-oauth2/sa-token-demo-oauth2-client)
依次启动`OAuth2-Server` 与 `OAuth2-Client`,然后从浏览器访问:[http://sa-oauth-client.com:8002](http://sa-oauth-client.com:8002)
diff --git a/sa-token-doc/sso/readme.md b/sa-token-doc/sso/readme.md
index 1f2eb104..39ff5a14 100644
--- a/sa-token-doc/sso/readme.md
+++ b/sa-token-doc/sso/readme.md
@@ -19,9 +19,9 @@ Sa-Token-SSO 由简入难划分为三种模式,解决不同架构下的 SSO
| 系统架构 | 采用模式 | 简介 | 文档链接 |
| :-------- | :-------- | :-------- | :-------- |
-| 前端同域 + 后端同 Redis | 模式一 | 共享 Cookie 同步会话 | [文档](/sso/sso-type1)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso1-client) |
-| 前端不同域 + 后端同 Redis | 模式二 | URL重定向传播会话 | [文档](/sso/sso-type2)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso2-client) |
-| 前端不同域 + 后端不同 Redis | 模式三 | Http请求获取会话 | [文档](/sso/sso-type3)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso3-client) |
+| 前端同域 + 后端同 Redis | 模式一 | 共享 Cookie 同步会话 | [文档](/sso/sso-type1)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso1-client) |
+| 前端不同域 + 后端同 Redis | 模式二 | URL重定向传播会话 | [文档](/sso/sso-type2)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso2-client) |
+| 前端不同域 + 后端不同 Redis | 模式三 | Http请求获取会话 | [文档](/sso/sso-type3)、[示例](https://gitee.com/dromara/sa-token/blob/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso3-client) |
1. 前端同域:就是指多个系统可以部署在同一个主域名之下,比如:`c1.domain.com`、`c2.domain.com`、`c3.domain.com`。
diff --git a/sa-token-doc/sso/sso-h5.md b/sa-token-doc/sso/sso-h5.md
index 85ee28d9..6f4f2eb6 100644
--- a/sa-token-doc/sso/sso-h5.md
+++ b/sa-token-doc/sso/sso-h5.md
@@ -49,7 +49,7 @@ public class H5Controller {
```
### 2、增加跨域过滤器`CorsFilter.java`
-源码详见:[CorsFilter.java](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso2-client/src/main/java/com/pj/h5/CorsFilter.java),
+源码详见:[CorsFilter.java](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso2-client/src/main/java/com/pj/h5/CorsFilter.java),
将其复制到项目中即可
### 3、新建前端项目
@@ -97,7 +97,7 @@ public class H5Controller {
```
### 4、添加登录处理文件`sso-login.html`
-源码详见:[sso-login.html](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso-client-h5/sso-login.html),
+源码详见:[sso-login.html](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso-client-h5/sso-login.html),
将其复制到项目中即可,与`index.html`一样放在根目录下
@@ -112,7 +112,7 @@ public class H5Controller {
由于集成代码与 Client 端类似,这里暂不贴详细代码,我们可以下载官方仓库,里面有搭建好的demo
-使用前端ide导入项目 `/sa-token-demo/sa-token-demo-sso-server-h5`,浏览器访问 `sso-auth.html` 页面:
+使用前端ide导入项目 `/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso-server-h5`,浏览器访问 `sso-auth.html` 页面:

diff --git a/sa-token-doc/sso/sso-pro.md b/sa-token-doc/sso/sso-pro.md
index d64cec21..a6ffffde 100644
--- a/sa-token-doc/sso/sso-pro.md
+++ b/sa-token-doc/sso/sso-pro.md
@@ -10,7 +10,7 @@
比如:用户账号增删改查维护、登录日志统计、新增用户数据报表、新增 Client 应用接入域名配置……等等,
仍需要大量的开发时间。
-为此,我们特意准备了项目:[[Sa-Sso-Pro 单点登录商业版]](http://sa-pro.dev33.cn/index.html?hmsr=sa-token),
+为此,我们特意准备了项目:[[ Sa-Sso-Pro 单点登录商业版 ]](http://sa-pro.dev33.cn/index.html?hmsr=sa-token),
项目集成了单点登录常见技术点, 绝大多数功能无需二次开发,直接可用,可大大缩短您的项目接入单点登录的开发周期。
diff --git a/sa-token-doc/sso/sso-questions.md b/sa-token-doc/sso/sso-questions.md
index 68bcf4be..02c71a04 100644
--- a/sa-token-doc/sso/sso-questions.md
+++ b/sa-token-doc/sso/sso-questions.md
@@ -153,7 +153,8 @@ public class SaTokenConfigure implements WebMvcConfigurer {
### 问:如果 sso-client 端我没有集成 sa-token-sso,如何对接?
-需要手动调用 http 请求来对接 sso-server 开放的接口,参考示例:[sa-token-demo-sso3-client-nosdk](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso3-client-nosdk)
+需要手动调用 http 请求来对接 sso-server 开放的接口,参考示例:
+[sa-token-demo-sso3-client-nosdk](https://gitee.com/dromara/sa-token/tree/master/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso3-client-nosdk)
### 问:如果 sso-client 端不是 java语言,可以对接吗?
diff --git a/sa-token-doc/sso/sso-server.md b/sa-token-doc/sso/sso-server.md
index 06fd6a87..6c0a32ec 100644
--- a/sa-token-doc/sso/sso-server.md
+++ b/sa-token-doc/sso/sso-server.md
@@ -2,7 +2,7 @@
在开始SSO三种模式的对接之前,我们必须先搭建一个 SSO-Server 认证中心
-> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso-server/`,如遇到难点可结合源码进行测试学习,demo里有制作好的登录页面
+> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso-server/`,如遇到难点可结合源码进行测试学习,demo里有制作好的登录页面
---
@@ -268,7 +268,7 @@ public class SaSsoServerApplication {
可以看到这个页面目前非常简陋,这是因为我们以上的代码示例,主要目标是为了带大家从零搭建一个可用的SSO认证服务端,所以就对一些不太必要的步骤做了简化。
-大家可以下载运行一下官方仓库里的示例`/sa-token-demo/sa-token-demo-sso-server/`,里面有制作好的登录页面:
+大家可以下载运行一下官方仓库里的示例`/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso-server/`,里面有制作好的登录页面:

diff --git a/sa-token-doc/sso/sso-type1.md b/sa-token-doc/sso/sso-type1.md
index ad6ccfbf..14dcc442 100644
--- a/sa-token-doc/sso/sso-type1.md
+++ b/sa-token-doc/sso/sso-type1.md
@@ -64,7 +64,7 @@ sa-token.cookie.domain=stp.com
### 4、搭建 Client 端项目
-> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso1-client/`,如遇到难点可结合源码进行测试学习。
+> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso1-client/`,如遇到难点可结合源码进行测试学习。
#### 4.1、引入依赖
diff --git a/sa-token-doc/sso/sso-type2.md b/sa-token-doc/sso/sso-type2.md
index 901cc9e1..664f4be7 100644
--- a/sa-token-doc/sso/sso-type2.md
+++ b/sa-token-doc/sso/sso-type2.md
@@ -45,7 +45,7 @@
### 3、搭建 Client 端项目
-> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso2-client/`,如遇到难点可结合源码进行测试学习
+> 搭建示例在官方仓库的 `/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso2-client/`,如遇到难点可结合源码进行测试学习
#### 3.1、去除 SSO-Server 的 Cookie 作用域配置
在SSO模式一章节中我们打开了配置:
diff --git a/sa-token-doc/sso/sso-type3.md b/sa-token-doc/sso/sso-type3.md
index 7f8a941c..b26766f5 100644
--- a/sa-token-doc/sso/sso-type3.md
+++ b/sa-token-doc/sso/sso-type3.md
@@ -15,7 +15,7 @@
所以模式三的主要目标:也就是在 模式二的基础上 解决上述 三个难题
> 模式三的 Demo 示例地址:`/sa-token-demo/sa-token-demo-sso3-client/`
-> [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-sso3-client),如遇难点可参考示例
+> [源码链接](https://gitee.com/dromara/sa-token/tree/dev/sa-token-demo/sa-token-demo-sso/sa-token-demo-sso3-client),如遇难点可参考示例
### 2、在Client 端更改 Ticket 校验方式
diff --git a/sa-token-doc/start/download.md b/sa-token-doc/start/download.md
index 05130deb..d7052f53 100644
--- a/sa-token-doc/start/download.md
+++ b/sa-token-doc/start/download.md
@@ -22,7 +22,7 @@
注:如果你使用的 `SpringBoot 3.x`,只需要将 `sa-token-spring-boot-starter` 修改为 `sa-token-spring-boot3-starter` 即可。
-注:如果你使用的框架基于 Reactor 模型构建(Netty、WebFlux、ShenYu、SC Gateway等),请引入此包
+注:如果你使用的框架基于 Reactor 模型构建(WebFlux、SpringCloud Gateway 等),请引入此包
``` xml
@@ -172,52 +172,81 @@ Maven依赖一直无法加载成功?[参考解决方案](https://sa-token.cc/d
``` js
── sa-token
├── sa-token-core // [核心] Sa-Token 核心模块
+ ├── sa-token-dependencies // [依赖] Sa-Token 依赖版本信息
├── sa-token-starter // [整合] Sa-Token 与其它框架整合
- ├── sa-token-servlet // [整合] Sa-Token 整合 Servlet容器实现类包
- ├── sa-token-spring-boot-starter // [整合] Sa-Token 整合 SpringBoot 快速集成
- ├── sa-token-reactor-spring-boot-starter // [整合] Sa-Token 整合 Reactor 响应式编程 快速集成
+ ├── sa-token-servlet // [整合] Sa-Token 整合 Servlet 容器实现类包
+ ├── sa-token-spring-boot-starter // [整合] Sa-Token 整合 SpringBoot2 快速集成
+ ├── sa-token-reactor-spring-boot-starter // [整合] Sa-Token 整合 SpringBoot2 Reactor 响应式编程 快速集成
+ ├── sa-token-jakarta-servlet // [整合] Sa-Token 整合 Jakarta-Servlet 容器实现类包
+ ├── sa-token-spring-boot3-starter // [整合] Sa-Token 整合 SpringBoot3 快速集成
+ ├── sa-token-reactor-spring-boot3-starter // [整合] Sa-Token 整合 SpringBoot3 Reactor 响应式编程 快速集成
+ ├── sa-token-spring-boot-autoconfig // [整合] Sa-Token 整合 SpringBoot 自动配置包
├── sa-token-solon-plugin // [整合] Sa-Token 整合 Solon 快速集成
├── sa-token-jfinal-plugin // [整合] Sa-Token 整合 JFinal 快速集成
├── sa-token-jboot-plugin // [整合] Sa-Token 整合 jboot 快速集成
├── sa-token-plugin // [插件] Sa-Token 插件合集
- ├── sa-token-dao-redis // [插件] Sa-Token 整合 Redis (使用jdk默认序列化方式)
- ├── sa-token-dao-redis-jackson // [插件] Sa-Token 整合 Redis (使用jackson序列化方式)
+ ├── sa-token-redis // [插件] Sa-Token 整合 Redis (使用 jdk 默认序列化方式)
+ ├── sa-token-redis-jackson // [插件] Sa-Token 整合 Redis (使用 jackson 序列化方式)
+ ├── sa-token-redis-fastjson // [插件] Sa-Token 整合 Redis (使用 fastjson 序列化方式)
+ ├── sa-token-redis-fastjson2 // [插件] Sa-Token 整合 Redis (使用 fastjson2 序列化方式)
+ ├── sa-token-redisson-jackson // [插件] Sa-Token 整合 Redisson (使用 jackson 序列化方式)
+ ├── sa-token-alone-redis // [插件] Sa-Token 独立 Redis 插件,实现 [ 权限缓存与业务缓存分离 ]
+ ├── sa-token-redisx // [插件] Sa-Token 整合 Redis (中立 redisx)
+ ├── sa-token-dubbo // [插件] Sa-Token 整合 dubbo 状态传递、rpc 鉴权
+ ├── sa-token-dubbo3 // [插件] Sa-Token 整合 dubbo3 状态传递、rpc 鉴权
+ ├── sa-token-grpc // [插件] Sa-Token 整合 grpc 状态传递、rpc 鉴权
├── sa-token-spring-aop // [插件] Sa-Token 整合 SpringAOP 注解鉴权
+ ├── sa-token-jwt // [插件] Sa-Token 整合 jwt 登录认证
├── sa-token-temp-jwt // [插件] Sa-Token 整合 jwt 临时令牌鉴权
├── sa-token-quick-login // [插件] Sa-Token 快速注入登录页插件
- ├── sa-token-alone-redis // [插件] Sa-Token 独立Redis插件,实现[权限缓存与业务缓存分离]
├── sa-token-sso // [插件] Sa-Token 整合 SSO 单点登录
├── sa-token-oauth2 // [插件] Sa-Token 实现 OAuth2.0 模块
├── sa-token-dialect-thymeleaf // [插件] Sa-Token 标签方言(Thymeleaf版)
- ├── sa-token-jwt // [插件] Sa-Token 整合 jwt 登录认证
├── sa-token-demo // [示例] Sa-Token 示例合集
- ├── sa-token-demo-cases // [示例] Sa-Token 各模块示例
+ ├── sa-token-demo-case // [示例] Sa-Token 各模块示例
├── sa-token-demo-springboot // [示例] Sa-Token 整合 SpringBoot
├── sa-token-demo-springboot-redis // [示例] Sa-Token 整合 SpringBoot 整合 Redis
+ ├── sa-token-demo-springboot3-redis // [示例] Sa-Token 整合 SpringBoot3 整合 Redis
+ ├── sa-token-demo-springboot-redisson // [示例] Sa-Token 整合 SpringBoot 整合 redisson
├── sa-token-demo-webflux // [示例] Sa-Token 整合 WebFlux
- ├── sa-token-demo-jwt // [示例] Sa-Token 集成 jwt
+ ├── sa-token-demo-webflux-springboot3 // [示例] Sa-Token 整合 WebFlux (SpringBoot3)
├── sa-token-demo-solon // [示例] Sa-Token 集成 Solon
- ├── sa-token-demo-quick-login // [示例] Sa-Token 集成 quick-login 模块
├── sa-token-demo-alone-redis // [示例] Sa-Token 集成 alone-redis 模块
- ├── sa-token-demo-thymeleaf // [示例] Sa-Token 集成 Thymeleaf 标签方言
+ ├── sa-token-demo-alone-redis-cluster // [示例] Sa-Token 集成 alone-redis 模块、集群模式
+ ├── sa-token-demo-quick-login // [示例] Sa-Token 集成 quick-login 模块
├── sa-token-demo-jwt // [示例] Sa-Token 集成 jwt 登录认证
- ├── sa-token-demo-sso-server // [示例] Sa-Token 集成 SSO单点登录-Server认证中心
- ├── sa-token-demo-sso1-client // [示例] Sa-Token 集成 SSO单点登录-模式一 应用端 (同域、同Redis)
- ├── sa-token-demo-sso2-client // [示例] Sa-Token 集成 SSO单点登录-模式二 应用端 (跨域、同Redis)
- ├── sa-token-demo-sso3-client // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (跨域、跨Redis)
- ├── sa-token-demo-sso3-client-nosdk // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (不使用sdk,纯手动对接)
- ├── sa-token-demo-sso-server-h5 // [示例] Sa-Token 集成 SSO单点登录-Server认证中心 (前后端分离)
- ├── sa-token-demo-sso-client-h5 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-原生h5版本)
- ├── sa-token-demo-sso-server-vue2 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-Vue2版本)
- ├── sa-token-demo-sso-client-vue3 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-Vue3版本)
- ├── sa-token-demo-oauth2-server // [示例] Sa-Token 集成 OAuth2.0 (服务端)
- ├── sa-token-demo-oauth2-client // [示例] Sa-Token 集成 OAuth2.0 (客户端)
+ ├── sa-token-demo-test // [示例] Sa-Token 整合测试项目
├── sa-token-demo-websocket // [示例] Sa-Token 集成 Web-Socket 鉴权示例
├── sa-token-demo-websocket-spring // [示例] Sa-Token 集成 Web-Socket(Spring封装版) 鉴权示例
+ ├── sa-token-demo-thymeleaf // [示例] Sa-Token 集成 Thymeleaf 标签方言
+ ├── sa-token-demo-dubbo-consumer // [示例] Sa-Token 集成 dubbo 鉴权,消费端(调用端)
+ ├── sa-token-demo-dubbo-provider // [示例] Sa-Token 集成 dubbo 鉴权,生产端(被调用端)
+ ├── sa-token-demo-sso // [示例] Sa-Token 集成 SSO 单点登录
+ ├── sa-token-demo-sso-server // [示例] Sa-Token 集成 SSO单点登录-Server认证中心
+ ├── sa-token-demo-sso1-client // [示例] Sa-Token 集成 SSO单点登录-模式一 应用端 (同域、同Redis)
+ ├── sa-token-demo-sso2-client // [示例] Sa-Token 集成 SSO单点登录-模式二 应用端 (跨域、同Redis)
+ ├── sa-token-demo-sso3-client // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (跨域、跨Redis)
+ ├── sa-token-demo-sso3-client-nosdk // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (不使用sdk,纯手动对接)
+ ├── sa-token-demo-sso-server-h5 // [示例] Sa-Token 集成 SSO单点登录-Server认证中心 (前后端分离)
+ ├── sa-token-demo-sso-client-h5 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-原生h5 版本)
+ ├── sa-token-demo-sso-server-vue2 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-Vue2 版本)
+ ├── sa-token-demo-sso-client-vue3 // [示例] Sa-Token 集成 SSO单点登录-client应用端 (前后端分离-Vue3 版本)
+ ├── sa-token-demo-sso-for-solon // [示例] Sa-Token 集成 SSO 单点登录(Solon 版)
+ ├── sa-token-demo-sso-server-solon // [示例] Sa-Token 集成 SSO单点登录-Server认证中心
+ ├── sa-token-demo-sso1-client-solon // [示例] Sa-Token 集成 SSO单点登录-模式一 应用端 (同域、同Redis)
+ ├── sa-token-demo-sso2-client-solon // [示例] Sa-Token 集成 SSO单点登录-模式二 应用端 (跨域、同Redis)
+ ├── sa-token-demo-sso3-client-solon // [示例] Sa-Token 集成 SSO单点登录-模式三 应用端 (跨域、跨Redis)
+ ├── sa-token-demo-oauth2 // [示例] Sa-Token 集成 OAuth2.0
+ ├── sa-token-demo-oauth2-server // [示例] Sa-Token 集成 OAuth2.0 (服务端)
+ ├── sa-token-demo-oauth2-client // [示例] Sa-Token 集成 OAuth2.0 (客户端)
+ ├── sa-token-demo-remember-me // [示例] Sa-Token 实现 [ 记住我 ] 模式
+ ├── page_project // [示例] Sa-Token 实现 [ 记住我 ] 模式、前端页面
+ ├── server_project // [示例] Sa-Token 实现 [ 记住我 ] 模式、后端接口
+ ├── sa-token-demo-grpc // [示例] Sa-Token 集成 grpc 鉴权
+ ├── client // [示例] Sa-Token 集成 grpc 鉴权,client 端
+ ├── server // [示例] Sa-Token 集成 grpc 鉴权,server 端
├── sa-token-test // [测试] Sa-Token 单元测试合集
- ├── sa-token-core-test // [测试] Sa-Token Core核心包单元测试
├── sa-token-springboot-test // [测试] Sa-Token SpringBoot 整合测试
- ├── sa-token-springboot-integrate-test // [测试] Sa-Token SpringBoot 整合客户端测试
├── sa-token-jwt-test // [测试] Sa-Token jwt 整合测试
├── sa-token-doc // [文档] Sa-Token 开发文档
├──pom.xml // [依赖] 顶级pom文件
diff --git a/sa-token-doc/start/solon-example.md b/sa-token-doc/start/solon-example.md
index bc502816..a6a87e41 100644
--- a/sa-token-doc/start/solon-example.md
+++ b/sa-token-doc/start/solon-example.md
@@ -5,7 +5,13 @@
整合示例在官方仓库的 /sa-token-demo/sa-token-demo-solon 文件夹下,如遇到难点可结合源码进行学习测试。
> Solon 是一个高效的国产应用开发框架:更快、更小、更简单。
-> 启动快 5 ~ 10 倍;qps 高 2~ 3 倍;运行时内存节省 1/3 ~ 1/2;打包可以缩到 1/2 ~ 1/10;同时支持 jdk8, jdk11, jdk17, jdk20。
+>
+> - 启动快 5 ~ 10 倍;
+> - qps 高 2~ 3 倍;
+> - 运行时内存节省 1/3 ~ 1/2;
+> - 打包可以缩到 1/2 ~ 1/10;
+> - 同时支持 jdk8、jdk11、jdk17、jdk20。
+>
> 详情可参考:[https://solon.noear.org/](https://solon.noear.org/)
diff --git a/sa-token-doc/start/webflux-example.md b/sa-token-doc/start/webflux-example.md
index 8fc4fa42..649f248a 100644
--- a/sa-token-doc/start/webflux-example.md
+++ b/sa-token-doc/start/webflux-example.md
@@ -1,7 +1,7 @@
# Spring WebFlux 集成 Sa-Token 示例
**Reactor** 是一种非阻塞的响应式模型,本篇将以 **WebFlux** 为例,展示 Sa-Token 与 Reactor 响应式模型框架相整合的示例,
-**你可以用同样方式去对接其它 Reactor 模型框架(Netty、ShenYu、SpringCloud Gateway等)**
+**你可以用同样方式去对接其它 Reactor 模型框架(例如 SpringCloud Gateway)**
整合示例在官方仓库的`/sa-token-demo/sa-token-demo-webflux`文件夹下,如遇到难点可结合源码进行测试学习