Class AuthorizationStateUtil
- java.lang.Object
-
- jetbrains.buildServer.serverSide.oauth.AuthorizationStateUtil
-
public class AuthorizationStateUtil extends Object
-
-
Constructor Summary
Constructors Constructor Description AuthorizationStateUtil()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static String
encodeStateContainer(Map<String,String> stateParametrs)
static String
generateRequestKeyForState(javax.servlet.http.HttpServletRequest request, String validationValue)
Generates a unique request key to be used in the state container.static Map<String,String>
getStateContainer(javax.servlet.http.HttpServletRequest request)
static boolean
isStateValid(String requestKey, javax.servlet.http.HttpServletRequest request, String validationValue)
Confirms that the given request key does exist in the HTTP session and its associated validation value matches the given validation value.static void
removeState(String requestKey, javax.servlet.http.HttpServletRequest request)
Removes a state entry from the session storage by its request key.
-
-
-
Method Detail
-
generateRequestKeyForState
@NotNull public static String generateRequestKeyForState(@NotNull javax.servlet.http.HttpServletRequest request, @NotNull String validationValue)
Generates a unique request key to be used in the state container. The request key will be stored in the HTTP session alongside the provided validation value. Request key and validation value can be used for validating received state containers, seeisStateValid(java.lang.String, javax.servlet.http.HttpServletRequest, java.lang.String)
.- Parameters:
request
- HTTP servlet requestvalidationValue
- validation value- Returns:
- request key
-
isStateValid
public static boolean isStateValid(String requestKey, @NotNull javax.servlet.http.HttpServletRequest request, @NotNull String validationValue)
Confirms that the given request key does exist in the HTTP session and its associated validation value matches the given validation value. Callers must ensure that the validation value provided here and atgenerateRequestKeyForState(javax.servlet.http.HttpServletRequest, java.lang.String)
is derived similarly. It is advisable to remove the state value on successful validation viaremoveState(java.lang.String, javax.servlet.http.HttpServletRequest)
to prevent replay attacks.- Parameters:
requestKey
- request key to validaterequest
- HTTP servlet requestvalidationValue
- validation value to match- Returns:
- true if all values match
-
removeState
public static void removeState(@NotNull String requestKey, @NotNull javax.servlet.http.HttpServletRequest request)
Removes a state entry from the session storage by its request key. Subsequent calls toisStateValid(java.lang.String, javax.servlet.http.HttpServletRequest, java.lang.String)
will fail thereafter.- Parameters:
requestKey
- key of the entry to removerequest
- HTTP servlet request
-
getStateContainer
@Nullable public static Map<String,String> getStateContainer(@NotNull javax.servlet.http.HttpServletRequest request)
-
-