SaSsoConfig 新增配置 isCheckSign(是否校验参数签名),方便本地开发时的调试。

This commit is contained in:
click33 2024-04-27 06:48:03 +08:00
parent c8a5b922a2
commit 2c87e47b2b
2 changed files with 43 additions and 12 deletions

View File

@ -127,6 +127,11 @@ public class SaSsoConfig implements Serializable {
*/
public String serverUrl;
/**
* 是否校验参数签名方便本地调试用的一个配置项生产环境请务必为true
*/
public Boolean isCheckSign = true;
/**
* 获取 指定当前系统集成 SSO 时使用的模式约定型配置项不对代码逻辑产生任何影响
@ -337,6 +342,25 @@ public class SaSsoConfig implements Serializable {
return this;
}
/**
* 获取 是否校验参数签名方便本地调试用的一个配置项生产环境请务必为true
*
* @return isCheckSign 是否校验参数签名方便本地调试用的一个配置项生产环境请务必为true
*/
public Boolean getIsCheckSign() {
return this.isCheckSign;
}
/**
* 设置 是否校验参数签名方便本地调试用的一个配置项生产环境请务必为true
*
* @param isCheckSign 是否校验参数签名方便本地调试用的一个配置项生产环境请务必为true
*/
public SaSsoConfig setIsCheckSign(Boolean isCheckSign) {
this.isCheckSign = isCheckSign;
return this;
}
@Override
public String toString() {
return "SaSsoConfig ["
@ -353,6 +377,7 @@ public class SaSsoConfig implements Serializable {
+ ", sloUrl=" + sloUrl
+ ", ssoLogoutCall=" + ssoLogoutCall
+ ", serverUrl=" + serverUrl
+ ", isCheckSign=" + isCheckSign
+ "]";
}
@ -412,7 +437,7 @@ public class SaSsoConfig implements Serializable {
* SSO-Server端未登录时返回的View
*/
public Supplier<Object> notLoginView = () -> {
return "当前会话在SSO-Server认证中心尚未登录";
return "当前会话在SSO-Server认证中心尚未登录(当前未配置登录视图)";
};
/**

View File

@ -140,8 +140,10 @@ public class SaSsoProcessor {
String sloCallback = req.getParam(paramName.ssoLogoutCall);
// 2校验签名
if(ssoTemplate.getSsoConfig().getIsCheckSign()) {
ssoTemplate.getSignTemplate().checkRequest(req,
paramName.client, paramName.ticket, paramName.ssoLogoutCall);
}
// 3校验ticket获取 loginId
Object loginId = ssoTemplate.checkTicket(ticket, client);
@ -211,7 +213,9 @@ public class SaSsoProcessor {
String loginId = req.getParam(paramName.loginId);
// step.1 校验签名
if(ssoTemplate.getSsoConfig().getIsCheckSign()) {
ssoTemplate.getSignTemplate().checkRequest(req, paramName.loginId);
}
// step.2 单点注销
ssoTemplate.ssoLogout(loginId);
@ -392,7 +396,9 @@ public class SaSsoProcessor {
String loginId = req.getParamNotNull(paramName.loginId);
// 校验参数签名
if(ssoTemplate.getSsoConfig().getIsCheckSign()) {
ssoTemplate.getSignTemplate().checkRequest(req, paramName.loginId);
}
// 注销当前应用端会话
stpLogic.logout(loginId);