From 3bf387c8828fdd388155704fd64f9bcd84bc3e7a Mon Sep 17 00:00:00 2001 From: Rohit Yadav Date: Mon, 25 Aug 2014 02:39:50 +0200 Subject: [PATCH] SAMLUtils: Create new NameID using passed nameId taking just id and session idx Signed-off-by: Rohit Yadav --- .../src/org/apache/cloudstack/utils/auth/SAMLUtils.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java b/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java index a238c82bf4c..51cf5074bd1 100644 --- a/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java +++ b/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java @@ -40,6 +40,7 @@ import org.opensaml.saml2.core.impl.AuthnContextClassRefBuilder; import org.opensaml.saml2.core.impl.AuthnRequestBuilder; import org.opensaml.saml2.core.impl.IssuerBuilder; import org.opensaml.saml2.core.impl.LogoutRequestBuilder; +import org.opensaml.saml2.core.impl.NameIDBuilder; import org.opensaml.saml2.core.impl.NameIDPolicyBuilder; import org.opensaml.saml2.core.impl.RequestedAuthnContextBuilder; import org.opensaml.saml2.core.impl.SessionIndexBuilder; @@ -138,7 +139,7 @@ public class SAMLUtils { return authnRequest; } - public static LogoutRequest buildLogoutRequest(String logoutUrl, String spId, NameID nameId, String sessionIndex) { + public static LogoutRequest buildLogoutRequest(String logoutUrl, String spId, NameID sessionNameId, String sessionIndex) { IssuerBuilder issuerBuilder = new IssuerBuilder(); Issuer issuer = issuerBuilder.buildObject(); issuer.setValue(spId); @@ -146,6 +147,10 @@ public class SAMLUtils { SessionIndex sessionIndexElement = new SessionIndexBuilder().buildObject(); sessionIndexElement.setSessionIndex(sessionIndex); + NameID nameID = new NameIDBuilder().buildObject(); + nameID.setValue(sessionNameId.getValue()); + nameID.setFormat(sessionNameId.getFormat()); + LogoutRequest logoutRequest = new LogoutRequestBuilder().buildObject(); logoutRequest.setID(generateSecureRandomId()); logoutRequest.setDestination(logoutUrl); @@ -153,7 +158,7 @@ public class SAMLUtils { logoutRequest.setIssueInstant(new DateTime()); logoutRequest.setIssuer(issuer); logoutRequest.getSessionIndexes().add(sessionIndexElement); - logoutRequest.setNameID(nameId); + logoutRequest.setNameID(nameID); return logoutRequest; }