From 9e8e940cc844d589baf9cb3d1af41f1487131688 Mon Sep 17 00:00:00 2001 From: pfurio Date: Tue, 25 Jun 2024 17:42:02 +0200 Subject: [PATCH] catalog: ensure local authOrigin is always OK, #TASK-5979 --- .../opencga/catalog/managers/OrganizationManager.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/OrganizationManager.java b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/OrganizationManager.java index a2f642427d6..a1a49273086 100644 --- a/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/OrganizationManager.java +++ b/opencga-catalog/src/main/java/org/opencb/opencga/catalog/managers/OrganizationManager.java @@ -351,6 +351,14 @@ public OpenCGAResult updateConfiguration(String organ throw new CatalogParameterException("Found duplicated authentication origin id '" + authenticationOrigin.getId() + "'."); } + // Check authOrigin OPENCGA-OPENCGA + if ((authenticationOrigin.getType().equals(AuthenticationOrigin.AuthenticationType.OPENCGA) + && !CatalogAuthenticationManager.OPENCGA.equals(authenticationOrigin.getId())) + || (!authenticationOrigin.getType().equals(AuthenticationOrigin.AuthenticationType.OPENCGA) + && CatalogAuthenticationManager.OPENCGA.equals(authenticationOrigin.getId()))) { + throw new CatalogParameterException("AuthenticationOrigin type '" + AuthenticationOrigin.AuthenticationType.OPENCGA + + "' must go together with id '" + CatalogAuthenticationManager.OPENCGA + "'."); + } updateAuthOriginIds.add(authenticationOrigin.getId()); if (i > 0) { authOriginUpdateBuilder.append(", ");