docs: 图片地址更换为本地文件 (SSO篇)

This commit is contained in:
click33
2025-12-29 00:25:06 +08:00
parent e7c09e81d7
commit 47e8e91056
8 changed files with 27 additions and 27 deletions

View File

@@ -32,7 +32,7 @@ Sa-Token-SSO 由简入难划分为三种模式,解决不同架构下的 SSO
2. 后端同Redis就是指多个系统可以连接同一个Redis。PS这里并不需要把所有项目的数据都放在同一个Redis中Sa-Token提供了 **`[权限缓存与业务缓存分离]`** 的解决方案,详情戳: <a href="#/plugin/alone-redis" target="_blank">Alone独立Redis插件</a>。
3. 如果既无法做到前端同域也无法做到后端同Redis那么只能走模式三Http请求获取会话Sa-Token对SSO提供了完整的封装你只需要按照示例从文档上复制几段代码便可以轻松集成
![sa-token-jss](https://oss.dev33.cn/sa-token/doc/home/sa-token-sso--white.png)
<img src="/big-file/doc/sso/sa-token-sso--white.png" alt="sa-token-jss">
### Sa-Token-SSO 特性

View File

@@ -44,7 +44,7 @@ public Object logoutByAlone() {
7. 整体完成。
<button class="show-img" img-src="https://oss.dev33.cn/sa-token/doc/g/g3--sso3-logout.gif">加载动态演示图</button>
<button class="show-img" img-src="/big-file/doc/sso/g3--sso3-logout.gif">加载动态演示图</button>
这些逻辑 Sa-Token 内部已经封装完毕,你只需按照文档步骤集成即可。以模式三 demo 为例:
@@ -76,19 +76,19 @@ public String index() {
- [http://sa-sso-client2.com:9003/](http://sa-sso-client2.com:9003/)
- [http://sa-sso-client3.com:9003/](http://sa-sso-client3.com:9003/)
![sso-type3-client-index.png](https://oss.dev33.cn/sa-token/doc/sso/sso-type3-client-index.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-type3-client-index.png" alt="sso-type3-client-index.png" />
在任意一个 client 里,点击 **`[注销]`** 按钮即可单点注销成功打开另外两个client刷新一下页面登录态丢失
<!-- ![sso-type3-slo.png](https://oss.dev33.cn/sa-token/doc/sso/sso-type3-slo.png 's-w-sh') -->
![sso-type3-slo-index.png](https://oss.dev33.cn/sa-token/doc/sso/sso-type3-slo-index.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-type3-slo-index.png" alt="sso-type3-slo-index.png" />
PS这里我们为了方便演示使用的是超链接跳页面的形式正式项目中使用 Ajax 调用接口即可做到无刷单点登录退出。
例如,我们使用 [Apifox 接口测试工具](https://www.apifox.cn/) 可以做到同样的效果:
![sso-slo-apifox.png](https://oss.dev33.cn/sa-token/doc/sso/sso-slo-apifox.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-slo-apifox.png" alt="sso-slo-apifox.png" />

View File

@@ -13,7 +13,7 @@
当不知情的小红被诱导访问了这个URL时它将被重定向至百度首页
![sso-ticket-jc](https://oss.dev33.cn/sa-token/doc/sso/sso-ticket-jc.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-ticket-jc.png" alt="sso-ticket-jc">
可以看到,代表着用户身份的 Ticket 码也显现到了 URL 之中借此漏洞攻击者完全可以构建一个URL将小红的 Ticket 码自动提交到攻击者自己的服务器,伪造小红身份登录网站
@@ -41,7 +41,7 @@ sa-token.sso-server.clients.so-client3.allow-url=http://sa-sso-client1.com:9003/
再次访问上述链接:
![sso-feifa-rf](https://oss.dev33.cn/sa-token/doc/sso/sso-feifa-rf.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-feifa-rf.png" alt="sso-feifa-rf">
域名没有通过校验,拒绝授权!

View File

@@ -293,7 +293,7 @@ function setHtml(select, 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')
<img class="s-w-sh" src="/big-file/doc/sso/sso-type2-server-h5-auth.png" alt="sso-type2-server-h5-auth.png" />
复制上述地址,将其配置到 Client 端的配置项 `sa-token.sso-client.auth-url` ,例如:

View File

@@ -4,7 +4,7 @@
有的时候,我们需要把 sso-server 搭建成一个平台中心,效果图大致如下:
![sso-home-jump.png](https://oss.dev33.cn/sa-token/doc/sso/sso-home-jump.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-home-jump.png" alt="sso-home-jump.png" />
如图所示,用户先从 sso-server 登录进入平台首页,在首页上有各个子系统的进入链接,用户点击链接进入子系统(免登录)。
@@ -90,6 +90,6 @@ public class HomeController {
首次访问,因为我们没有登录,所以会被重定向到 `/sso/auth` 登录页,我们登录上之后,便会跳转到平台中心首页:
![sso-home-jump-do.png](https://oss.dev33.cn/sa-token/doc/sso/sso-home-jump-do.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-home-jump-do.png" alt="sso-home-jump-do.png" />
依次点击三个链接,便可在跳转的同时自动登录上子系统。

View File

@@ -288,18 +288,18 @@ public class SaSsoServerApplication {
启动项目,不出意外的情况下我们将看到如下输出:
![sso-server-start](https://oss.dev33.cn/sa-token/doc/sso/sso-server-start.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-server-start.png" alt="sso-server-start">
访问统一授权地址(仅测试 SSO-Server 是否部署成功,暂时还不需要点击登录):
- [http://localhost:9000/sso/auth](http://localhost:9000/sso/auth)
![sso-server-init-login.png](https://oss.dev33.cn/sa-token/doc/sso/sso-server-init-login--v43.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-server-init-login--v43.png" alt="sso-server-init-login.png">
可以看到这个页面目前非常简陋这是因为我们以上的代码示例主要目标是为了带大家从零搭建一个可用的SSO认证服务端所以就对一些不太必要的步骤做了简化。
大家可以下载运行一下官方仓库里的示例`/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')
<img class="s-w-sh" src="/big-file/doc/sso/sso-server-init-login2.png" alt="sso-server-init-login2.png">
默认账号密码为:`sa / 123456`,先别着急点击登录,因为我们还没有搭建对应的 Client 端项目,
真实项目中我们一般不会直接从浏览器访问 `/sso/auth` 授权地址的,我们需要在 Client 端点击登录按钮重定向而来。

View File

@@ -19,7 +19,7 @@
而共享Redis并不需要我们把所有项目的数据都放在同一个Redis中Sa-Token提供了 **[权限缓存与业务缓存分离]** 的解决方案,详情戳:[Alone独立Redis插件](/plugin/alone-redis)。
<button class="show-img" img-src="https://oss.dev33.cn/sa-token/doc/g/g3--sso1.gif">加载动态演示图</button>
<button class="show-img" img-src="/big-file/doc/sso/g3--sso1.gif">加载动态演示图</button>
OK所有理论就绪下面开始实战
@@ -252,19 +252,19 @@ public class SaSso1ClientApplication {
均返回:
![sso1--index.png](https://oss.dev33.cn/sa-token/doc/sso/sso1--index.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso1--index.png" alt="sso1--index.png" />
然后点击登录被重定向至SSO认证中心
![sso1--login-page2.png](https://oss.dev33.cn/sa-token/doc/sso/sso1--login-page2--v43.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso1--login-page2--v43.png" alt="sso1--login-page2.png" />
我们登录之后,然后刷新页面:
![sso1-login-ok.png](https://oss.dev33.cn/sa-token/doc/sso/sso1-login-ok.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso1-login-ok.png" alt="sso1-login-ok.png" />
刷新另外两个Client端均显示已登录
![sso1-login-ok2.png](https://oss.dev33.cn/sa-token/doc/sso/sso1-login-ok2.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso1-login-ok2.png" alt="sso1-login-ok2.png" />
测试完成

View File

@@ -29,7 +29,7 @@
所以第四步也将自动化,也就是单点登录的最终目的 —— 一次登录,处处通行。
<button class="show-img" img-src="https://oss.dev33.cn/sa-token/doc/g/g3--sso2.gif">加载动态演示图</button>
<button class="show-img" img-src="/big-file/doc/sso/g3--sso2.gif">加载动态演示图</button>
下面我们按照步骤依次完成上述过程:
@@ -299,11 +299,11 @@ public class SaSso2ClientApplication {
先前版本文档测试demo端口号为9001后为了方便区分三种模式改为了9002因此出现文字描述与截图端口号不一致情况请注意甄别后不再赘述
![sso-client-index.png](https://oss.dev33.cn/sa-token/doc/sso/sso-client-index.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-client-index.png" alt="sso-client-index.png" />
(2) 首次打开,提示当前未登录,我们点击 **`登录`** 按钮,页面会被重定向到登录中心
![sso-server-auth.png](https://oss.dev33.cn/sa-token/doc/sso/sso-server-auth--v43.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-server-auth--v43.png" alt="sso-server-auth.png" />
(3) SSO-Server提示我们在认证中心尚未登录我们点击 **`登录`** 按钮进行模拟登录
@@ -311,21 +311,21 @@ public class SaSso2ClientApplication {
(4) SSO-Server认证中心登录成功系统重定向回 client
![sso-client-index-ok.png](https://oss.dev33.cn/sa-token/doc/sso/sso-client-index-ok.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-client-index-ok.png" alt="sso-client-index-ok.png" />
(5) 页面被重定向至`Client`端首页,并提示登录成功,至此,`Client1`应用已单点登录成功!
(6) 我们再次访问`Client2`[http://sa-sso-client2.com:9002/](http://sa-sso-client2.com:9002/)
![sso-client2-index.png](https://oss.dev33.cn/sa-token/doc/sso/sso-client2-index.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-client2-index.png" alt="sso-client2-index.png" />
(7) 提示未登录,我们点击 **`登录`** 按钮,会直接提示登录成功
![sso-client2-index-ok.png](https://oss.dev33.cn/sa-token/doc/sso/sso-client2-index-ok.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-client2-index-ok.png" alt="sso-client2-index-ok.png" />
(8) 同样的方式,我们打开`Client3`,也可以直接登录成功:[http://sa-sso-client3.com:9002/](http://sa-sso-client3.com:9002/)
![sso-client3-index-ok.png](https://oss.dev33.cn/sa-token/doc/sso/sso-client3-index-ok.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-client3-index-ok.png" alt="sso-client3-index-ok.png" />
至此,测试完毕!
@@ -333,7 +333,7 @@ public class SaSso2ClientApplication {
我们可以通过 F12控制台 Network 跟踪整个过程
![sso-genzong](https://oss.dev33.cn/sa-token/doc/sso/sso-genzong.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-genzong.png" alt="sso-genzong" />
<!--
### 5、运行官方仓库
@@ -347,7 +347,7 @@ public class SaSso2ClientApplication {
> 然后访问:
> - [http://sa-sso-client1.com:9002/](http://sa-sso-client1.com:9002/)
![sso-server-login-hua](https://oss.dev33.cn/sa-token/doc/sso/sso-server-login-hua.png 's-w-sh')
<img class="s-w-sh" src="/big-file/doc/sso/sso-server-login-hua.png" alt="sso-server-login-hua" />
默认测试密码:`sa / 123456`,其余流程保持不变
-->