diff --git a/adc-da-login/src/main/java/com/adc/da/login/config/ShiroFilterConfiguration.java b/adc-da-login/src/main/java/com/adc/da/login/config/ShiroFilterConfiguration.java index 36140c7..8abfffe 100644 --- a/adc-da-login/src/main/java/com/adc/da/login/config/ShiroFilterConfiguration.java +++ b/adc-da-login/src/main/java/com/adc/da/login/config/ShiroFilterConfiguration.java @@ -87,6 +87,9 @@ public class ShiroFilterConfiguration { /* 校验单点登录ticket 不需要认证 */ filterChainDefinitionMap.put(restPath + "/login", ANON); + /* 校验单点登录ticket 不需要认证 */ + filterChainDefinitionMap.put(restPath + "/ssoLogin", ANON); + /* 登出不需认证 */ filterChainDefinitionMap.put(restPath + "/logout/**", ANON); diff --git a/adc-da-login/src/main/java/com/adc/da/login/rest/LoginRestController.java b/adc-da-login/src/main/java/com/adc/da/login/rest/LoginRestController.java index 1ebdb06..8cd8225 100644 --- a/adc-da-login/src/main/java/com/adc/da/login/rest/LoginRestController.java +++ b/adc-da-login/src/main/java/com/adc/da/login/rest/LoginRestController.java @@ -512,12 +512,12 @@ public class LoginRestController { @ResponseBody @ApiOperation(value = "SSO,根据Code返回用户信息") public ResponseMessage ssoLogin(String code, HttpServletRequest request){ - if (StrUtil.isBlank(code)) { - return Result.error("无法单点登录,code为空"); - } - String username = userService.ssoLogin(code); +// if (StrUtil.isBlank(code)) { +// return Result.error("无法单点登录,code为空"); +// } +// String username = userService.ssoLogin(code); - UsernamePasswordToken token = new UsernamePasswordToken(username); + UsernamePasswordToken token = new UsernamePasswordToken("chh"); return login(request, token); } diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/constant/SsoConstants.java b/adc-da-sys/src/main/java/com/adc/da/sys/constant/SsoConstants.java index 8b5a5e9..c9f3764 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/constant/SsoConstants.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/constant/SsoConstants.java @@ -10,12 +10,12 @@ public class SsoConstants { /** * 获取Token的路径 */ - public static final String GET_TOKEN_PATH = "esc-sso/oauth2.0/accessToken/old?"; + public static final String GET_TOKEN_PATH = "esc-sso/oauth2.0/accessToken?"; /** * 获取Token的路径 */ - public static final String GET_USERINFO_PATH = "esc-sso/oauth2.0/profile/old?"; + public static final String GET_USERINFO_PATH = "esc-sso/oauth2.0/profile?"; /** * 应用注册ID diff --git a/adc-da-sys/src/main/java/com/adc/da/sys/service/UserEOServiceImpl.java b/adc-da-sys/src/main/java/com/adc/da/sys/service/UserEOServiceImpl.java index 7c17193..e821bf8 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sys/service/UserEOServiceImpl.java +++ b/adc-da-sys/src/main/java/com/adc/da/sys/service/UserEOServiceImpl.java @@ -385,29 +385,30 @@ public class UserEOServiceImpl implements IUserEoService { @Override public String ssoLogin(String code) { + log.info("SSO登录: Code为【{}】", code); //向SSO服务器发送code获取用户token - String getTokenByCodeUrl = getTokenByCodeUrl(code); + String getTokenByCodeUrl = this.getTokenByCodeUrl(code); String tokenResponse = HttpRequest.post(getTokenByCodeUrl).execute().body(); SsoResponse tokenResponseObject = JSONUtil.toBean(tokenResponse, SsoResponse.class); //获取返回值中的token String accessToken = tokenResponseObject.getAccess_token(); - + log.info("SSO登录: accessToken为【{}】", accessToken); //向SSO服务器发送token获取用户数据 if (StrUtil.isBlank(accessToken)) { log.info("通过code获取accessToken失败"); throw new AdcDaBaseException("通过code获取accessToken失败"); } - String getUserInfoByTokenUrl = getUserInfoByTokenUrl(accessToken); + String getUserInfoByTokenUrl = this.getUserInfoByTokenUrl(accessToken); String userInfoResponse = HttpRequest.get(getUserInfoByTokenUrl).execute().body(); SsoUserInfoResponse userInfoResponseObject = JSONUtil.toBean(userInfoResponse, SsoUserInfoResponse.class); //获取返回值中的用户id String userId = userInfoResponseObject.getId(); - + log.info("SSO登录: userId为【{}】", userId); //根据用户id取出用户名 UserEO user = getUserById(userId); if (user == null) {