RequestTokenUtils.java 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package org.maxkey.util;
  2. import javax.servlet.http.HttpServletRequest;
  3. import org.apache.commons.lang3.StringUtils;
  4. /**
  5. * 从请求中解析token令牌信息,优先级顺序如下
  6. * <p>
  7. * 1) 参数 access_token <br/>
  8. * 2) header 的Authorization或者authorization <br/>
  9. * 3) 参数 token <br/>
  10. * </p>
  11. *
  12. * @author crystal.sea
  13. *
  14. */
  15. public class RequestTokenUtils {
  16. public static String TOKEN = "token";
  17. public static String ACCESS_TOKEN = "access_token";
  18. /**
  19. * 从请求中获取token令牌信息,优先级顺序如下
  20. * <p>
  21. * 1) 参数 access_token <br/>
  22. * 2) 参数 token <br/>
  23. * 3) header 的Authorization或者authorization <br/>
  24. * </p>
  25. *
  26. * @param request
  27. * @return access_token
  28. */
  29. public static String resolveAccessToken(HttpServletRequest request) {
  30. String access_token = request.getParameter(ACCESS_TOKEN);
  31. if(StringUtils.isBlank(access_token)) {
  32. access_token = request.getParameter(TOKEN);
  33. }
  34. if(StringUtils.isBlank(access_token)) {
  35. //for header authorization bearer
  36. access_token = AuthorizationHeaderUtils.resolveBearer(request);
  37. }
  38. return access_token;
  39. }
  40. }