重新整理 demo 文件夹结构

This commit is contained in:
click33 2023-05-14 18:51:13 +08:00
parent 574157cee1
commit d4ff8df5b4
27 changed files with 78 additions and 42 deletions

View File

@ -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) <br/>
- 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) <br/>
- 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) <br/>
- 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) <br/>
依次启动`OAuth2-Server` 与 `OAuth2-Client`,然后从浏览器访问:[http://sa-oauth-client.com:8002](http://sa-oauth-client.com:8002)

View File

@ -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`。

View File

@ -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` 页面:
![sso-type2-server-h5-auth.png](https://oss.dev33.cn/sa-token/doc/sso/sso-type2-server-h5-auth.png 's-w-sh')

View File

@ -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)
项目集成了单点登录常见技术点, 绝大多数功能无需二次开发,直接可用,<b style="color: #FF5722;">可大大缩短您的项目接入单点登录的开发周期</b>

View File

@ -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语言可以对接吗

View File

@ -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/`,里面有制作好的登录页面:
![sso-server-init-login2.png](https://oss.dev33.cn/sa-token/doc/sso/sso-server-init-login2.png 's-w-sh')

View File

@ -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、引入依赖

View File

@ -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模式一章节中我们打开了配置

View File

@ -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 校验方式

View File

@ -22,7 +22,7 @@
注:如果你使用的 `SpringBoot 3.x`,只需要将 `sa-token-spring-boot-starter` 修改为 `sa-token-spring-boot3-starter` 即可。
<!------------- tab:WebFlux环境 Reactor ------------->
注:如果你使用的框架基于 Reactor 模型构建(Netty、WebFlux、ShenYu、SC Gateway等),请引入此包
注:如果你使用的框架基于 Reactor 模型构建(WebFlux、SpringCloud Gateway 等),请引入此包
``` xml
<!-- Sa-Token 权限认证Reactor响应式集成, 在线文档https://sa-token.cc -->
<dependency>
@ -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-SocketSpring封装版 鉴权示例
├── 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文件

View File

@ -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/)

View File

@ -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`文件夹下,如遇到难点可结合源码进行测试学习