mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-04-05 17:37:53 +08:00
优化文档
This commit is contained in:
parent
c37fc43351
commit
fc4ec6a1f9
@ -50,15 +50,53 @@ public class SaSsoServerApplication {
|
||||
如果使用的是模式三,则排查是否有重复校验 ticket 的代码,一个 ticket 码只能使用一次,多次重复使用就会提示这个。
|
||||
|
||||
|
||||
### 模式一或者模式二报错:Could not write JSON: No serializer found for class com.pj.sso.SysUser and no properties discovered to create BeanSerializer
|
||||
### 问:模式一或者模式二报错:Could not write JSON: No serializer found for class com.pj.sso.SysUser and no properties discovered to create BeanSerializer
|
||||
|
||||
一般是因为在 sso-server 端往 session 上写入了某个实体类(比如 User),而在 sso-client 端没有这个实体类,导致反序列化失败。
|
||||
|
||||
解决方案:在 sso-client 也新建上这个类,而且包名需要与 sso-server 端的一致(直接从 sso-server 把实体类复制过来就好了)
|
||||
|
||||
|
||||
### 模式三配置一堆 xxx-url ,有办法简化一下吗?
|
||||
可以使用 `sa-token.sso.server-url` 配置项来简化,参考:[配置项详解:serverurl](/use/config?id=配置项详解:serverurl)
|
||||
### 问:模式三配置一堆 xxx-url ,有办法简化一下吗?
|
||||
可以使用 `sa-token.sso.server-url` 来简化:
|
||||
|
||||
配置含义:配置 Server 端主机总地址,拼接在 authUrl、checkTicketUrl、getDataUrl、sloUrl 属性前面,用以简化各种 url 配置。
|
||||
|
||||
在开发 SSO 模块时,我们需要在 sso-client 配置认证中心的各种地址,特别是在模式三下,一般代码会变成这样:
|
||||
|
||||
``` yaml
|
||||
sa-token:
|
||||
sso:
|
||||
# SSO-Server端 统一认证地址
|
||||
auth-url: http://sa-sso-server.com:9000/sso/auth
|
||||
# SSO-Server端 ticket校验地址
|
||||
check-ticket-url: http://sa-sso-server.com:9000/sso/checkTicket
|
||||
# 单点注销地址
|
||||
slo-url: http://sa-sso-server.com:9000/sso/signout
|
||||
# SSO-Server端 查询数据地址
|
||||
get-data-url: http://sa-sso-server.com:9000/sso/getData
|
||||
```
|
||||
|
||||
一堆 xxx-url 配置比较繁琐,且含有大量重复字符,现在我们可以将其简化为:
|
||||
``` yaml
|
||||
sa-token:
|
||||
sso:
|
||||
server-url: http://sa-sso-server.com:9000
|
||||
```
|
||||
|
||||
只要你配置了 `server-url` 地址,Sa-Token 就可以自动拼接出其它四个地址:
|
||||
|
||||
**例1,使用 server-url 简化:**
|
||||
- 你配置的 server-url 值是:`http://sa-sso-server.com:9000`。
|
||||
- 框架拼接出的 auth-url 值就是:`http://sa-sso-server.com:9000/sso/auth`,其它三个 url 配置项同理。
|
||||
|
||||
**例2,使用 server-url + auth-url 简化:**
|
||||
- 你配置的 server-url 值是:`http://sa-sso-server.com:9000`,auth-url 是:`/sso/auth2`。
|
||||
- 框架拼接出的 auth-url 值就是:`http://sa-sso-server.com:9000/sso/auth2`,其它三个 url 配置项同理。
|
||||
|
||||
**例3,auth-url 地址以 http 字符开头:**
|
||||
- 你配置的 server-url 值是:`http://sa-sso-server.com:9000`,auth-url 是:`http://my-site.com/sso/auth2`。
|
||||
- 此时框架只以 auth-url 值为准,得到的 auth-url 值是:`http://my-site.com/sso/auth2`,其它三个 url 配置项同理。
|
||||
|
||||
|
||||
### 问:SSO模式二或模式三,第一个 client 登录成功之后再访问其它两个 client 不会自动登录,需要点一下登录按钮才会登录上?
|
||||
|
@ -201,7 +201,7 @@ Client 端配置:
|
||||
| sloUrl | String | /sso/signout | 配置 Server 端单点注销地址 |
|
||||
| ssoLogoutCall | String | null | 配置当前 Client 端的单点注销回调URL (为空时自动获取) |
|
||||
| secretkey | String | null | 接口调用秘钥 (用于SSO模式三单点注销的接口通信身份校验) |
|
||||
| serverUrl | String | null | 配置 Server 端主机总地址,拼接在 `authUrl`、`checkTicketUrl`、`userinfoUrl`、`sloUrl` 属性前面,用以简化各种 url 配置,[详解](/use/config?id=配置项详解:serverUrl) |
|
||||
| serverUrl | String | null | 配置 Server 端主机总地址,拼接在 `authUrl`、`checkTicketUrl`、`userinfoUrl`、`sloUrl` 属性前面,用以简化各种 url 配置,参考:[详解](/sso/sso-questions?id=问:模式三配置一堆-xxx-url-,有办法简化一下吗?) |
|
||||
| client | String | "" | 当前 Client 名称标识,用于和 ticket 码的互相锁定 |
|
||||
|
||||
|
||||
@ -343,46 +343,6 @@ sa-token.oauth2.is-client=true
|
||||
- 此配置项为 true 时,代表使用SSO模式三:使用 Http 请求校验 ticket 值、使用 Http 请求做到单点注销、使用 Http 请求同步 Userinfo 数据。
|
||||
|
||||
|
||||
#### 配置项详解:serverUrl
|
||||
|
||||
配置含义:配置 Server 端主机总地址,拼接在 authUrl、checkTicketUrl、getDataUrl、sloUrl 属性前面,用以简化各种 url 配置。
|
||||
|
||||
在开发 SSO 模块时,我们需要在 sso-client 配置认证中心的各种地址,特别是在模式三下,一般代码会变成这样:
|
||||
|
||||
``` yaml
|
||||
sa-token:
|
||||
sso:
|
||||
# SSO-Server端 统一认证地址
|
||||
auth-url: http://sa-sso-server.com:9000/sso/auth
|
||||
# SSO-Server端 ticket校验地址
|
||||
check-ticket-url: http://sa-sso-server.com:9000/sso/checkTicket
|
||||
# 单点注销地址
|
||||
slo-url: http://sa-sso-server.com:9000/sso/signout
|
||||
# SSO-Server端 查询数据地址
|
||||
get-data-url: http://sa-sso-server.com:9000/sso/getData
|
||||
```
|
||||
|
||||
一堆 xxx-url 配置比较繁琐,且含有大量重复字符,现在我们可以将其简化为:
|
||||
``` yaml
|
||||
sa-token:
|
||||
sso:
|
||||
server-url: http://sa-sso-server.com:9000
|
||||
```
|
||||
|
||||
只要你配置了 `server-url` 地址,Sa-Token 就可以自动拼接出其它四个地址:
|
||||
|
||||
**例1,使用 server-url 简化:**
|
||||
- 你配置的 server-url 值是:`http://sa-sso-server.com:9000`。
|
||||
- 框架拼接出的 auth-url 值就是:`http://sa-sso-server.com:9000/sso/auth`,其它三个 url 配置项同理。
|
||||
|
||||
**例2,使用 server-url + auth-url 简化:**
|
||||
- 你配置的 server-url 值是:`http://sa-sso-server.com:9000`,auth-url 是:`/sso/auth2`。
|
||||
- 框架拼接出的 auth-url 值就是:`http://sa-sso-server.com:9000/sso/auth2`,其它三个 url 配置项同理。
|
||||
|
||||
**例3,auth-url 地址以 http 字符开头:**
|
||||
- 你配置的 server-url 值是:`http://sa-sso-server.com:9000`,auth-url 是:`http://my-site.com/sso/auth2`。
|
||||
- 此时框架只以 auth-url 值为准,得到的 auth-url 值是:`http://my-site.com/sso/auth2`,其它三个 url 配置项同理。
|
||||
|
||||
|
||||
|
||||
---
|
||||
|
Loading…
Reference in New Issue
Block a user