in plugins/core/src/main/java/org/apache/cxf/fediz/core/samlsso/DefaultSAMLPRequestBuilder.java [113:155]
public LogoutRequest createLogoutRequest(
String issuerId,
String reason,
SamlAssertionWrapper authenticatedAssertion
) throws Exception {
Issuer issuer =
SamlpRequestComponentBuilder.createIssuer(issuerId);
NameID nameID = null;
List<String> sessionIndices = new ArrayList<>();
if (authenticatedAssertion != null) {
if (authenticatedAssertion.getSaml2() != null) {
org.opensaml.saml.saml2.core.Subject subject =
authenticatedAssertion.getSaml2().getSubject();
if (subject != null && subject.getNameID() != null) {
nameID = subject.getNameID();
}
}
if (nameID != null) {
nameID.detach();
}
List<AuthnStatement> authnStatements =
authenticatedAssertion.getSaml2().getAuthnStatements();
if (authnStatements != null && !authnStatements.isEmpty()) {
for (AuthnStatement authnStatement : authnStatements) {
if (authnStatement.getSessionIndex() != null) {
sessionIndices.add(authnStatement.getSessionIndex());
}
}
}
}
//CHECKSTYLE:OFF
return SamlpRequestComponentBuilder.createLogoutRequest(
issuer,
reason,
nameID,
sessionIndices
);
}