fix: 修复 SSO 模式三全端注销失效的问题

This commit is contained in:
click33 2025-06-03 20:26:33 +08:00
parent 2cf18309b2
commit a6b38430cd

View File

@ -274,7 +274,8 @@ public class SaSsoClientProcessor {
if(singleDeviceIdLogout) { if(singleDeviceIdLogout) {
logoutParameter.setDeviceId(stpLogic.getLoginDeviceId()); logoutParameter.setDeviceId(stpLogic.getLoginDeviceId());
} }
Object centerId = ssoClientTemplate.strategy.convertLoginIdToCenterId.run(stpLogic.getLoginId()); Object loginId = stpLogic.getLoginId();
Object centerId = ssoClientTemplate.strategy.convertLoginIdToCenterId.run(loginId);
SaSsoMessage message = ssoClientTemplate.buildSignoutMessage(centerId, logoutParameter); SaSsoMessage message = ssoClientTemplate.buildSignoutMessage(centerId, logoutParameter);
SaResult result = ssoClientTemplate.pushMessageAsSaResult(message); SaResult result = ssoClientTemplate.pushMessageAsSaResult(message);
@ -285,7 +286,7 @@ public class SaSsoClientProcessor {
// 极端场景下sso-server 中心的单点注销可能并不会通知到当前 client 所以这里需要再补一刀 // 极端场景下sso-server 中心的单点注销可能并不会通知到当前 client 所以这里需要再补一刀
if(stpLogic.isLogin()) { if(stpLogic.isLogin()) {
stpLogic.logout(logoutParameter); stpLogic.logout(loginId, logoutParameter);
} }
return _ssoLogoutBack(req, res); return _ssoLogoutBack(req, res);
} }