public static Saml2Settings buildSettings()

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


    public static Saml2Settings buildSettings(SamlPluginSettings pluginSettings, URL callbackUrl) throws IOException {
        Map<String, Object> samlData = new HashMap<>();
        samlData.put(SettingsBuilder.IDP_SINGLE_SIGN_ON_SERVICE_URL_PROPERTY_KEY, pluginSettings.getSsoEndpoint());
        samlData.put(SettingsBuilder.IDP_ENTITYID_PROPERTY_KEY, pluginSettings.getIssuerUrl());
        samlData.put(SettingsBuilder.SP_ENTITYID_PROPERTY_KEY, pluginSettings.getEntityId());
        samlData.put(SettingsBuilder.SP_ASSERTION_CONSUMER_SERVICE_URL_PROPERTY_KEY, callbackUrl);
        samlData.put(SettingsBuilder.IDP_X509CERT_PROPERTY_KEY, pluginSettings.getPublicCertificate());
        samlData.put(SettingsBuilder.COMPRESS_REQUEST, pluginSettings.isCompressRequest());
        samlData.put(SettingsBuilder.STRICT_PROPERTY_KEY, pluginSettings.isStrict());

        for (int i = 0; i < pluginSettings.getAdditionalCerts().size(); i++) {
            var cert = pluginSettings.getAdditionalCerts().get(i);
            samlData.put(SettingsBuilder.IDP_X509CERTMULTI_PROPERTY_KEY + "." + i, cert);
        }

        var builder = new SettingsBuilder();
        var samlSettings = builder.fromValues(samlData).build();

        var errors = samlSettings.checkSettings();

        if (!errors.isEmpty()) {
            throw new IOException(String.format("Failed to configure SAML processor: %s", String.join(", ", errors)));
        }

        return samlSettings;
    }