aboutsummaryrefslogtreecommitdiff
path: root/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding
diff options
context:
space:
mode:
authorThomas Lenz <tlenz@iaik.tugraz.at>2015-07-03 12:55:34 +0200
committerThomas Lenz <tlenz@iaik.tugraz.at>2015-07-03 12:55:34 +0200
commit91dfafd601d12d91347b1c09efb47d8f14da8760 (patch)
treeaa9605403509392018dd06465a385b0a6d9ab327 /id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding
parenta1ee0567607fe43909cd7fc1b75ace3197a2fa0b (diff)
downloadmoa-id-spss-91dfafd601d12d91347b1c09efb47d8f14da8760.tar.gz
moa-id-spss-91dfafd601d12d91347b1c09efb47d8f14da8760.tar.bz2
moa-id-spss-91dfafd601d12d91347b1c09efb47d8f14da8760.zip
fix problems with dynamic PVP2X metadata refresh
Diffstat (limited to 'id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding')
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/PostBinding.java11
-rw-r--r--id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/RedirectBinding.java4
2 files changed, 10 insertions, 5 deletions
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/PostBinding.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/PostBinding.java
index 1a268c812..5402e3dce 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/PostBinding.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/PostBinding.java
@@ -62,6 +62,7 @@ import at.gv.egovernment.moa.id.protocols.pvp2x.signer.CredentialProvider;
import at.gv.egovernment.moa.id.protocols.pvp2x.signer.CredentialsNotAvailableException;
import at.gv.egovernment.moa.id.util.VelocityProvider;
import at.gv.egovernment.moa.logging.Logger;
+import at.gv.egovernment.moa.util.MiscUtil;
public class PostBinding implements IDecoder, IEncoder {
@@ -170,10 +171,12 @@ public class PostBinding implements IDecoder, IEncoder {
RequestAbstractType inboundMessage = (RequestAbstractType) messageContext
.getInboundMessage();
msg = new MOARequest(inboundMessage, getSAML2BindingName());
+ msg.setEntityID(inboundMessage.getIssuer().getValue());
} else if (messageContext.getInboundMessage() instanceof StatusResponseType){
- StatusResponseType inboundMessage = (StatusResponseType) messageContext.getInboundMessage();
+ StatusResponseType inboundMessage = (StatusResponseType) messageContext.getInboundMessage();
msg = new MOAResponse(inboundMessage);
+ msg.setEntityID(inboundMessage.getIssuer().getValue());
} else
//create empty container if request type is unknown
@@ -182,8 +185,10 @@ public class PostBinding implements IDecoder, IEncoder {
if (messageContext.getPeerEntityMetadata() != null)
msg.setEntityID(messageContext.getPeerEntityMetadata().getEntityID());
- else
- Logger.info("No Metadata found for OA with EntityID " + messageContext.getInboundMessageIssuer());
+ else {
+ if (MiscUtil.isEmpty(msg.getEntityID()))
+ Logger.info("No Metadata found for OA with EntityID " + messageContext.getInboundMessageIssuer());
+ }
msg.setVerified(false);
msg.setRelayState(messageContext.getRelayState());
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/RedirectBinding.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/RedirectBinding.java
index 0b6cb6eea..81863f48f 100644
--- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/RedirectBinding.java
+++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/pvp2x/binding/RedirectBinding.java
@@ -178,12 +178,12 @@ public class RedirectBinding implements IDecoder, IEncoder {
signatureRule.evaluate(messageContext);
} catch (SecurityException e) {
- if (MiscUtil.isEmpty(messageContext.getPeerEntityId())) {
+ if (MiscUtil.isEmpty(messageContext.getInboundMessageIssuer())) {
throw e;
}
Logger.debug("PVP2X message validation FAILED. Relead metadata for entityID: " + messageContext.getPeerEntityId());
- if (!MOAMetadataProvider.getInstance().refreshMetadataProvider(messageContext.getPeerEntityId()))
+ if (!MOAMetadataProvider.getInstance().refreshMetadataProvider(messageContext.getInboundMessageIssuer()))
throw e;
else {