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