in saml-authentication-server/src/main/java/jetbrains/buildServer/auth/saml/plugin/SamlSettingsJsonController.java [51:81]
public JsonActionResult<SamlPluginSettings> importMetadata(HttpServletRequest request) {
if (!permissionsManager.canWriteSettings(request)) {
return JsonActionResult.forbidden();
}
try {
var metadataImport = bindFromRequest(request, MetadataImport.class);
if (metadataImport == null) {
throw new Exception("Invalid request");
}
var metadataXml = metadataImport.getMetadataXml();
var getSettingsResult = this.getSettings(request);
if (getSettingsResult.getErrors() != null) {
return JsonActionResult.fail(getSettingsResult.getErrors());
}
var result = getSettingsResult.getResult();
SamlPluginSettings settings = result.getSettings();
this.samlAuthenticationScheme.importMetadataIntoSettings(metadataXml, settings);
return JsonActionResult.ok(settings);
} catch (Exception e) {
log.error(e.getMessage(), e);
return JsonActionResult.fail(e);
}
}