Skip to content

Commit 3bf387c

Browse files
committed
SAMLUtils: Create new NameID using passed nameId taking just id and session idx
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
1 parent 8dc5092 commit 3bf387c

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

utils/src/org/apache/cloudstack/utils/auth/SAMLUtils.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import org.opensaml.saml2.core.impl.AuthnRequestBuilder;
4141
import org.opensaml.saml2.core.impl.IssuerBuilder;
4242
import org.opensaml.saml2.core.impl.LogoutRequestBuilder;
43+
import org.opensaml.saml2.core.impl.NameIDBuilder;
4344
import org.opensaml.saml2.core.impl.NameIDPolicyBuilder;
4445
import org.opensaml.saml2.core.impl.RequestedAuthnContextBuilder;
4546
import org.opensaml.saml2.core.impl.SessionIndexBuilder;
@@ -138,22 +139,26 @@ public static AuthnRequest buildAuthnRequestObject(String spId, String idpUrl, S
138139
return authnRequest;
139140
}
140141

141-
public static LogoutRequest buildLogoutRequest(String logoutUrl, String spId, NameID nameId, String sessionIndex) {
142+
public static LogoutRequest buildLogoutRequest(String logoutUrl, String spId, NameID sessionNameId, String sessionIndex) {
142143
IssuerBuilder issuerBuilder = new IssuerBuilder();
143144
Issuer issuer = issuerBuilder.buildObject();
144145
issuer.setValue(spId);
145146

146147
SessionIndex sessionIndexElement = new SessionIndexBuilder().buildObject();
147148
sessionIndexElement.setSessionIndex(sessionIndex);
148149

150+
NameID nameID = new NameIDBuilder().buildObject();
151+
nameID.setValue(sessionNameId.getValue());
152+
nameID.setFormat(sessionNameId.getFormat());
153+
149154
LogoutRequest logoutRequest = new LogoutRequestBuilder().buildObject();
150155
logoutRequest.setID(generateSecureRandomId());
151156
logoutRequest.setDestination(logoutUrl);
152157
logoutRequest.setVersion(SAMLVersion.VERSION_20);
153158
logoutRequest.setIssueInstant(new DateTime());
154159
logoutRequest.setIssuer(issuer);
155160
logoutRequest.getSessionIndexes().add(sessionIndexElement);
156-
logoutRequest.setNameID(nameId);
161+
logoutRequest.setNameID(nameID);
157162
return logoutRequest;
158163
}
159164

0 commit comments

Comments
 (0)