summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lenz <thomas.lenz@egiz.gv.at>2019-05-03 07:00:06 +0200
committerThomas Lenz <thomas.lenz@egiz.gv.at>2019-05-03 07:00:06 +0200
commitdcff4e8f7fff4547f3d6d1adbb91db9b1bd1607d (patch)
tree2ce35b1bb3b66a9b134f1fbbc411ce914c681400
parentdc8587693201e34fe0f7a87b3e401fac4325ce04 (diff)
downloadEAAF-Components-dcff4e8f7fff4547f3d6d1adbb91db9b1bd1607d.tar.gz
EAAF-Components-dcff4e8f7fff4547f3d6d1adbb91db9b1bd1607d.tar.bz2
EAAF-Components-dcff4e8f7fff4547f3d6d1adbb91db9b1bd1607d.zip
add http response header for SL20
-rw-r--r--eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/AbstractSL20AuthenticationModulImpl.java10
-rw-r--r--eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20Constants.java2
-rw-r--r--eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20HttpBindingUtils.java6
3 files changed, 11 insertions, 7 deletions
diff --git a/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/AbstractSL20AuthenticationModulImpl.java b/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/AbstractSL20AuthenticationModulImpl.java
index b23df12e..f6488626 100644
--- a/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/AbstractSL20AuthenticationModulImpl.java
+++ b/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/AbstractSL20AuthenticationModulImpl.java
@@ -28,7 +28,7 @@ public abstract class AbstractSL20AuthenticationModulImpl implements AuthModule
private int priority = 3;
public static final List<String> VDA_TYPE_IDS = Arrays.asList("1", "2", "3", "4");
-
+
@Autowired(required=true) protected IConfiguration authConfig;
@Autowired(required=true) private AbstractAuthenticationManager authManager;
@@ -59,11 +59,11 @@ public abstract class AbstractSL20AuthenticationModulImpl implements AuthModule
*/
@Override
public String selectProcess(ExecutionContext context) {
- ISPConfiguration spConfig = (ISPConfiguration) context.get(EAAFConstants.PROCESSCONTEXT_SP_CONFIG);
+ final ISPConfiguration spConfig = (ISPConfiguration) context.get(EAAFConstants.PROCESSCONTEXT_SP_CONFIG);
+
+ final String sl20ClientTypeHeader = (String) context.get(SL20Constants.HTTP_HEADER_SL20_CLIENT_TYPE.toLowerCase());
+ final String sl20VDATypeHeader = (String) context.get(SL20Constants.HTTP_HEADER_SL20_VDA_TYPE.toLowerCase());
- String sl20ClientTypeHeader = (String) context.get(SL20Constants.HTTP_HEADER_SL20_CLIENT_TYPE.toLowerCase());
- String sl20VDATypeHeader = (String) context.get(SL20Constants.HTTP_HEADER_SL20_VDA_TYPE.toLowerCase());
-
if (spConfig != null &&
StringUtils.isNotEmpty(spConfig.getConfigurationValue(getConfigPropertyNameEnableModule())) &&
Boolean.valueOf(spConfig.getConfigurationValue(getConfigPropertyNameEnableModule()))) {
diff --git a/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20Constants.java b/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20Constants.java
index b5b82174..416c16b6 100644
--- a/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20Constants.java
+++ b/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20Constants.java
@@ -21,6 +21,8 @@ public class SL20Constants {
public static final String HTTP_HEADER_SL20_VDA_TYPE = "X-MOA-VDA";
public static final String HTTP_HEADER_VALUE_NATIVE = "nativeApp";
+ public static final String HTTP_HEADER_SL20_RESP = "X-SL20Operation";
+
//*******************************************************************************************
//JSON signing and encryption headers
diff --git a/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20HttpBindingUtils.java b/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20HttpBindingUtils.java
index 78edf640..e1cca5ef 100644
--- a/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20HttpBindingUtils.java
+++ b/eaaf_modules/eaaf_module_auth_sl20/src/main/java/at/gv/egiz/eaaf/modules/auth/sl20/utils/SL20HttpBindingUtils.java
@@ -20,10 +20,12 @@ public class SL20HttpBindingUtils {
public static void writeIntoResponse(HttpServletRequest request, HttpServletResponse response, JsonNode sl20Forward, String redirectURL) throws IOException, URISyntaxException {
//forward SL2.0 command
+ response.addIntHeader(SL20Constants.HTTP_HEADER_SL20_RESP, SL20Constants.CURRENT_SL20_VERSION);
+
if (request.getHeader(SL20Constants.HTTP_HEADER_SL20_CLIENT_TYPE) != null &&
request.getHeader(SL20Constants.HTTP_HEADER_SL20_CLIENT_TYPE).equals(SL20Constants.HTTP_HEADER_VALUE_NATIVE)) {
log.debug("Client request containts 'native client' header ... ");
- StringWriter writer = new StringWriter();
+ final StringWriter writer = new StringWriter();
writer.write(sl20Forward.toString());
final byte[] content = writer.toString().getBytes("UTF-8");
response.setStatus(HttpServletResponse.SC_OK);
@@ -33,7 +35,7 @@ public class SL20HttpBindingUtils {
} else {
log.debug("Client request containts is no native client ... ");
- URIBuilder clientRedirectURI = new URIBuilder(redirectURL);
+ final URIBuilder clientRedirectURI = new URIBuilder(redirectURL);
clientRedirectURI.addParameter(
SL20Constants.PARAM_SL20_REQ_COMMAND_PARAM,
Base64Url.encode(sl20Forward.toString().getBytes()));