接口功能:第三方系统使用。传入获取的认证码和用户名,验证认证码正确且传入用户名与统一登录用户名在映射则生成JWT Token,使认证码失效并返回(即自动登录成功)
controller(接口实现类)
/**
*
* 自动登陆
*/
@PostMapping("/autologin")
@ApiOperation(value = "获取用户名 认证码 机构id 实现自动登陆")
public void AutomaticLogin(String userName, String verid, String jgid,HttpServletResponse response) throws IOException{
Map<String, Object> claims = new HashMap<>();
claims.put("Tel", "15277777800");
// 生成 jwtToken 不设置过期时间
String jwtToken = jwtTokenUtil.generateToken(userName, -1, claims);
// 保存 jwtToken 到 Redis 内存服务器中
jwtTokenUtil.saveToken(jwtToken, userName);
Map<String,Object> retMap = new HashMap<>();
retMap.put("jwtToken",jwtToken);
List<YhzhJgbm> yhzhJgbmList = yhzhJgbmService.selectJgbmsByUserName(userName);
UserInfo userInfo = new UserInfo();
if (userName.isEmpty()&&!userName.equals(userInfo.getDlzh())){
CustomResultJsonObject customResultJsonObject = new CustomResultJsonObject<>(CustomResultCode.RESULT_CODE_AUTH_002, userName);
ObjectMapper objectMapper = new Jackson2ObjectMapperBuilder().build();
String json = objectMapper.writeValueAsString(customResultJsonObject);
response.getWriter().println(json)