mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-10-26 02:29:01 +08:00
新增 sa-token.sso.mode 配置项,用于约定此系统使用的 SSO 模式。
This commit is contained in:
@@ -99,6 +99,40 @@ sa-token:
|
||||
- 此时框架只以 auth-url 值为准,得到的 auth-url 值是:`http://my-site.com/sso/auth2`,其它三个 url 配置项同理。
|
||||
|
||||
|
||||
### 问:我接手了一个项目,里面集成了 Sa-Token SSO ,请问怎么快速分辨它用的模式几?
|
||||
|
||||
**方法一:看代码注释。**
|
||||
|
||||
如果开发这个项目的人没有写清楚注释那就 gg 了。
|
||||
|
||||
**方法二,根据配置项来分析,例如:**
|
||||
|
||||
- 先看配置项 `sa-token.cookie.domain`,如果此配置项有值,一般是在使用模式一开发,否则就是模式二或者模式三。
|
||||
- 再看配置项 `sa-token.sso.is-http` ,如果有值且为 true,一般是在使用模式三,否则就是模式二。
|
||||
|
||||
**方法三,根据配置项 `sa-token.sso.mode` 的提示来判断**
|
||||
|
||||
`sa-token.sso.mode` 是框架预留的约定型配置项,此配置项不对代码逻辑产生任何影响,只为系统做一个标记,标注此系统用到了SSO的哪个模式。
|
||||
|
||||
例如你可以将其配置为 `sa-token.sso.mode=client-2`,代表当前系统为 sso-client 端,使用 SSO 模式二来对接。
|
||||
|
||||
需要注意,这个配置项不是必须的,你不写也不会对代码造成任何影响,只有在你需要为系统做一个明确的标记时才需要去配置它,方便后人阅读代码时快速分析使用的模式。
|
||||
|
||||
例如我们可以使用以下约定:
|
||||
|
||||
- `sa-token.sso.mode=client-2`:代表当前系统为 sso-client 端,使用 SSO 模式二来对接。
|
||||
- `sa-token.sso.mode=client-2,h5`:代表当前系统为 sso-client 端,使用 SSO 模式二来对接,并且是前后端分离模式。
|
||||
- `sa-token.sso.mode=server-123`:代表当前系统为 sso-server 端,同时开放了 SSO 模式一、模式二、模式三。
|
||||
- `sa-token.sso.mode=server-2,client-2`:代表当前系统既是 sso-server 端,又是 sso-clent 端,使用模式二来对接。
|
||||
- 等等等等...
|
||||
|
||||
此配置项可以是任意字符串,你也可以自己整理一套合适的表达规则。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
### 问:SSO模式二或模式三,第一个 client 登录成功之后再访问其它两个 client 不会自动登录,需要点一下登录按钮才会登录上?
|
||||
答:这是正常现象,系统 1 登录成功之后,系统 2 与系统 3 需要点击登录按钮,才会登录成功。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user