mirror of
https://gitee.com/dromara/sa-token.git
synced 2025-12-17 17:41:15 +08:00
将 SaSsoConfig 中不必要的 get set 标注为过期
This commit is contained in:
@@ -30,22 +30,22 @@ public class SsoConfig {
|
||||
public void configSso(SaSsoConfig sso) { //SaSsoConfig 已自动构建
|
||||
|
||||
// 配置:未登录时返回的View
|
||||
sso.setNotLoginView(() -> {
|
||||
sso.notLoginView = () -> {
|
||||
return new ModelAndView("sa-login.html");
|
||||
});
|
||||
};
|
||||
|
||||
// 配置:登录处理函数
|
||||
sso.setDoLoginHandle((name, pwd) -> {
|
||||
sso.doLoginHandle = (name, pwd) -> {
|
||||
// 此处仅做模拟登录,真实环境应该查询数据进行登录
|
||||
if("sa".equals(name) && "123456".equals(pwd)) {
|
||||
StpUtil.login(10001);
|
||||
return SaResult.ok("登录成功!").setData(StpUtil.getTokenValue());
|
||||
}
|
||||
return SaResult.error("登录失败!");
|
||||
});
|
||||
};
|
||||
|
||||
// 配置 Http 请求处理器 (在模式三的单点注销功能下用到,如不需要可以注释掉)
|
||||
sso.setSendHttp(url -> {
|
||||
sso.sendHttp = url -> {
|
||||
try {
|
||||
// 发起 http 请求
|
||||
System.out.println("------ 发起请求:" + url);
|
||||
@@ -54,6 +54,6 @@ public class SsoConfig {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,9 +14,9 @@ public class SsoConfig {
|
||||
@Bean
|
||||
private void configSso(SaSsoConfig sso) {
|
||||
// 配置Http请求处理器
|
||||
sso.setSendHttp(url -> {
|
||||
sso.sendHttp = url -> {
|
||||
System.out.println("------ 发起请求:" + url);
|
||||
return Forest.get(url).executeAsString();
|
||||
});
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,22 +37,22 @@ public class SsoServerController {
|
||||
private void configSso(SaSsoConfig sso) {
|
||||
|
||||
// 配置:未登录时返回的View
|
||||
sso.setNotLoginView(() -> {
|
||||
sso.notLoginView = () -> {
|
||||
return new ModelAndView("sa-login.html");
|
||||
});
|
||||
};
|
||||
|
||||
// 配置:登录处理函数
|
||||
sso.setDoLoginHandle((name, pwd) -> {
|
||||
sso.doLoginHandle = (name, pwd) -> {
|
||||
// 此处仅做模拟登录,真实环境应该查询数据进行登录
|
||||
if("sa".equals(name) && "123456".equals(pwd)) {
|
||||
StpUtil.login(10001);
|
||||
return SaResult.ok("登录成功!").setData(StpUtil.getTokenValue());
|
||||
}
|
||||
return SaResult.error("登录失败!");
|
||||
});
|
||||
};
|
||||
|
||||
// 配置 Http 请求处理器 (在模式三的单点注销功能下用到,如不需要可以注释掉)
|
||||
sso.setSendHttp(url -> {
|
||||
sso.sendHttp = url -> {
|
||||
try {
|
||||
// 发起 http 请求
|
||||
System.out.println("------ 发起请求:" + url);
|
||||
@@ -61,7 +61,7 @@ public class SsoServerController {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
// 示例:获取数据接口(用于在模式三下,为 client 端开放拉取数据的接口)
|
||||
|
||||
@@ -46,10 +46,10 @@ public class SsoClientController {
|
||||
@Autowired
|
||||
private void configSso(SaSsoConfig sso) {
|
||||
// 配置Http请求处理器
|
||||
sso.setSendHttp(url -> {
|
||||
sso.sendHttp = url -> {
|
||||
System.out.println("------ 发起请求:" + url);
|
||||
return Forest.get(url).executeAsString();
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
// 查询我的账号信息
|
||||
|
||||
@@ -104,25 +104,25 @@ public class SsoServerController {
|
||||
@Autowired
|
||||
private void configSso(SaSsoConfig sso) {
|
||||
// 配置:未登录时返回的View
|
||||
sso.setNotLoginView(() -> {
|
||||
sso.notLoginView = () -> {
|
||||
String msg = "当前会话在SSO-Server端尚未登录,请先访问"
|
||||
+ "<a href='/sso/doLogin?name=sa&pwd=123456' target='_blank'> doLogin登录 </a>"
|
||||
+ "进行登录之后,刷新页面开始授权";
|
||||
return msg;
|
||||
});
|
||||
};
|
||||
|
||||
// 配置:登录处理函数
|
||||
sso.setDoLoginHandle((name, pwd) -> {
|
||||
sso.doLoginHandle = (name, pwd) -> {
|
||||
// 此处仅做模拟登录,真实环境应该查询数据进行登录
|
||||
if("sa".equals(name) && "123456".equals(pwd)) {
|
||||
StpUtil.login(10001);
|
||||
return SaResult.ok("登录成功!").setData(StpUtil.getTokenValue());
|
||||
}
|
||||
return SaResult.error("登录失败!");
|
||||
});
|
||||
};
|
||||
|
||||
// 配置 Http 请求处理器 (在模式三的单点注销功能下用到,如不需要可以注释掉)
|
||||
sso.setSendHttp(url -> {
|
||||
sso.sendHttp = url -> {
|
||||
try {
|
||||
// 发起 http 请求
|
||||
System.out.println("------ 发起请求:" + url);
|
||||
@@ -131,7 +131,7 @@ public class SsoServerController {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -51,10 +51,10 @@ private void configSso(SaSsoConfig sso) {
|
||||
// ... 其他代码
|
||||
|
||||
// 配置 Http 请求处理器
|
||||
sso.setSendHttp(url -> {
|
||||
sso.sendHttp = url -> {
|
||||
System.out.println("------ 发起请求:" + url);
|
||||
return Forest.get(url).executeAsString();
|
||||
});
|
||||
};
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
@@ -434,14 +434,14 @@ public class SaSsoConfig implements Serializable {
|
||||
|
||||
|
||||
/**
|
||||
* SSO-Server端:未登录时返回的View
|
||||
* SSO-Server端:未登录时返回的View
|
||||
*/
|
||||
public Supplier<Object> notLoginView = () -> {
|
||||
return "当前会话在SSO-Server认证中心尚未登录(当前未配置登录视图)";
|
||||
};
|
||||
|
||||
/**
|
||||
* SSO-Server端:登录函数
|
||||
* SSO-Server端:登录函数
|
||||
*/
|
||||
public BiFunction<String, String, Object> doLoginHandle = (name, pwd) -> {
|
||||
return SaResult.error();
|
||||
@@ -450,78 +450,96 @@ public class SaSsoConfig implements Serializable {
|
||||
/**
|
||||
* SSO-Client端:自定义校验Ticket返回值的处理逻辑 (每次从认证中心获取校验Ticket的结果后调用)
|
||||
* <p> 参数:loginId, back
|
||||
* <p> 返回值:返回给前端的值
|
||||
* <p> 返回值:返回给前端的值
|
||||
*/
|
||||
public BiFunction<Object, String, Object> ticketResultHandle = null;
|
||||
|
||||
/**
|
||||
* SSO-Client端:发送Http请求的处理函数
|
||||
* SSO-Client端:发送Http请求的处理函数
|
||||
*/
|
||||
public Function<String, String> sendHttp = url -> {
|
||||
throw new SaSsoException("请配置 Http 请求处理器").setCode(SaSsoErrorCode.CODE_30010);
|
||||
};
|
||||
|
||||
|
||||
// -------------------- 废弃方法 --------------------
|
||||
|
||||
/**
|
||||
* <h2> 属性为 public,请直接访问 </h2>
|
||||
* @param notLoginView SSO-Server端:未登录时返回的View
|
||||
* @return 对象自身
|
||||
*/
|
||||
@Deprecated
|
||||
public SaSsoConfig setNotLoginView(Supplier<Object> notLoginView) {
|
||||
this.notLoginView = notLoginView;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <h2> 属性为 public,请直接访问 </h2>
|
||||
* @return 函数 SSO-Server端:未登录时返回的View
|
||||
*/
|
||||
@Deprecated
|
||||
public Supplier<Object> getNotLoginView() {
|
||||
return notLoginView;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param doLoginHandle SSO-Server端:登录函数
|
||||
* <h2> 属性为 public,请直接访问 </h2>
|
||||
* @param doLoginHandle SSO-Server端:登录函数
|
||||
* @return 对象自身
|
||||
*/
|
||||
@Deprecated
|
||||
public SaSsoConfig setDoLoginHandle(BiFunction<String, String, Object> doLoginHandle) {
|
||||
this.doLoginHandle = doLoginHandle;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <h2> 属性为 public,请直接访问 </h2>
|
||||
* @return 函数 SSO-Server端:登录函数
|
||||
*/
|
||||
@Deprecated
|
||||
public BiFunction<String, String, Object> getDoLoginHandle() {
|
||||
return doLoginHandle;
|
||||
}
|
||||
|
||||
/**
|
||||
* <h2> 属性为 public,请直接访问 </h2>
|
||||
* @param ticketResultHandle SSO-Client端:自定义校验Ticket返回值的处理逻辑 (每次从认证中心获取校验Ticket的结果后调用)
|
||||
* @return 对象自身
|
||||
*/
|
||||
@Deprecated
|
||||
public SaSsoConfig setTicketResultHandle(BiFunction<Object, String, Object> ticketResultHandle) {
|
||||
this.ticketResultHandle = ticketResultHandle;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <h2> 属性为 public,请直接访问 </h2>
|
||||
* @return 函数 SSO-Client端:自定义校验Ticket返回值的处理逻辑 (每次从认证中心获取校验Ticket的结果后调用)
|
||||
*/
|
||||
@Deprecated
|
||||
public BiFunction<Object, String, Object> getTicketResultHandle() {
|
||||
return ticketResultHandle;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param sendHttp SSO-Client端:发送Http请求的处理函数
|
||||
* @return 对象自身
|
||||
* <h2> 属性为 public,请直接访问 </h2>
|
||||
* @param sendHttp SSO-Client端:发送Http请求的处理函数
|
||||
* @return 对象自身
|
||||
*/
|
||||
@Deprecated
|
||||
public SaSsoConfig setSendHttp(Function<String, String> sendHttp) {
|
||||
this.sendHttp = sendHttp;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* <h2> 属性为 public,请直接访问 </h2>
|
||||
* @return 函数 SSO-Client端:发送Http请求的处理函数
|
||||
*/
|
||||
@Deprecated
|
||||
public Function<String, String> getSendHttp() {
|
||||
return sendHttp;
|
||||
}
|
||||
|
||||
@@ -95,7 +95,7 @@ public class SaSsoProcessor {
|
||||
// ---------- 此处有两种情况分开处理:
|
||||
// ---- 情况1:在SSO认证中心尚未登录,需要先去登录
|
||||
if( ! stpLogic.isLogin()) {
|
||||
return cfg.getNotLoginView().get();
|
||||
return cfg.notLoginView.get();
|
||||
}
|
||||
// ---- 情况2:在SSO认证中心已经登录,需要重定向回 Client 端,而这又分为两种方式:
|
||||
String mode = req.getParam(paramName.mode, "");
|
||||
@@ -123,7 +123,7 @@ public class SaSsoProcessor {
|
||||
ParamName paramName = ssoTemplate.paramName;
|
||||
|
||||
// 处理
|
||||
return cfg.getDoLoginHandle().apply(req.getParam(paramName.name), req.getParam(paramName.pwd));
|
||||
return cfg.doLoginHandle.apply(req.getParam(paramName.name), req.getParam(paramName.pwd));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -297,8 +297,8 @@ public class SaSsoProcessor {
|
||||
Object loginId = checkTicket(ticket, apiName.ssoLogin);
|
||||
|
||||
// Be: 如果开发者自定义了处理逻辑
|
||||
if(cfg.getTicketResultHandle() != null) {
|
||||
return cfg.getTicketResultHandle().apply(loginId, back);
|
||||
if(cfg.ticketResultHandle != null) {
|
||||
return cfg.ticketResultHandle.apply(loginId, back);
|
||||
}
|
||||
|
||||
// ------- 2、如果 loginId 无值,说明 ticket 无效
|
||||
|
||||
@@ -350,7 +350,7 @@ public class SaSsoTemplate {
|
||||
Set<String> urlSet = session.get(SaSsoConsts.SLO_CALLBACK_SET_KEY, HashSet::new);
|
||||
for (String url : urlSet) {
|
||||
url = joinLoginIdAndSign(url, loginId);
|
||||
cfg.getSendHttp().apply(url);
|
||||
cfg.sendHttp.apply(url);
|
||||
}
|
||||
|
||||
// step.2 Server端注销
|
||||
@@ -375,7 +375,7 @@ public class SaSsoTemplate {
|
||||
*/
|
||||
public Object getData(String path, Map<String, Object> paramMap) {
|
||||
String url = buildCustomPathUrl(path, paramMap);
|
||||
return SaSsoManager.getConfig().getSendHttp().apply(url);
|
||||
return SaSsoManager.getConfig().sendHttp.apply(url);
|
||||
}
|
||||
|
||||
|
||||
@@ -547,7 +547,7 @@ public class SaSsoTemplate {
|
||||
* @return 返回的结果
|
||||
*/
|
||||
public SaResult request(String url) {
|
||||
String body = SaSsoManager.getConfig().getSendHttp().apply(url);
|
||||
String body = SaSsoManager.getConfig().sendHttp.apply(url);
|
||||
Map<String, Object> map = SaManager.getSaJsonTemplate().parseJsonToMap(body);
|
||||
return new SaResult(map);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user