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) {
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);
SaResult result = ssoClientTemplate.pushMessageAsSaResult(message);
@ -285,7 +286,7 @@ public class SaSsoClientProcessor {
// 极端场景下sso-server 中心的单点注销可能并不会通知到当前 client 所以这里需要再补一刀
if(stpLogic.isLogin()) {
stpLogic.logout(logoutParameter);
stpLogic.logout(loginId, logoutParameter);
}
return _ssoLogoutBack(req, res);
}