/**
* 从cookie中获取token 和签名数据
* @param cookies 请求中的cookie信息
* @return cookie中对应的参数vo
*/
public static CookieValueVo getTokenFromCookie(Cookie[] cookies) {
CookieValueVo cookieValueVo=new CookieValueVo();
//从cookie中取token和sign
for (Cookie cookie : cookies) {
switch (cookie.getName()) {
case CommonConstants.COOKIE_KEY_FOR_TOKEN:
cookieValueVo.setToken(cookie.getValue());
break;
case CommonConstants.COOKIE_KEY_FOR_TOKEN_SIGN:
cookieValueVo.setSign(cookie.getValue());
break;
}
}
return cookieValueVo;
}
//使用方法:
public TokenInfoVo getTokenAndValidateFromCookies(Cookie[] cookies) {
TokenInfoVo tokenInfoVo = new TokenInfoVo();
String method = “从cooki中获取token-”;
//1.从cookie中获取token和sign数据
CookieValueVo cookieValueVo = CookieUtil.getTokenFromCookie(cookies);
//token 或者sign数据为空
if (!StringUtils.paramIsIntact(cookieValueVo.getToken(), cookieValueVo.getSign())) {
logger.warn("{}验证失败,token或者sign数据为空,token:{},sign:{}", method, cookieValueVo.getToken(), cookieValueVo.getSign());
tokenInfoVo.setCode(ReturnCodeEnum.ERROR.name());
tokenInfoVo.setMsg(ReturnCodeEnum.ERROR.getReturnMsg());
return tokenInfoVo;
}