| | |
| | | public static Boolean validateToken(String token, String username) { |
| | | String userName = getUsername(token); |
| | | if (!StringUtils.hasLength(userName)) { |
| | | throw new IllegalArgumentException("请求令牌无效"); |
| | | throw new ServiceException(401,"请求令牌无效"); |
| | | } |
| | | return (userName.equals(username) && !isTokenExpired(token)); |
| | | } |
| | |
| | | String asToken = request.getHeader(Constant.ALIAS_TOKEN_HEADER); |
| | | // 如果这两个头部信息均不存在 |
| | | if (!StringUtils.hasLength(token) && !StringUtils.hasLength(asToken)) { |
| | | throw new ServiceException("资源未认证,访问受限"); |
| | | throw new ServiceException(401,"资源未认证,访问受限"); |
| | | } |
| | | // token转换 |
| | | if (!StringUtils.hasLength(token)) { |
| | |
| | | try { |
| | | token = new String(Base64Utils.decode(token.getBytes())); |
| | | } catch (IllegalArgumentException e) { |
| | | throw new IllegalArgumentException("无效的令牌"); |
| | | throw new ServiceException(401,"无效的令牌"); |
| | | } |
| | | return token; |
| | | } |