ci:调整地址,增加日志打印,放开登录接口拦截
This commit is contained in:
@@ -87,6 +87,9 @@ public class ShiroFilterConfiguration {
|
||||
/* 校验单点登录ticket 不需要认证 */
|
||||
filterChainDefinitionMap.put(restPath + "/login", ANON);
|
||||
|
||||
/* 校验单点登录ticket 不需要认证 */
|
||||
filterChainDefinitionMap.put(restPath + "/ssoLogin", ANON);
|
||||
|
||||
/* 登出不需认证 */
|
||||
filterChainDefinitionMap.put(restPath + "/logout/**", ANON);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user