aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/juick/service/security/HashParamAuthenticationFilter.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2019-10-11 14:13:57 +0300
committerGravatar Vitaly Takmazov2019-10-11 15:21:14 +0300
commit3799b41149c304721b63c7e36e509cd5865ca9fb (patch)
tree796f91a294991ea487390da7f92ea3caff935fe6 /src/main/java/com/juick/service/security/HashParamAuthenticationFilter.java
parent36e49df53a4d79bf4dc8e5594fc319d641b461c8 (diff)
Read Juick hash from Authorization header, drop unused code
Diffstat (limited to 'src/main/java/com/juick/service/security/HashParamAuthenticationFilter.java')
-rw-r--r--src/main/java/com/juick/service/security/HashParamAuthenticationFilter.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/main/java/com/juick/service/security/HashParamAuthenticationFilter.java b/src/main/java/com/juick/service/security/HashParamAuthenticationFilter.java
index 0a80a28c..3ce178f5 100644
--- a/src/main/java/com/juick/service/security/HashParamAuthenticationFilter.java
+++ b/src/main/java/com/juick/service/security/HashParamAuthenticationFilter.java
@@ -20,6 +20,7 @@ package com.juick.service.security;
import com.juick.User;
import com.juick.service.UserService;
import com.juick.service.security.entities.JuickUser;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.security.authentication.AnonymousAuthenticationToken;
import org.springframework.security.authentication.RememberMeAuthenticationToken;
import org.springframework.security.core.Authentication;
@@ -92,10 +93,25 @@ public class HashParamAuthenticationFilter extends OncePerRequestFilter {
existingAuth instanceof AnonymousAuthenticationToken;
}
+ private String hashFromAuthorizationHeader(HttpServletRequest request) {
+ String authorizationHeader = request.getHeader("Authorization");
+ if (StringUtils.isNotEmpty(authorizationHeader)) {
+ String[] parts = authorizationHeader.split(" ");
+ if ((parts.length == 2) && parts[0].equals("Juick")) {
+ return parts[1];
+ }
+ }
+ return StringUtils.EMPTY;
+ }
+
private String getHashFromRequest(HttpServletRequest request) {
String paramHash = request.getParameter(PARAM_NAME);
Cookie cookieHash = WebUtils.getCookie(request, PARAM_NAME);
+ String headerHash = hashFromAuthorizationHeader(request);
+ if (StringUtils.isNotEmpty(headerHash)) {
+ return headerHash;
+ }
if (paramHash == null && cookieHash != null) {
return cookieHash.getValue();
}