public void importMetadataIntoSettings()

in saml-authentication-server/src/main/java/jetbrains/buildServer/auth/saml/plugin/SamlAuthenticationScheme.java [377:401]


    public void importMetadataIntoSettings(String metadataXml, SamlPluginSettings settings) throws XPathException, CertificateEncodingException {
        var documentMetadata = Util.loadXML(metadataXml);

        Map<String, Object> metadataInfo = IdPMetadataParser.parseXML(documentMetadata);

        var saml2Settings = new Saml2Settings();
        IdPMetadataParser.injectIntoSettings(saml2Settings, metadataInfo);

        settings.setIssuerUrl(saml2Settings.getIdpEntityId());
        settings.setSsoEndpoint(saml2Settings.getIdpSingleSignOnServiceUrl().toString());

        settings.setPublicCertificate(null);
        X509Certificate primaryCertificate = saml2Settings.getIdpx509cert();
        if (primaryCertificate != null) {
            settings.setPublicCertificate(getCertificateBase64Encoded(primaryCertificate));
        }

        if (saml2Settings.getIdpx509certMulti() != null) {
            settings.getAdditionalCerts().clear();
            for(X509Certificate cert : saml2Settings.getIdpx509certMulti()) {
                var encoded = getCertificateBase64Encoded(cert);
                settings.getAdditionalCerts().add(encoded);
            }
        }
    }