| | |
| | | import io.jsonwebtoken.Claims; |
| | | import reactor.core.publisher.Mono; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | /** |
| | | * 网关鉴权 |
| | | * |
| | |
| | | /** |
| | | * 获取请求token |
| | | */ |
| | | private String getToken(ServerHttpRequest req) { |
| | | HttpServletRequest request = (HttpServletRequest) req; |
| | | private String getToken(ServerHttpRequest request) { |
| | | // 从header获取token标识 |
| | | String token = request.getHeader(TokenConstants.AUTHENTICATION); |
| | | String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION); |
| | | |
| | | // 从url获取token标识 |
| | | if (StringUtils.isEmpty(token)) { |
| | | token = request.getParameter(TokenConstants.ACCESS_TOKEN); |
| | | token = request.getQueryParams().getFirst(TokenConstants.ACCESS_TOKEN); |
| | | } |
| | | if (StringUtils.isEmpty(token)) { |
| | | token = request.getParameter(TokenConstants.TOKEN); |
| | | token = request.getQueryParams().getFirst(TokenConstants.TOKEN); |
| | | } |
| | | |
| | | // 从cookie获取token标识 |
| | | if (StringUtils.isEmpty(token)) { |
| | | token = StringUtils.getValueFromCookie(request, TokenConstants.COOKIE_TOKEN); |
| | | } |
| | | |
| | | //String token = request.getHeaders().getFirst(TokenConstants.AUTHENTICATION); |
| | | // 如果前端设置了令牌前缀,则裁剪掉前缀 |
| | | if (StringUtils.isNotEmpty(token) && token.startsWith(TokenConstants.PREFIX)) { |
| | | token = token.replaceFirst(TokenConstants.PREFIX, StringUtils.EMPTY); |