SAMLUtils: Create new NameID using passed nameId taking just id and session idx
Signed-off-by: Rohit Yadav <rohit.ya...@shapeblue.com> Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/3bf387c8 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/3bf387c8 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/3bf387c8 Branch: refs/heads/master Commit: 3bf387c8828fdd388155704fd64f9bcd84bc3e7a Parents: 8dc5092 Author: Rohit Yadav <rohit.ya...@shapeblue.com> Authored: Mon Aug 25 02:39:50 2014 +0200 Committer: Rohit Yadav <rohit.ya...@shapeblue.com> Committed: Thu Aug 28 19:45:26 2014 +0200 ---------------------------------------------------------------------- utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/3bf387c8/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java ---------------------------------------------------------------------- diff --git a/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java b/utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java index a238c82..51cf507 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; }