You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2017/04/13 10:39:57 UTC
[1/2] syncope git commit: Small fixes
Repository: syncope
Updated Branches:
refs/heads/2_0_X 8f94d1b7d -> 911eeda8e
refs/heads/master 0527a8089 -> dfcec0dae
Small fixes
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/911eeda8
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/911eeda8
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/911eeda8
Branch: refs/heads/2_0_X
Commit: 911eeda8e4dcb753e599588cfa85592e3e9b5700
Parents: 8f94d1b
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Thu Apr 13 12:35:34 2017 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Thu Apr 13 12:35:34 2017 +0200
----------------------------------------------------------------------
.../enduser/util/UserRequestValidatorTest.java | 39 ++++++++++----------
deb/enduser/pom.xml | 1 -
.../syncope/ext/saml2lsp/agent/Logout.java | 3 --
.../common/lib/to/SAML2ReceivedResponseTO.java | 11 ------
.../common/lib/types/SAML2BindingType.java | 13 ++-----
.../apache/syncope/core/logic/SAML2SPLogic.java | 11 +++---
.../core/logic/saml2/SAML2IdPEntity.java | 2 +-
.../core/logic/saml2/SAML2ReaderWriter.java | 5 +--
8 files changed, 31 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/911eeda8/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java b/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
index 88c611a..70d4fd3 100644
--- a/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
+++ b/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
@@ -18,6 +18,9 @@
*/
package org.apache.syncope.client.enduser.util;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
@@ -27,21 +30,23 @@ import java.util.Map;
import org.apache.syncope.client.enduser.model.CustomAttributesInfo;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.UserTO;
-import org.junit.Assert;
import org.junit.Test;
import org.springframework.core.io.ClassPathResource;
public class UserRequestValidatorTest {
+ private AttrTO attrTO(String schemaKey, String... values) {
+ return new AttrTO.Builder().schema(schemaKey).values(values).build();
+ }
+
@Test
public void testCompliant() throws IOException {
-
UserTO userTO = new UserTO();
// plain
- AttrTO firstname = buildAttrTO("firstname", "defaultFirstname");
- AttrTO surname = buildAttrTO("surname", "surnameValue");
- AttrTO additionalCtype = buildAttrTO("additional#ctype", "ctypeValue");
- AttrTO notAllowed = buildAttrTO("not_allowed", "notAllowedValue");
+ AttrTO firstname = attrTO("firstname", "defaultFirstname");
+ AttrTO surname = attrTO("surname", "surnameValue");
+ AttrTO additionalCtype = attrTO("additional#ctype", "ctypeValue");
+ AttrTO notAllowed = attrTO("not_allowed", "notAllowedValue");
userTO.getPlainAttrs().addAll(Arrays.asList(firstname, surname, notAllowed, additionalCtype));
Map<String, CustomAttributesInfo> customForm = new ObjectMapper().readValue(new ClassPathResource(
@@ -49,37 +54,33 @@ public class UserRequestValidatorTest {
});
// not allowed because of presence of notAllowed attribute
- Assert.assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
+ assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
// remove notAllowed attribute and make it compliant
userTO.getPlainAttrs().remove(notAllowed);
- Assert.assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
+ assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
// firstname must have only one defaultValue
userTO.getPlainAttrMap().get("firstname").getValues().add("notAllowedFirstnameValue");
- Assert.assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
- Assert.assertTrue(UserRequestValidator.compliant(userTO, customForm, false));
+ assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
+ assertTrue(UserRequestValidator.compliant(userTO, customForm, false));
// clean
userTO.getPlainAttrMap().get("firstname").getValues().remove("notAllowedFirstnameValue");
// derived must not be present
- AttrTO derivedNotAllowed = buildAttrTO("derivedNotAllowed");
+ AttrTO derivedNotAllowed = attrTO("derivedNotAllowed");
userTO.getDerAttrs().add(derivedNotAllowed);
- Assert.assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
+ assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
// clean
userTO.getDerAttrs().clear();
// virtual
- AttrTO virtualdata = buildAttrTO("virtualdata", "defaultVirtualData");
+ AttrTO virtualdata = attrTO("virtualdata", "defaultVirtualData");
userTO.getVirAttrs().add(virtualdata);
- Assert.assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
+ assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
// with empty form is compliant by definition
- Assert.assertTrue(UserRequestValidator.compliant(userTO, new HashMap<String, CustomAttributesInfo>(), true));
- }
-
- private AttrTO buildAttrTO(String schemaKey, String... values) {
- return new AttrTO.Builder().schema(schemaKey).values(values).build();
+ assertTrue(UserRequestValidator.compliant(userTO, new HashMap<String, CustomAttributesInfo>(), true));
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/911eeda8/deb/enduser/pom.xml
----------------------------------------------------------------------
diff --git a/deb/enduser/pom.xml b/deb/enduser/pom.xml
index 8981f8a..770c894 100644
--- a/deb/enduser/pom.xml
+++ b/deb/enduser/pom.xml
@@ -92,7 +92,6 @@ under the License.
<directory>${project.basedir}/../../client/enduser/src/main/resources</directory>
<includes>
<include>enduser.properties</include>
- <include>enduserContext.xml</include>
<include>customForm.json</include>
</includes>
<targetPath>${project.build.directory}/etc</targetPath>
http://git-wip-us.apache.org/repos/asf/syncope/blob/911eeda8/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java b/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java
index 3ad191c..a8fe481 100644
--- a/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java
+++ b/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java
@@ -31,7 +31,6 @@ import org.apache.syncope.client.lib.SyncopeClientFactoryBean;
import org.apache.syncope.common.lib.SSOConstants;
import org.apache.syncope.common.lib.to.SAML2ReceivedResponseTO;
import org.apache.syncope.common.lib.to.SAML2RequestTO;
-import org.apache.syncope.common.lib.types.SAML2BindingType;
import org.apache.syncope.common.rest.api.service.SAML2SPService;
@WebServlet(name = "logout", urlPatterns = { "/saml2sp/logout" })
@@ -116,7 +115,6 @@ public class Logout extends AbstractSAML2SPServlet {
SAML2ReceivedResponseTO receivedResponse = new SAML2ReceivedResponseTO();
receivedResponse.setSamlResponse(samlResponse);
receivedResponse.setRelayState(relayState);
- receivedResponse.setBindingType(SAML2BindingType.REDIRECT);
doLogout(receivedResponse, request, response);
}
@@ -128,7 +126,6 @@ public class Logout extends AbstractSAML2SPServlet {
// process POST binding logout response
SAML2ReceivedResponseTO receivedResponse = extract(request.getInputStream());
- receivedResponse.setBindingType(SAML2BindingType.POST);
doLogout(receivedResponse, request, response);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/911eeda8/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java b/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java
index b8d82ae..3d5d9b4 100644
--- a/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java
+++ b/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java
@@ -21,7 +21,6 @@ package org.apache.syncope.common.lib.to;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.AbstractBaseBean;
-import org.apache.syncope.common.lib.types.SAML2BindingType;
@XmlRootElement(name = "saml2ReceivedResponse")
@XmlType
@@ -33,8 +32,6 @@ public class SAML2ReceivedResponseTO extends AbstractBaseBean {
private String relayState;
- private SAML2BindingType bindingType;
-
public String getSamlResponse() {
return samlResponse;
}
@@ -51,12 +48,4 @@ public class SAML2ReceivedResponseTO extends AbstractBaseBean {
this.relayState = relayState;
}
- public SAML2BindingType getBindingType() {
- return bindingType;
- }
-
- public void setBindingType(final SAML2BindingType bindingType) {
- this.bindingType = bindingType;
- }
-
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/911eeda8/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java b/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java
index 04c0704..ab2959a 100644
--- a/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java
+++ b/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java
@@ -22,26 +22,19 @@ import javax.xml.bind.annotation.XmlEnum;
@XmlEnum
public enum SAML2BindingType {
- POST("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", 0),
- REDIRECT("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", 1);
+ POST("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"),
+ REDIRECT("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect");
private final String uri;
- private final int index;
-
- SAML2BindingType(final String uri, final int index) {
+ SAML2BindingType(final String uri) {
this.uri = uri;
- this.index = index;
}
public String getUri() {
return uri;
}
- public int getIndex() {
- return index;
- }
-
public static SAML2BindingType fromUri(final String uri) {
SAML2BindingType bindingType = null;
http://git-wip-us.apache.org/repos/asf/syncope/blob/911eeda8/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java
index 61d272a..9835061 100644
--- a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java
+++ b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java
@@ -196,7 +196,7 @@ public class SAML2SPLogic extends AbstractSAML2Logic<AbstractBaseBean> {
for (SAML2BindingType bindingType : SAML2BindingType.values()) {
AssertionConsumerService assertionConsumerService = new AssertionConsumerServiceBuilder().buildObject();
- assertionConsumerService.setIndex(bindingType.getIndex());
+ assertionConsumerService.setIndex(bindingType.ordinal());
assertionConsumerService.setBinding(bindingType.getUri());
assertionConsumerService.setLocation(spEntityID + urlContext + "/assertion-consumer");
spSSODescriptor.getAssertionConsumerServices().add(assertionConsumerService);
@@ -420,8 +420,7 @@ public class SAML2SPLogic extends AbstractSAML2Logic<AbstractBaseBean> {
// 2. parse the provided SAML response
Response samlResponse;
try {
- XMLObject responseObject = saml2rw.read(
- SAML2BindingType.POST, useDeflateEncoding, response.getSamlResponse());
+ XMLObject responseObject = saml2rw.read(useDeflateEncoding, response.getSamlResponse());
if (!(responseObject instanceof Response)) {
throw new IllegalArgumentException("Expected " + Response.class.getName()
+ ", got " + responseObject.getClass().getName());
@@ -587,7 +586,8 @@ public class SAML2SPLogic extends AbstractSAML2Logic<AbstractBaseBean> {
try {
// 3. generate relay state as JWT
Map<String, Object> claims = new HashMap<>();
- claims.put(JWT_CLAIM_IDP_DEFLATE, idp.isUseDeflateEncoding());
+ claims.put(JWT_CLAIM_IDP_DEFLATE,
+ idp.getBindingType() == SAML2BindingType.REDIRECT ? true : idp.isUseDeflateEncoding());
Triple<String, String, Date> relayState =
accessTokenDataBinder.generateJWT(logoutRequest.getID(), JWT_RELAY_STATE_DURATION, claims);
requestTO.setRelayState(relayState.getMiddle());
@@ -641,8 +641,7 @@ public class SAML2SPLogic extends AbstractSAML2Logic<AbstractBaseBean> {
// 3. parse the provided SAML response
LogoutResponse logoutResponse;
try {
- XMLObject responseObject = saml2rw.read(
- response.getBindingType(), useDeflateEncoding, response.getSamlResponse());
+ XMLObject responseObject = saml2rw.read(useDeflateEncoding, response.getSamlResponse());
if (!(responseObject instanceof LogoutResponse)) {
throw new IllegalArgumentException("Expected " + LogoutResponse.class.getName()
+ ", got " + responseObject.getClass().getName());
http://git-wip-us.apache.org/repos/asf/syncope/blob/911eeda8/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java
index 07b4f44..dd07cdd 100644
--- a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java
+++ b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java
@@ -126,7 +126,7 @@ public class SAML2IdPEntity {
}
public boolean isUseDeflateEncoding() {
- return bindingType == SAML2BindingType.REDIRECT ? true : useDeflateEncoding;
+ return useDeflateEncoding;
}
public void setUseDeflateEncoding(final boolean useDeflateEncoding) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/911eeda8/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java
index 11e83cf..0698b38 100644
--- a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java
+++ b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java
@@ -46,7 +46,6 @@ import org.apache.cxf.rs.security.saml.DeflateEncoderDecoder;
import org.apache.cxf.rs.security.saml.sso.SAMLProtocolResponseValidator;
import org.apache.cxf.staxutils.StaxUtils;
import org.apache.syncope.common.lib.SSOConstants;
-import org.apache.syncope.common.lib.types.SAML2BindingType;
import org.apache.syncope.core.logic.init.SAML2SPLoader;
import org.apache.wss4j.common.crypto.Merlin;
import org.apache.wss4j.common.ext.WSSecurityException;
@@ -126,12 +125,12 @@ public class SAML2ReaderWriter {
transformer.transform(source, streamResult);
}
- public XMLObject read(final SAML2BindingType bindingType, final boolean useDeflateEncoding, final String response)
+ public XMLObject read(final boolean useDeflateEncoding, final String response)
throws DataFormatException, UnsupportedEncodingException, XMLStreamException, WSSecurityException {
InputStream tokenStream;
byte[] deflatedToken = Base64.decodeBase64(response);
- tokenStream = bindingType != SAML2BindingType.POST && useDeflateEncoding
+ tokenStream = useDeflateEncoding
? new DeflateEncoderDecoder().inflateToken(deflatedToken)
: new ByteArrayInputStream(deflatedToken);
[2/2] syncope git commit: Small fixes
Posted by il...@apache.org.
Small fixes
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/dfcec0da
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/dfcec0da
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/dfcec0da
Branch: refs/heads/master
Commit: dfcec0dae64459e1de5d0653a79f2e3e1c8b909d
Parents: 0527a80
Author: Francesco Chicchiricc� <il...@apache.org>
Authored: Thu Apr 13 12:35:34 2017 +0200
Committer: Francesco Chicchiricc� <il...@apache.org>
Committed: Thu Apr 13 12:39:45 2017 +0200
----------------------------------------------------------------------
.../enduser/util/UserRequestValidatorTest.java | 39 ++++++++++----------
deb/enduser/pom.xml | 1 -
.../syncope/ext/saml2lsp/agent/Logout.java | 3 --
.../common/lib/to/SAML2ReceivedResponseTO.java | 11 ------
.../common/lib/types/SAML2BindingType.java | 13 ++-----
.../apache/syncope/core/logic/SAML2SPLogic.java | 11 +++---
.../core/logic/saml2/SAML2IdPEntity.java | 2 +-
.../core/logic/saml2/SAML2ReaderWriter.java | 5 +--
8 files changed, 31 insertions(+), 54 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/dfcec0da/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
----------------------------------------------------------------------
diff --git a/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java b/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
index 88c611a..70d4fd3 100644
--- a/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
+++ b/client/enduser/src/test/java/org/apache/syncope/client/enduser/util/UserRequestValidatorTest.java
@@ -18,6 +18,9 @@
*/
package org.apache.syncope.client.enduser.util;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
@@ -27,21 +30,23 @@ import java.util.Map;
import org.apache.syncope.client.enduser.model.CustomAttributesInfo;
import org.apache.syncope.common.lib.to.AttrTO;
import org.apache.syncope.common.lib.to.UserTO;
-import org.junit.Assert;
import org.junit.Test;
import org.springframework.core.io.ClassPathResource;
public class UserRequestValidatorTest {
+ private AttrTO attrTO(String schemaKey, String... values) {
+ return new AttrTO.Builder().schema(schemaKey).values(values).build();
+ }
+
@Test
public void testCompliant() throws IOException {
-
UserTO userTO = new UserTO();
// plain
- AttrTO firstname = buildAttrTO("firstname", "defaultFirstname");
- AttrTO surname = buildAttrTO("surname", "surnameValue");
- AttrTO additionalCtype = buildAttrTO("additional#ctype", "ctypeValue");
- AttrTO notAllowed = buildAttrTO("not_allowed", "notAllowedValue");
+ AttrTO firstname = attrTO("firstname", "defaultFirstname");
+ AttrTO surname = attrTO("surname", "surnameValue");
+ AttrTO additionalCtype = attrTO("additional#ctype", "ctypeValue");
+ AttrTO notAllowed = attrTO("not_allowed", "notAllowedValue");
userTO.getPlainAttrs().addAll(Arrays.asList(firstname, surname, notAllowed, additionalCtype));
Map<String, CustomAttributesInfo> customForm = new ObjectMapper().readValue(new ClassPathResource(
@@ -49,37 +54,33 @@ public class UserRequestValidatorTest {
});
// not allowed because of presence of notAllowed attribute
- Assert.assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
+ assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
// remove notAllowed attribute and make it compliant
userTO.getPlainAttrs().remove(notAllowed);
- Assert.assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
+ assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
// firstname must have only one defaultValue
userTO.getPlainAttrMap().get("firstname").getValues().add("notAllowedFirstnameValue");
- Assert.assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
- Assert.assertTrue(UserRequestValidator.compliant(userTO, customForm, false));
+ assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
+ assertTrue(UserRequestValidator.compliant(userTO, customForm, false));
// clean
userTO.getPlainAttrMap().get("firstname").getValues().remove("notAllowedFirstnameValue");
// derived must not be present
- AttrTO derivedNotAllowed = buildAttrTO("derivedNotAllowed");
+ AttrTO derivedNotAllowed = attrTO("derivedNotAllowed");
userTO.getDerAttrs().add(derivedNotAllowed);
- Assert.assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
+ assertFalse(UserRequestValidator.compliant(userTO, customForm, true));
// clean
userTO.getDerAttrs().clear();
// virtual
- AttrTO virtualdata = buildAttrTO("virtualdata", "defaultVirtualData");
+ AttrTO virtualdata = attrTO("virtualdata", "defaultVirtualData");
userTO.getVirAttrs().add(virtualdata);
- Assert.assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
+ assertTrue(UserRequestValidator.compliant(userTO, customForm, true));
// with empty form is compliant by definition
- Assert.assertTrue(UserRequestValidator.compliant(userTO, new HashMap<String, CustomAttributesInfo>(), true));
- }
-
- private AttrTO buildAttrTO(String schemaKey, String... values) {
- return new AttrTO.Builder().schema(schemaKey).values(values).build();
+ assertTrue(UserRequestValidator.compliant(userTO, new HashMap<String, CustomAttributesInfo>(), true));
}
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/dfcec0da/deb/enduser/pom.xml
----------------------------------------------------------------------
diff --git a/deb/enduser/pom.xml b/deb/enduser/pom.xml
index f8d8204..322b478 100644
--- a/deb/enduser/pom.xml
+++ b/deb/enduser/pom.xml
@@ -92,7 +92,6 @@ under the License.
<directory>${project.basedir}/../../client/enduser/src/main/resources</directory>
<includes>
<include>enduser.properties</include>
- <include>enduserContext.xml</include>
<include>customForm.json</include>
</includes>
<targetPath>${project.build.directory}/etc</targetPath>
http://git-wip-us.apache.org/repos/asf/syncope/blob/dfcec0da/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java b/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java
index 3ad191c..a8fe481 100644
--- a/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java
+++ b/ext/saml2sp/agent/src/main/java/org/apache/syncope/ext/saml2lsp/agent/Logout.java
@@ -31,7 +31,6 @@ import org.apache.syncope.client.lib.SyncopeClientFactoryBean;
import org.apache.syncope.common.lib.SSOConstants;
import org.apache.syncope.common.lib.to.SAML2ReceivedResponseTO;
import org.apache.syncope.common.lib.to.SAML2RequestTO;
-import org.apache.syncope.common.lib.types.SAML2BindingType;
import org.apache.syncope.common.rest.api.service.SAML2SPService;
@WebServlet(name = "logout", urlPatterns = { "/saml2sp/logout" })
@@ -116,7 +115,6 @@ public class Logout extends AbstractSAML2SPServlet {
SAML2ReceivedResponseTO receivedResponse = new SAML2ReceivedResponseTO();
receivedResponse.setSamlResponse(samlResponse);
receivedResponse.setRelayState(relayState);
- receivedResponse.setBindingType(SAML2BindingType.REDIRECT);
doLogout(receivedResponse, request, response);
}
@@ -128,7 +126,6 @@ public class Logout extends AbstractSAML2SPServlet {
// process POST binding logout response
SAML2ReceivedResponseTO receivedResponse = extract(request.getInputStream());
- receivedResponse.setBindingType(SAML2BindingType.POST);
doLogout(receivedResponse, request, response);
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/dfcec0da/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java b/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java
index b8d82ae..3d5d9b4 100644
--- a/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java
+++ b/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/to/SAML2ReceivedResponseTO.java
@@ -21,7 +21,6 @@ package org.apache.syncope.common.lib.to;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
import org.apache.syncope.common.lib.AbstractBaseBean;
-import org.apache.syncope.common.lib.types.SAML2BindingType;
@XmlRootElement(name = "saml2ReceivedResponse")
@XmlType
@@ -33,8 +32,6 @@ public class SAML2ReceivedResponseTO extends AbstractBaseBean {
private String relayState;
- private SAML2BindingType bindingType;
-
public String getSamlResponse() {
return samlResponse;
}
@@ -51,12 +48,4 @@ public class SAML2ReceivedResponseTO extends AbstractBaseBean {
this.relayState = relayState;
}
- public SAML2BindingType getBindingType() {
- return bindingType;
- }
-
- public void setBindingType(final SAML2BindingType bindingType) {
- this.bindingType = bindingType;
- }
-
}
http://git-wip-us.apache.org/repos/asf/syncope/blob/dfcec0da/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java b/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java
index 04c0704..ab2959a 100644
--- a/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java
+++ b/ext/saml2sp/common-lib/src/main/java/org/apache/syncope/common/lib/types/SAML2BindingType.java
@@ -22,26 +22,19 @@ import javax.xml.bind.annotation.XmlEnum;
@XmlEnum
public enum SAML2BindingType {
- POST("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST", 0),
- REDIRECT("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect", 1);
+ POST("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"),
+ REDIRECT("urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect");
private final String uri;
- private final int index;
-
- SAML2BindingType(final String uri, final int index) {
+ SAML2BindingType(final String uri) {
this.uri = uri;
- this.index = index;
}
public String getUri() {
return uri;
}
- public int getIndex() {
- return index;
- }
-
public static SAML2BindingType fromUri(final String uri) {
SAML2BindingType bindingType = null;
http://git-wip-us.apache.org/repos/asf/syncope/blob/dfcec0da/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java
index 61d272a..9835061 100644
--- a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java
+++ b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/SAML2SPLogic.java
@@ -196,7 +196,7 @@ public class SAML2SPLogic extends AbstractSAML2Logic<AbstractBaseBean> {
for (SAML2BindingType bindingType : SAML2BindingType.values()) {
AssertionConsumerService assertionConsumerService = new AssertionConsumerServiceBuilder().buildObject();
- assertionConsumerService.setIndex(bindingType.getIndex());
+ assertionConsumerService.setIndex(bindingType.ordinal());
assertionConsumerService.setBinding(bindingType.getUri());
assertionConsumerService.setLocation(spEntityID + urlContext + "/assertion-consumer");
spSSODescriptor.getAssertionConsumerServices().add(assertionConsumerService);
@@ -420,8 +420,7 @@ public class SAML2SPLogic extends AbstractSAML2Logic<AbstractBaseBean> {
// 2. parse the provided SAML response
Response samlResponse;
try {
- XMLObject responseObject = saml2rw.read(
- SAML2BindingType.POST, useDeflateEncoding, response.getSamlResponse());
+ XMLObject responseObject = saml2rw.read(useDeflateEncoding, response.getSamlResponse());
if (!(responseObject instanceof Response)) {
throw new IllegalArgumentException("Expected " + Response.class.getName()
+ ", got " + responseObject.getClass().getName());
@@ -587,7 +586,8 @@ public class SAML2SPLogic extends AbstractSAML2Logic<AbstractBaseBean> {
try {
// 3. generate relay state as JWT
Map<String, Object> claims = new HashMap<>();
- claims.put(JWT_CLAIM_IDP_DEFLATE, idp.isUseDeflateEncoding());
+ claims.put(JWT_CLAIM_IDP_DEFLATE,
+ idp.getBindingType() == SAML2BindingType.REDIRECT ? true : idp.isUseDeflateEncoding());
Triple<String, String, Date> relayState =
accessTokenDataBinder.generateJWT(logoutRequest.getID(), JWT_RELAY_STATE_DURATION, claims);
requestTO.setRelayState(relayState.getMiddle());
@@ -641,8 +641,7 @@ public class SAML2SPLogic extends AbstractSAML2Logic<AbstractBaseBean> {
// 3. parse the provided SAML response
LogoutResponse logoutResponse;
try {
- XMLObject responseObject = saml2rw.read(
- response.getBindingType(), useDeflateEncoding, response.getSamlResponse());
+ XMLObject responseObject = saml2rw.read(useDeflateEncoding, response.getSamlResponse());
if (!(responseObject instanceof LogoutResponse)) {
throw new IllegalArgumentException("Expected " + LogoutResponse.class.getName()
+ ", got " + responseObject.getClass().getName());
http://git-wip-us.apache.org/repos/asf/syncope/blob/dfcec0da/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java
index bd861d1..6b75472 100644
--- a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java
+++ b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2IdPEntity.java
@@ -127,7 +127,7 @@ public class SAML2IdPEntity {
}
public boolean isUseDeflateEncoding() {
- return bindingType == SAML2BindingType.REDIRECT ? true : useDeflateEncoding;
+ return useDeflateEncoding;
}
public void setUseDeflateEncoding(final boolean useDeflateEncoding) {
http://git-wip-us.apache.org/repos/asf/syncope/blob/dfcec0da/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java
----------------------------------------------------------------------
diff --git a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java
index 4c1878f..429c088 100644
--- a/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java
+++ b/ext/saml2sp/logic/src/main/java/org/apache/syncope/core/logic/saml2/SAML2ReaderWriter.java
@@ -46,7 +46,6 @@ import org.apache.cxf.rs.security.saml.DeflateEncoderDecoder;
import org.apache.cxf.rs.security.saml.sso.SAMLProtocolResponseValidator;
import org.apache.cxf.staxutils.StaxUtils;
import org.apache.syncope.common.lib.SSOConstants;
-import org.apache.syncope.common.lib.types.SAML2BindingType;
import org.apache.syncope.core.logic.init.SAML2SPLoader;
import org.apache.wss4j.common.crypto.Merlin;
import org.apache.wss4j.common.ext.WSSecurityException;
@@ -126,12 +125,12 @@ public class SAML2ReaderWriter {
transformer.transform(source, streamResult);
}
- public XMLObject read(final SAML2BindingType bindingType, final boolean useDeflateEncoding, final String response)
+ public XMLObject read(final boolean useDeflateEncoding, final String response)
throws DataFormatException, UnsupportedEncodingException, XMLStreamException, WSSecurityException {
InputStream tokenStream;
byte[] deflatedToken = Base64.getDecoder().decode(response);
- tokenStream = bindingType != SAML2BindingType.POST && useDeflateEncoding
+ tokenStream = useDeflateEncoding
? new DeflateEncoderDecoder().inflateToken(deflatedToken)
: new ByteArrayInputStream(deflatedToken);