public LogoutRequest createLogoutRequest()

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
        );
    }