diff --git a/sa-token-plugin/sa-token-sso/src/main/java/cn/dev33/satoken/sso/processor/SaSsoClientProcessor.java b/sa-token-plugin/sa-token-sso/src/main/java/cn/dev33/satoken/sso/processor/SaSsoClientProcessor.java index b38db661..49e87a71 100644 --- a/sa-token-plugin/sa-token-sso/src/main/java/cn/dev33/satoken/sso/processor/SaSsoClientProcessor.java +++ b/sa-token-plugin/sa-token-sso/src/main/java/cn/dev33/satoken/sso/processor/SaSsoClientProcessor.java @@ -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); }