diff --git a/api-server/src/main/java/org/gluu/oxtrust/api/server/api/impl/BaseWebResource.java b/api-server/src/main/java/org/gluu/oxtrust/api/server/api/impl/BaseWebResource.java index 415dbc2ae..8c4fa90ec 100644 --- a/api-server/src/main/java/org/gluu/oxtrust/api/server/api/impl/BaseWebResource.java +++ b/api-server/src/main/java/org/gluu/oxtrust/api/server/api/impl/BaseWebResource.java @@ -12,7 +12,7 @@ @OpenAPIDefinition ( info = @Info ( title = "oxTrust API", - version = "4.6.0", + version = "4.5.4", description = "This is an API for Gluu Server's oxTrust administrative interface. Go to https://gluu.org for more information", termsOfService = "https://gluu.org/gluu-terms-and-conditions/", contact = @Contact(url="https://support.gluu.org/",name="Gluu Support",email="support@gluu.org"), diff --git a/api-server/src/main/resources/META-INF/openapi.json b/api-server/src/main/resources/META-INF/openapi.json index ba00d7bf3..f5850f3e6 100644 --- a/api-server/src/main/resources/META-INF/openapi.json +++ b/api-server/src/main/resources/META-INF/openapi.json @@ -13,7 +13,7 @@ "name" : "Gluu Support License", "url" : "https://gluu.org/" }, - "version" : "4.6.0" + "version" : "4.5.3" }, "paths" : { "/configuration/api" : { @@ -173,26 +173,18 @@ } } }, - "/api/v1/attributes/attribute/{inum}" : { + "/api/v1/attributes/inactive" : { "get" : { - "summary" : "Get attribute by inum", - "description" : "Get an attribute by inum", - "operationId" : "getAttributeByInum", - "parameters" : [ { - "name" : "inum", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } ], + "summary" : "Get all inactive attributes", + "description" : "Gets all inative attributes", + "operationId" : "getAllInactiveAttributes", "responses" : { "200" : { "description" : "success", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/GluuAttribute" + "type" : "string" } } } @@ -206,34 +198,18 @@ } ] } }, - "/api/v1/attributes/search" : { + "/api/v1/attributes/active" : { "get" : { - "summary" : "Search attributes", - "description" : "Perform an attribute search", - "operationId" : "searchAttributes", - "parameters" : [ { - "name" : "pattern", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "size", - "in" : "query", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1 - } - } ], + "summary" : "Get all active attributes", + "description" : "Gets all the active gluu attributes", + "operationId" : "getAllActiveAttributes", "responses" : { "200" : { "description" : "success", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/GluuAttribute" + "type" : "string" } } } @@ -276,18 +252,34 @@ } ] } }, - "/api/v1/attributes/active" : { + "/api/v1/attributes/search" : { "get" : { - "summary" : "Get all active attributes", - "description" : "Gets all the active gluu attributes", - "operationId" : "getAllActiveAttributes", + "summary" : "Search attributes", + "description" : "Perform an attribute search", + "operationId" : "searchAttributes", + "parameters" : [ { + "name" : "pattern", + "in" : "query", + "required" : true, + "schema" : { + "type" : "string" + } + }, { + "name" : "size", + "in" : "query", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1 + } + } ], "responses" : { "200" : { "description" : "success", "content" : { "application/json" : { "schema" : { - "type" : "string" + "$ref" : "#/components/schemas/GluuAttribute" } } } @@ -301,18 +293,26 @@ } ] } }, - "/api/v1/attributes/inactive" : { + "/api/v1/attributes/attribute/{inum}" : { "get" : { - "summary" : "Get all inactive attributes", - "description" : "Gets all inative attributes", - "operationId" : "getAllInactiveAttributes", + "summary" : "Get attribute by inum", + "description" : "Get an attribute by inum", + "operationId" : "getAttributeByInum", + "parameters" : [ { + "name" : "inum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } ], "responses" : { "200" : { "description" : "success", "content" : { "application/json" : { "schema" : { - "type" : "string" + "$ref" : "#/components/schemas/GluuAttribute" } } } @@ -616,25 +616,24 @@ } } }, - "/api/v1/clients/search" : { - "get" : { - "summary" : "Search OIDC clients", - "description" : "Search OIDC clients", - "operationId" : "searchClients", + "/api/v1/clients/{inum}/scopes/{sinum}" : { + "post" : { + "summary" : "Add OIDC client scopes", + "description" : "Add scopes to OIDC client", + "operationId" : "addScopeToClient", "parameters" : [ { - "name" : "pattern", - "in" : "query", + "name" : "inum", + "in" : "path", "required" : true, "schema" : { "type" : "string" } }, { - "name" : "size", - "in" : "query", + "name" : "sinum", + "in" : "path", + "required" : true, "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1 + "type" : "string" } } ], "responses" : { @@ -653,15 +652,13 @@ } }, "security" : [ { - "oauth2" : [ "https://gluu.org/auth/oxtrust.client.read" ] + "oauth2" : [ "https://gluu.org/auth/oxtrust.client.write" ] } ] - } - }, - "/api/v1/clients/{inum}/scopes" : { - "get" : { - "summary" : "Get assigned OIDC client scopes", - "description" : "Get OIDC scopes assign to OIDC client", - "operationId" : "getClientScope", + }, + "delete" : { + "summary" : "Remove OIDC client scope", + "description" : "Remove an existing scope from client", + "operationId" : "removeScopeToClient", "parameters" : [ { "name" : "inum", "in" : "path", @@ -669,6 +666,13 @@ "schema" : { "type" : "string" } + }, { + "name" : "sinum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } } ], "responses" : { "200" : { @@ -683,33 +687,52 @@ }, "500" : { "description" : "Server error" - }, - "404" : { - "description" : "Not Found" } }, "security" : [ { - "oauth2" : [ "https://gluu.org/auth/oxtrust.client.read" ] + "oauth2" : [ "https://gluu.org/auth/oxtrust.client.write" ] } ] - }, - "delete" : { - "operationId" : "deleteClientScopes", + } + }, + "/api/v1/clients/search" : { + "get" : { + "summary" : "Search OIDC clients", + "description" : "Search OIDC clients", + "operationId" : "searchClients", "parameters" : [ { - "name" : "inum", - "in" : "path", + "name" : "pattern", + "in" : "query", "required" : true, "schema" : { "type" : "string" } + }, { + "name" : "size", + "in" : "query", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1 + } } ], "responses" : { - "default" : { - "description" : "default response", + "200" : { + "description" : "Success", "content" : { - "application/json" : { } + "application/json" : { + "schema" : { + "type" : "string" + } + } } + }, + "500" : { + "description" : "Server error" } - } + }, + "security" : [ { + "oauth2" : [ "https://gluu.org/auth/oxtrust.client.read" ] + } ] } }, "/api/v1/clients/{inum}" : { @@ -776,11 +799,11 @@ } ] } }, - "/api/v1/clients/{inum}/scopes/{sinum}" : { - "post" : { - "summary" : "Add OIDC client scopes", - "description" : "Add scopes to OIDC client", - "operationId" : "addScopeToClient", + "/api/v1/clients/{inum}/scopes" : { + "get" : { + "summary" : "Get assigned OIDC client scopes", + "description" : "Get OIDC scopes assign to OIDC client", + "operationId" : "getClientScope", "parameters" : [ { "name" : "inum", "in" : "path", @@ -788,13 +811,6 @@ "schema" : { "type" : "string" } - }, { - "name" : "sinum", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } } ], "responses" : { "200" : { @@ -809,16 +825,17 @@ }, "500" : { "description" : "Server error" + }, + "404" : { + "description" : "Not Found" } }, "security" : [ { - "oauth2" : [ "https://gluu.org/auth/oxtrust.client.write" ] + "oauth2" : [ "https://gluu.org/auth/oxtrust.client.read" ] } ] }, "delete" : { - "summary" : "Remove OIDC client scope", - "description" : "Remove an existing scope from client", - "operationId" : "removeScopeToClient", + "operationId" : "deleteClientScopes", "parameters" : [ { "name" : "inum", "in" : "path", @@ -826,32 +843,15 @@ "schema" : { "type" : "string" } - }, { - "name" : "sinum", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } } ], "responses" : { - "200" : { - "description" : "Success", + "default" : { + "description" : "default response", "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } + "application/json" : { } } - }, - "500" : { - "description" : "Server error" } - }, - "security" : [ { - "oauth2" : [ "https://gluu.org/auth/oxtrust.client.write" ] - } ] + } } }, "/api/v1/configuration" : { @@ -879,18 +879,26 @@ } ] } }, - "/api/v1/configuration/scripts" : { + "/api/v1/configuration/scripts/{inum}" : { "get" : { - "summary" : "Get all custom scripts", - "description" : "Get all custom scripts", - "operationId" : "listCustomScripts", + "summary" : "Get scripts by inum", + "description" : "Get scripts by inum", + "operationId" : "getCustomScriptsByInum", + "parameters" : [ { + "name" : "inum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } ], "responses" : { "200" : { "description" : "Success", "content" : { "application/json" : { "schema" : { - "type" : "string" + "$ref" : "#/components/schemas/CustomScript" } } } @@ -903,55 +911,48 @@ "oauth2" : [ "https://gluu.org/auth/oxtrust.customscript.read" ] } ] }, - "put" : { - "summary" : "Update custom script", - "description" : "Update custom script", - "operationId" : "updateCustomScript", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CustomScript" - } - } + "delete" : { + "summary" : "Delete custom script", + "description" : "Delete an custom script", + "operationId" : "deleteCustomScript", + "parameters" : [ { + "name" : "inum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" } - }, + } ], "responses" : { "200" : { - "description" : "Success", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CustomScript" - } - } - } + "description" : "Success" }, "500" : { "description" : "Server error" } } - }, - "post" : { - "summary" : "Add new custom script", - "description" : "Add new custom script", - "operationId" : "createCustomScript", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/CustomScript" - } - } + } + }, + "/api/v1/configuration/scripts/type/{type}" : { + "get" : { + "summary" : "Get person auth scripts", + "description" : "Get person authentications scripts", + "operationId" : "listCustomScriptsByType", + "parameters" : [ { + "name" : "type", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" } - }, + } ], "responses" : { "200" : { "description" : "Success", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CustomScript" + "type" : "string" } } } @@ -959,29 +960,24 @@ "500" : { "description" : "Server error" } - } + }, + "security" : [ { + "oauth2" : [ "https://gluu.org/auth/oxtrust.customscript.read" ] + } ] } }, - "/api/v1/configuration/scripts/{inum}" : { + "/api/v1/configuration/scripts" : { "get" : { - "summary" : "Get scripts by inum", - "description" : "Get scripts by inum", - "operationId" : "getCustomScriptsByInum", - "parameters" : [ { - "name" : "inum", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } ], + "summary" : "Get all custom scripts", + "description" : "Get all custom scripts", + "operationId" : "listCustomScripts", "responses" : { "200" : { "description" : "Success", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/CustomScript" + "type" : "string" } } } @@ -994,48 +990,55 @@ "oauth2" : [ "https://gluu.org/auth/oxtrust.customscript.read" ] } ] }, - "delete" : { - "summary" : "Delete custom script", - "description" : "Delete an custom script", - "operationId" : "deleteCustomScript", - "parameters" : [ { - "name" : "inum", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" + "put" : { + "summary" : "Update custom script", + "description" : "Update custom script", + "operationId" : "updateCustomScript", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CustomScript" + } + } } - } ], + }, "responses" : { "200" : { - "description" : "Success" + "description" : "Success", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CustomScript" + } + } + } }, "500" : { "description" : "Server error" } } - } - }, - "/api/v1/configuration/scripts/type/{type}" : { - "get" : { - "summary" : "Get person auth scripts", - "description" : "Get person authentications scripts", - "operationId" : "listCustomScriptsByType", - "parameters" : [ { - "name" : "type", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" + }, + "post" : { + "summary" : "Add new custom script", + "description" : "Add new custom script", + "operationId" : "createCustomScript", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/CustomScript" + } + } } - } ], + }, "responses" : { "200" : { "description" : "Success", "content" : { "application/json" : { "schema" : { - "type" : "string" + "$ref" : "#/components/schemas/CustomScript" } } } @@ -1043,10 +1046,7 @@ "500" : { "description" : "Server error" } - }, - "security" : [ { - "oauth2" : [ "https://gluu.org/auth/oxtrust.customscript.read" ] - } ] + } } }, "/api/v1/groups" : { @@ -1189,26 +1189,18 @@ } } }, - "/api/v1/groups/search" : { + "/api/v1/groups/{inum}/members" : { "get" : { - "summary" : "Search groups", - "description" : "Search groups", - "operationId" : "searchGroups", + "summary" : "Get group members", + "description" : "Get a group members", + "operationId" : "getGroupMembers", "parameters" : [ { - "name" : "pattern", - "in" : "query", + "name" : "inum", + "in" : "path", "required" : true, "schema" : { "type" : "string" } - }, { - "name" : "size", - "in" : "query", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 1 - } } ], "responses" : { "200" : { @@ -1225,6 +1217,27 @@ "description" : "Server error" } } + }, + "delete" : { + "summary" : "Delete group member", + "description" : "Delete group member", + "operationId" : "deleteGroupMembers", + "parameters" : [ { + "name" : "inum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "default" : { + "description" : "default response", + "content" : { + "application/json" : { } + } + } + } } }, "/api/v1/groups/{inum}/members/{minum}" : { @@ -1292,18 +1305,26 @@ } } }, - "/api/v1/groups/{inum}/members" : { + "/api/v1/groups/search" : { "get" : { - "summary" : "Get group members", - "description" : "Get a group members", - "operationId" : "getGroupMembers", + "summary" : "Search groups", + "description" : "Search groups", + "operationId" : "searchGroups", "parameters" : [ { - "name" : "inum", - "in" : "path", + "name" : "pattern", + "in" : "query", "required" : true, "schema" : { "type" : "string" } + }, { + "name" : "size", + "in" : "query", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 1 + } } ], "responses" : { "200" : { @@ -1320,27 +1341,6 @@ "description" : "Server error" } } - }, - "delete" : { - "summary" : "Delete group member", - "description" : "Delete group member", - "operationId" : "deleteGroupMembers", - "parameters" : [ { - "name" : "inum", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "default" : { - "description" : "default response", - "content" : { - "application/json" : { } - } - } - } } }, "/configuration/idp" : { @@ -1468,33 +1468,6 @@ } } }, - "/api/v1/configuration/ldap/{name}/status" : { - "get" : { - "summary" : "Check the status of an existing configuration", - "description" : "Check the status of an existing configuration", - "operationId" : "getLdapConfigurationStatusByName", - "parameters" : [ { - "name" : "name", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Success", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/ConnectionStatusDTO" - } - } - } - } - } - } - }, "/api/v1/configuration/ldap/{name}" : { "delete" : { "summary" : "Delete an existing configuration", @@ -1550,13 +1523,40 @@ } } }, - "/configuration/metric" : { + "/api/v1/configuration/ldap/{name}/status" : { "get" : { - "summary" : "Retrieve metric configuration", - "description" : "Retrieve metric configuration", - "operationId" : "retrieveMetricConfiguration", - "responses" : { - "200" : { + "summary" : "Check the status of an existing configuration", + "description" : "Check the status of an existing configuration", + "operationId" : "getLdapConfigurationStatusByName", + "parameters" : [ { + "name" : "name", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "Success", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/ConnectionStatusDTO" + } + } + } + } + } + } + }, + "/configuration/metric" : { + "get" : { + "summary" : "Retrieve metric configuration", + "description" : "Retrieve metric configuration", + "operationId" : "retrieveMetricConfiguration", + "responses" : { + "200" : { "description" : "success", "content" : { "application/json" : { @@ -2503,6 +2503,43 @@ } } }, + "/api/v1/scopes/search" : { + "get" : { + "summary" : "Search openid connect scopes", + "description" : "Search openid connect scopes", + "operationId" : "searchScope", + "parameters" : [ { + "name" : "pattern", + "in" : "query", + "schema" : { + "type" : "string" + } + }, { + "name" : "size", + "in" : "query", + "schema" : { + "type" : "integer", + "format" : "int32", + "default" : 10 + } + } ], + "responses" : { + "200" : { + "description" : "Success", + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + } + }, + "500" : { + "description" : "Server error" + } + } + } + }, "/api/v1/scopes/{inum}/claims" : { "get" : { "summary" : "Get scope claims", @@ -2533,11 +2570,11 @@ } } }, - "/api/v1/scopes/search" : { + "/api/v1/sectoridentifiers/search" : { "get" : { - "summary" : "Search openid connect scopes", - "description" : "Search openid connect scopes", - "operationId" : "searchScope", + "summary" : "Search sector identifiers", + "description" : "Search sectors identifiers", + "operationId" : "searchSectorIdentifier", "parameters" : [ { "name" : "pattern", "in" : "query", @@ -2703,33 +2740,18 @@ } } }, - "/api/v1/sectoridentifiers/search" : { + "/api/v1/configuration/status" : { "get" : { - "summary" : "Search sector identifiers", - "description" : "Search sectors identifiers", - "operationId" : "searchSectorIdentifier", - "parameters" : [ { - "name" : "pattern", - "in" : "query", - "schema" : { - "type" : "string" - } - }, { - "name" : "size", - "in" : "query", - "schema" : { - "type" : "integer", - "format" : "int32", - "default" : 10 - } - } ], + "summary" : "Get server status", + "description" : "Get server status", + "operationId" : "getServerStatus", "responses" : { "200" : { "description" : "Success", "content" : { "application/json" : { "schema" : { - "type" : "string" + "$ref" : "#/components/schemas/GluuServerStatus" } } } @@ -2740,18 +2762,18 @@ } } }, - "/api/v1/configuration/status" : { + "/api/v1/configuration/smtp/test" : { "get" : { - "summary" : "Get server status", - "description" : "Get server status", - "operationId" : "getServerStatus", + "summary" : "Test smtp configuration", + "description" : "Test smtp configuration", + "operationId" : "testSmtpConfiguration", "responses" : { "200" : { - "description" : "Success", + "description" : "success", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/GluuServerStatus" + "$ref" : "#/components/schemas/SmtpConfiguration" } } } @@ -2816,28 +2838,6 @@ } } }, - "/api/v1/configuration/smtp/test" : { - "get" : { - "summary" : "Test smtp configuration", - "description" : "Test smtp configuration", - "operationId" : "testSmtpConfiguration", - "responses" : { - "200" : { - "description" : "success", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/SmtpConfiguration" - } - } - } - }, - "500" : { - "description" : "Server error" - } - } - } - }, "/configuration/system" : { "get" : { "summary" : "Retrieve system configuration", @@ -3065,28 +3065,6 @@ } } }, - "/api/v1/saml/tr/remove_attribute" : { - "delete" : { - "operationId" : "removeAttribute", - "requestBody" : { - "content" : { - "text/plain" : { - "schema" : { - "$ref" : "#/components/schemas/GluuAttribute" - } - } - } - }, - "responses" : { - "default" : { - "description" : "default response", - "content" : { - "text/plain" : { } - } - } - } - } - }, "/api/v1/saml/tr/set_metadata/{inum}" : { "post" : { "operationId" : "setMetadata", @@ -3123,11 +3101,31 @@ } } }, - "/api/v1/saml/tr/set_contacts/{inum}" : { - "post" : { - "summary" : "set contacts for TrustRelationship", - "description" : "Find TrustRelationship by inum and set contacts. Contacts parameter is List", - "operationId" : "setContacts", + "/api/v1/saml/tr/remove_attribute" : { + "delete" : { + "operationId" : "removeAttribute", + "requestBody" : { + "content" : { + "text/plain" : { + "schema" : { + "$ref" : "#/components/schemas/GluuAttribute" + } + } + } + }, + "responses" : { + "default" : { + "description" : "default response", + "content" : { + "text/plain" : { } + } + } + } + } + }, + "/api/v1/saml/tr/list_deconstructed_trust_relationships/{inum}" : { + "get" : { + "operationId" : "listDeconstructedTrustRelationships", "parameters" : [ { "name" : "inum", "in" : "path", @@ -3136,18 +3134,16 @@ "type" : "string" } } ], - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } - } - }, "responses" : { "200" : { - "description" : "OK" + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + } }, "500" : { "description" : "Server error" @@ -3155,14 +3151,14 @@ } } }, - "/api/v1/saml/tr/list_all_federations" : { + "/api/v1/saml/tr/generate_inum_for_new_trust_relationship" : { "get" : { - "operationId" : "listAllFederations", + "operationId" : "generateInumForNewTrustRelationship", "responses" : { "200" : { "description" : "OK", "content" : { - "application/json" : { + "text/plain" : { "schema" : { "type" : "string" } @@ -3175,9 +3171,11 @@ } } }, - "/api/v1/saml/tr/set_metadata_url/{inum}" : { + "/api/v1/saml/tr/set_certificate/{inum}" : { "post" : { - "operationId" : "setMetadataURL", + "summary" : "set certificate for TrustRelationship", + "description" : "Find TrustRelationship by inum and set certificate.", + "operationId" : "setCertificate", "parameters" : [ { "name" : "inum", "in" : "path", @@ -3193,8 +3191,7 @@ "type" : "string" } } - }, - "required" : true + } }, "responses" : { "200" : { @@ -3206,22 +3203,22 @@ } } }, - "/api/v1/saml/tr/get_contacts/{inum}" : { + "/api/v1/saml/tr/list_all_saml_trust_relationships" : { "get" : { - "operationId" : "getContacts", + "operationId" : "listAllSAMLTrustRelationships", "parameters" : [ { - "name" : "inum", - "in" : "path", - "required" : true, + "name" : "size_limit", + "in" : "query", "schema" : { - "type" : "string" + "type" : "integer", + "format" : "int32" } } ], "responses" : { "200" : { "description" : "OK", "content" : { - "text/plain" : { + "application/json" : { "schema" : { "type" : "string" } @@ -3234,31 +3231,34 @@ } } }, - "/api/v1/saml/tr/set_certificate/{inum}" : { - "post" : { - "summary" : "set certificate for TrustRelationship", - "description" : "Find TrustRelationship by inum and set certificate.", - "operationId" : "setCertificate", + "/api/v1/saml/tr/search_trust_relationships" : { + "get" : { + "operationId" : "searchTrustRelationships", "parameters" : [ { - "name" : "inum", - "in" : "path", + "name" : "pattern", + "in" : "query", "required" : true, "schema" : { "type" : "string" } + }, { + "name" : "size_limit", + "in" : "query", + "schema" : { + "type" : "integer", + "format" : "int32" + } } ], - "requestBody" : { - "content" : { - "text/plain" : { - "schema" : { - "type" : "string" - } - } - } - }, "responses" : { "200" : { - "description" : "OK" + "description" : "OK", + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + } }, "500" : { "description" : "Server error" @@ -3309,17 +3309,9 @@ } } }, - "/api/v1/saml/tr/list_all_saml_trust_relationships" : { + "/api/v1/saml/tr/list_all_active_trust_relationships" : { "get" : { - "operationId" : "listAllSAMLTrustRelationships", - "parameters" : [ { - "name" : "size_limit", - "in" : "query", - "schema" : { - "type" : "integer", - "format" : "int32" - } - } ], + "operationId" : "listAllActiveTrustRelationships", "responses" : { "200" : { "description" : "OK", @@ -3337,54 +3329,30 @@ } } }, - "/api/v1/saml/tr/search_trust_relationships" : { - "get" : { - "operationId" : "searchTrustRelationships", + "/api/v1/saml/tr/set_metadata_url/{inum}" : { + "post" : { + "operationId" : "setMetadataURL", "parameters" : [ { - "name" : "pattern", - "in" : "query", + "name" : "inum", + "in" : "path", "required" : true, "schema" : { "type" : "string" } - }, { - "name" : "size_limit", - "in" : "query", - "schema" : { - "type" : "integer", - "format" : "int32" - } } ], - "responses" : { - "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } + "requestBody" : { + "content" : { + "text/plain" : { + "schema" : { + "type" : "string" } } }, - "500" : { - "description" : "Server error" - } - } - } - }, - "/api/v1/saml/tr/list_all_active_trust_relationships" : { - "get" : { - "operationId" : "listAllActiveTrustRelationships", + "required" : true + }, "responses" : { "200" : { - "description" : "OK", - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } - } + "description" : "OK" }, "500" : { "description" : "Server error" @@ -3392,9 +3360,9 @@ } } }, - "/api/v1/saml/tr/list_deconstructed_trust_relationships/{inum}" : { + "/api/v1/saml/tr/get_contacts/{inum}" : { "get" : { - "operationId" : "listDeconstructedTrustRelationships", + "operationId" : "getContacts", "parameters" : [ { "name" : "inum", "in" : "path", @@ -3407,7 +3375,7 @@ "200" : { "description" : "OK", "content" : { - "application/json" : { + "text/plain" : { "schema" : { "type" : "string" } @@ -3420,14 +3388,14 @@ } } }, - "/api/v1/saml/tr/generate_inum_for_new_trust_relationship" : { + "/api/v1/saml/tr/list_all_federations" : { "get" : { - "operationId" : "generateInumForNewTrustRelationship", + "operationId" : "listAllFederations", "responses" : { "200" : { "description" : "OK", "content" : { - "text/plain" : { + "application/json" : { "schema" : { "type" : "string" } @@ -3440,11 +3408,11 @@ } } }, - "/api/v1/inbound-saml/trusted-idp/inum/{inum}" : { - "get" : { - "summary" : "Get TrustedIDP by inum", - "description" : "Get a TrustedIDP by inum", - "operationId" : "gluuTrustedIdp", + "/api/v1/saml/tr/set_contacts/{inum}" : { + "post" : { + "summary" : "set contacts for TrustRelationship", + "description" : "Find TrustRelationship by inum and set contacts. Contacts parameter is List", + "operationId" : "setContacts", "parameters" : [ { "name" : "inum", "in" : "path", @@ -3453,73 +3421,18 @@ "type" : "string" } } ], - "responses" : { - "200" : { - "description" : "Success", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/TrustedIDPApi" - } - } - } - }, - "404" : { - "description" : "Resource not Found" - }, - "500" : { - "description" : "Server error" - } - } - } - }, - "/api/v1/inbound-saml/trusted-idp" : { - "get" : { - "summary" : "Retrieve all trusted-idps", - "description" : "Retrieve all trusted-idps", - "operationId" : "gluuTrustedIdps", - "responses" : { - "200" : { - "description" : "Success", - "content" : { - "application/json" : { - "schema" : { - "type" : "string" - } - } - } - }, - "500" : { - "description" : "Server error" - } - } - }, - "post" : { - "summary" : "Add TrustedIDP", - "description" : "Add an TrustedIDP", - "operationId" : "createGluuTrustedIdp", "requestBody" : { "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/TrustedIDPApi" + "type" : "string" } } } }, "responses" : { - "201" : { - "description" : "Success", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/TrustedIDPApi" - } - } - } - }, - "403" : { - "description" : "Trust Relation already exists" + "200" : { + "description" : "OK" }, "500" : { "description" : "Server error" @@ -3621,11 +3534,11 @@ } } }, - "/api/v1/uma/resources" : { + "/api/v1/inbound-saml/trusted-idp" : { "get" : { - "summary" : "Get UMA resources", - "description" : "Get uma resources", - "operationId" : "listUmaResources", + "summary" : "Retrieve all trusted-idps", + "description" : "Retrieve all trusted-idps", + "operationId" : "gluuTrustedIdps", "responses" : { "200" : { "description" : "Success", @@ -3642,70 +3555,77 @@ } } }, - "put" : { - "summary" : "Update UMA resource", - "description" : "Update uma resource", - "operationId" : "updateUmaResource", + "post" : { + "summary" : "Add TrustedIDP", + "description" : "Add an TrustedIDP", + "operationId" : "createGluuTrustedIdp", "requestBody" : { "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/UmaResource" + "$ref" : "#/components/schemas/TrustedIDPApi" } } } }, "responses" : { - "200" : { + "201" : { "description" : "Success", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/UmaResource" + "$ref" : "#/components/schemas/TrustedIDPApi" } } } }, + "403" : { + "description" : "Trust Relation already exists" + }, "500" : { "description" : "Server error" } } - }, - "post" : { - "summary" : "Add new UMA resource", - "description" : "Add new uma resource", - "operationId" : "createUmaResource", - "requestBody" : { - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/UmaResource" - } - } + } + }, + "/api/v1/inbound-saml/trusted-idp/inum/{inum}" : { + "get" : { + "summary" : "Get TrustedIDP by inum", + "description" : "Get a TrustedIDP by inum", + "operationId" : "gluuTrustedIdp", + "parameters" : [ { + "name" : "inum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" } - }, + } ], "responses" : { "200" : { "description" : "Success", "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/UmaResource" + "$ref" : "#/components/schemas/TrustedIDPApi" } } } }, + "404" : { + "description" : "Resource not Found" + }, "500" : { "description" : "Server error" } } } }, - "/api/v1/uma/resources/{id}" : { - "get" : { - "summary" : "Get UMA resource by id", - "description" : "Get a uma resource by id", - "operationId" : "getUmaResourceById", + "/api/v1/uma/resources/{id}/clients/{inum}" : { + "post" : { + "summary" : "Add UMA resource client", + "description" : "add client to uma resource", + "operationId" : "addClientToUmaResource", "parameters" : [ { "name" : "id", "in" : "path", @@ -3713,9 +3633,16 @@ "schema" : { "type" : "string" } + }, { + "name" : "inum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } } ], "responses" : { - "200" : { + "201" : { "description" : "Success", "content" : { "application/json" : { @@ -3731,9 +3658,9 @@ } }, "delete" : { - "summary" : "Delete UMA resource", - "description" : "Delete a uma resource", - "operationId" : "deleteUmaResource", + "summary" : "Remove UMA resource client", + "description" : "Remove client from uma resource", + "operationId" : "removeClientToUmaResource", "parameters" : [ { "name" : "id", "in" : "path", @@ -3741,45 +3668,21 @@ "schema" : { "type" : "string" } + }, { + "name" : "inum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } } ], - "responses" : { - "200" : { - "description" : "Success" - }, - "500" : { - "description" : "Server error" - } - } - } - }, - "/api/v1/uma/resources/search" : { - "get" : { - "summary" : "Search UMA resources", - "description" : "Search uma resources", - "operationId" : "searchUmaResources", - "parameters" : [ { - "name" : "pattern", - "in" : "query", - "required" : true, - "schema" : { - "type" : "string" - } - }, { - "name" : "size", - "in" : "query", - "required" : true, - "schema" : { - "type" : "integer", - "format" : "int32" - } - } ], "responses" : { "200" : { "description" : "Success", "content" : { "application/json" : { "schema" : { - "type" : "string" + "$ref" : "#/components/schemas/UmaResource" } } } @@ -3790,11 +3693,11 @@ } } }, - "/api/v1/uma/resources/{id}/clients/{inum}" : { + "/api/v1/uma/resources/{id}/scopes/{inum}" : { "post" : { - "summary" : "Add UMA resource client", - "description" : "add client to uma resource", - "operationId" : "addClientToUmaResource", + "summary" : "Add UMA resource scope", + "description" : "add scope to uma resource", + "operationId" : "addScopeToUmaResource", "parameters" : [ { "name" : "id", "in" : "path", @@ -3811,7 +3714,7 @@ } } ], "responses" : { - "201" : { + "200" : { "description" : "Success", "content" : { "application/json" : { @@ -3827,9 +3730,9 @@ } }, "delete" : { - "summary" : "Remove UMA resource client", - "description" : "Remove client from uma resource", - "operationId" : "removeClientToUmaResource", + "summary" : "Remove UMA resource scope", + "description" : "remove a scope from uma resource", + "operationId" : "removeScopeToUmaResource", "parameters" : [ { "name" : "id", "in" : "path", @@ -3862,11 +3765,11 @@ } } }, - "/api/v1/uma/resources/{id}/clients" : { + "/api/v1/uma/resources/{id}/scopes" : { "get" : { - "summary" : "Get clients of UMA resources", - "description" : "Get clients of uma resource", - "operationId" : "getUmaResourceClients", + "summary" : "Get UMA resource scopes", + "description" : "Get scopes of uma resource", + "operationId" : "getUmaResourceScopes", "parameters" : [ { "name" : "id", "in" : "path", @@ -3885,11 +3788,11 @@ } } }, - "/api/v1/uma/resources/{id}/scopes" : { + "/api/v1/uma/resources/{id}/clients" : { "get" : { - "summary" : "Get UMA resource scopes", - "description" : "Get scopes of uma resource", - "operationId" : "getUmaResourceScopes", + "summary" : "Get clients of UMA resources", + "description" : "Get clients of uma resource", + "operationId" : "getUmaResourceClients", "parameters" : [ { "name" : "id", "in" : "path", @@ -3908,11 +3811,91 @@ } } }, - "/api/v1/uma/resources/{id}/scopes/{inum}" : { + "/api/v1/uma/resources" : { + "get" : { + "summary" : "Get UMA resources", + "description" : "Get uma resources", + "operationId" : "listUmaResources", + "responses" : { + "200" : { + "description" : "Success", + "content" : { + "application/json" : { + "schema" : { + "type" : "string" + } + } + } + }, + "500" : { + "description" : "Server error" + } + } + }, + "put" : { + "summary" : "Update UMA resource", + "description" : "Update uma resource", + "operationId" : "updateUmaResource", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UmaResource" + } + } + } + }, + "responses" : { + "200" : { + "description" : "Success", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UmaResource" + } + } + } + }, + "500" : { + "description" : "Server error" + } + } + }, "post" : { - "summary" : "Add UMA resource scope", - "description" : "add scope to uma resource", - "operationId" : "addScopeToUmaResource", + "summary" : "Add new UMA resource", + "description" : "Add new uma resource", + "operationId" : "createUmaResource", + "requestBody" : { + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UmaResource" + } + } + } + }, + "responses" : { + "200" : { + "description" : "Success", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/UmaResource" + } + } + } + }, + "500" : { + "description" : "Server error" + } + } + } + }, + "/api/v1/uma/resources/{id}" : { + "get" : { + "summary" : "Get UMA resource by id", + "description" : "Get a uma resource by id", + "operationId" : "getUmaResourceById", "parameters" : [ { "name" : "id", "in" : "path", @@ -3920,13 +3903,6 @@ "schema" : { "type" : "string" } - }, { - "name" : "inum", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } } ], "responses" : { "200" : { @@ -3945,9 +3921,9 @@ } }, "delete" : { - "summary" : "Remove UMA resource scope", - "description" : "remove a scope from uma resource", - "operationId" : "removeScopeToUmaResource", + "summary" : "Delete UMA resource", + "description" : "Delete a uma resource", + "operationId" : "deleteUmaResource", "parameters" : [ { "name" : "id", "in" : "path", @@ -3955,13 +3931,37 @@ "schema" : { "type" : "string" } - }, { - "name" : "inum", - "in" : "path", + } ], + "responses" : { + "200" : { + "description" : "Success" + }, + "500" : { + "description" : "Server error" + } + } + } + }, + "/api/v1/uma/resources/search" : { + "get" : { + "summary" : "Search UMA resources", + "description" : "Search uma resources", + "operationId" : "searchUmaResources", + "parameters" : [ { + "name" : "pattern", + "in" : "query", "required" : true, "schema" : { "type" : "string" } + }, { + "name" : "size", + "in" : "query", + "required" : true, + "schema" : { + "type" : "integer", + "format" : "int32" + } } ], "responses" : { "200" : { @@ -3969,7 +3969,7 @@ "content" : { "application/json" : { "schema" : { - "$ref" : "#/components/schemas/UmaResource" + "type" : "string" } } } @@ -4141,6 +4141,69 @@ } } }, + "/api/v1/radius/clients/{inum}" : { + "get" : { + "summary" : "Get radius client by inum", + "description" : "Get radius client by inum", + "operationId" : "getRadiusClient", + "parameters" : [ { + "name" : "inum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "200" : { + "description" : "Success", + "content" : { + "application/json" : { + "schema" : { + "$ref" : "#/components/schemas/RadiusClient" + } + } + } + }, + "403" : { + "description" : "Gluu Radius is not installed" + }, + "404" : { + "description" : "Radius client not found" + }, + "500" : { + "description" : "Internal server error" + } + } + }, + "delete" : { + "summary" : "Delete radius client", + "description" : "Deletes a radius client", + "operationId" : "deleteRadiusClient", + "parameters" : [ { + "name" : "inum", + "in" : "path", + "required" : true, + "schema" : { + "type" : "string" + } + } ], + "responses" : { + "204" : { + "description" : "Success" + }, + "403" : { + "description" : "Gluu Radius is not installed" + }, + "404" : { + "description" : "Radius client not found" + }, + "500" : { + "description" : "Internal server error" + } + } + } + }, "/api/v1/radius/clients" : { "get" : { "summary" : "Get all radius clients", @@ -4225,77 +4288,14 @@ "$ref" : "#/components/schemas/RadiusClient" } } - } - }, - "400" : { - "description" : "Malformed request. Missing parameter" - }, - "403" : { - "description" : "Gluu Radius is not installed" - }, - "500" : { - "description" : "Internal server error" - } - } - } - }, - "/api/v1/radius/clients/{inum}" : { - "get" : { - "summary" : "Get radius client by inum", - "description" : "Get radius client by inum", - "operationId" : "getRadiusClient", - "parameters" : [ { - "name" : "inum", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "200" : { - "description" : "Success", - "content" : { - "application/json" : { - "schema" : { - "$ref" : "#/components/schemas/RadiusClient" - } - } - } - }, - "403" : { - "description" : "Gluu Radius is not installed" - }, - "404" : { - "description" : "Radius client not found" - }, - "500" : { - "description" : "Internal server error" - } - } - }, - "delete" : { - "summary" : "Delete radius client", - "description" : "Deletes a radius client", - "operationId" : "deleteRadiusClient", - "parameters" : [ { - "name" : "inum", - "in" : "path", - "required" : true, - "schema" : { - "type" : "string" - } - } ], - "responses" : { - "204" : { - "description" : "Success" + } + }, + "400" : { + "description" : "Malformed request. Missing parameter" }, "403" : { "description" : "Gluu Radius is not installed" }, - "404" : { - "description" : "Radius client not found" - }, "500" : { "description" : "Internal server error" } @@ -4514,10 +4514,7 @@ "gluuTooltip" : { "type" : "string" }, - "whitePagesCanView" : { - "type" : "boolean" - }, - "userCanView" : { + "adminCanEdit" : { "type" : "boolean" }, "userCanEdit" : { @@ -4532,7 +4529,10 @@ "adminCanView" : { "type" : "boolean" }, - "adminCanEdit" : { + "userCanView" : { + "type" : "boolean" + }, + "whitePagesCanView" : { "type" : "boolean" }, "baseDn" : { @@ -5741,6 +5741,12 @@ "$ref" : "#/components/schemas/SimpleExtendedCustomProperty" } }, + "privateProperties" : { + "type" : "array", + "items" : { + "$ref" : "#/components/schemas/SimpleExtendedCustomProperty" + } + }, "level" : { "type" : "integer", "format" : "int32" @@ -6654,109 +6660,6 @@ } } }, - "OxTrustBasicConfig" : { - "type" : "object", - "properties" : { - "baseDN" : { - "type" : "string" - }, - "orgSupportEmail" : { - "type" : "string" - }, - "applicationUrl" : { - "type" : "string" - }, - "baseEndpoint" : { - "type" : "string" - }, - "ldifStore" : { - "type" : "string" - }, - "updateStatus" : { - "type" : "boolean" - }, - "keystorePath" : { - "type" : "string" - }, - "allowPersonModification" : { - "type" : "boolean" - }, - "configGeneration" : { - "type" : "boolean" - }, - "gluuSpCert" : { - "type" : "string" - }, - "certDir" : { - "type" : "string" - }, - "servicesRestartTrigger" : { - "type" : "string" - }, - "loginRedirectUrl" : { - "type" : "string" - }, - "logoutRedirectUrl" : { - "type" : "string" - }, - "clientAssociationAttribute" : { - "type" : "string" - }, - "ignoreValidation" : { - "type" : "boolean" - }, - "umaIssuer" : { - "type" : "string" - }, - "cssLocation" : { - "type" : "string" - }, - "jsLocation" : { - "type" : "string" - }, - "enableUpdateNotification" : { - "type" : "boolean" - }, - "oxIncommonFlag" : { - "type" : "boolean" - }, - "clientWhiteList" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "clientBlackList" : { - "type" : "array", - "items" : { - "type" : "string" - } - }, - "loggingLevel" : { - "type" : "string" - }, - "organizationName" : { - "type" : "string" - }, - "disableJdkLogger" : { - "type" : "boolean" - }, - "passwordResetRequestExpirationTime" : { - "type" : "integer", - "format" : "int32" - }, - "cleanServiceInterval" : { - "type" : "integer", - "format" : "int32" - }, - "enforceEmailUniqueness" : { - "type" : "boolean" - }, - "useLocalCache" : { - "type" : "boolean" - } - } - }, "AppConfiguration" : { "type" : "object", "properties" : { @@ -7082,9 +6985,6 @@ "type" : "string", "enum" : [ "OAUTH", "TEST", "UMA" ] }, - "auditConfigLogsLocation" : { - "type" : "string" - }, "ScimProperties" : { "$ref" : "#/components/schemas/ScimProperties" } @@ -7125,6 +7025,109 @@ } } }, + "OxTrustBasicConfig" : { + "type" : "object", + "properties" : { + "baseDN" : { + "type" : "string" + }, + "orgSupportEmail" : { + "type" : "string" + }, + "applicationUrl" : { + "type" : "string" + }, + "baseEndpoint" : { + "type" : "string" + }, + "ldifStore" : { + "type" : "string" + }, + "updateStatus" : { + "type" : "boolean" + }, + "keystorePath" : { + "type" : "string" + }, + "allowPersonModification" : { + "type" : "boolean" + }, + "configGeneration" : { + "type" : "boolean" + }, + "gluuSpCert" : { + "type" : "string" + }, + "certDir" : { + "type" : "string" + }, + "servicesRestartTrigger" : { + "type" : "string" + }, + "loginRedirectUrl" : { + "type" : "string" + }, + "logoutRedirectUrl" : { + "type" : "string" + }, + "clientAssociationAttribute" : { + "type" : "string" + }, + "ignoreValidation" : { + "type" : "boolean" + }, + "umaIssuer" : { + "type" : "string" + }, + "cssLocation" : { + "type" : "string" + }, + "jsLocation" : { + "type" : "string" + }, + "enableUpdateNotification" : { + "type" : "boolean" + }, + "oxIncommonFlag" : { + "type" : "boolean" + }, + "clientWhiteList" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "clientBlackList" : { + "type" : "array", + "items" : { + "type" : "string" + } + }, + "loggingLevel" : { + "type" : "string" + }, + "organizationName" : { + "type" : "string" + }, + "disableJdkLogger" : { + "type" : "boolean" + }, + "passwordResetRequestExpirationTime" : { + "type" : "integer", + "format" : "int32" + }, + "cleanServiceInterval" : { + "type" : "integer", + "format" : "int32" + }, + "enforceEmailUniqueness" : { + "type" : "boolean" + }, + "useLocalCache" : { + "type" : "boolean" + } + } + }, "OxTrustJsonSetting" : { "type" : "object", "properties" : { @@ -7554,7 +7557,7 @@ "new" : { "type" : "boolean" }, - "userCanView" : { + "adminCanEdit" : { "type" : "boolean" }, "userCanEdit" : { @@ -7569,7 +7572,7 @@ "adminCanView" : { "type" : "boolean" }, - "adminCanEdit" : { + "userCanView" : { "type" : "boolean" }, "stringValues" : { @@ -7717,18 +7720,6 @@ "certificate" : { "type" : "string" }, - "entityId" : { - "type" : "string" - }, - "federation" : { - "type" : "boolean" - }, - "mdqFederation" : { - "type" : "boolean" - }, - "researchBundle" : { - "type" : "boolean" - }, "uniqueGluuEntityId" : { "uniqueItems" : true, "type" : "array", @@ -7737,20 +7728,20 @@ "type" : "string" } }, - "containerFederation" : { - "$ref" : "#/components/schemas/GluuSAMLTrustRelationship" + "entityId" : { + "type" : "string" }, - "specificRelyingPartyConfig" : { + "federation" : { "type" : "boolean" }, - "uriMetadataSourceType" : { + "researchBundle" : { "type" : "boolean" }, - "fileMetadataSourceType" : { + "specificRelyingPartyConfig" : { "type" : "boolean" }, - "mdqMetadataSourceType" : { - "type" : "boolean" + "containerFederation" : { + "$ref" : "#/components/schemas/GluuSAMLTrustRelationship" }, "baseDn" : { "type" : "string" diff --git a/api-server/src/main/resources/META-INF/openapi.yaml b/api-server/src/main/resources/META-INF/openapi.yaml index 29a6d9d15..d0140bda7 100644 --- a/api-server/src/main/resources/META-INF/openapi.yaml +++ b/api-server/src/main/resources/META-INF/openapi.yaml @@ -11,7 +11,7 @@ info: license: name: Gluu Support License url: https://gluu.org/ - version: 4.6.0 + version: 4.5.3 paths: /configuration/api: get: @@ -116,53 +116,35 @@ paths: description: default response content: application/json: {} - /api/v1/attributes/attribute/{inum}: + /api/v1/attributes/inactive: get: - summary: Get attribute by inum - description: Get an attribute by inum - operationId: getAttributeByInum - parameters: - - name: inum - in: path - required: true - schema: - type: string + summary: Get all inactive attributes + description: Gets all inative attributes + operationId: getAllInactiveAttributes responses: 200: description: success content: application/json: schema: - $ref: '#/components/schemas/GluuAttribute' + type: string 500: description: Server error security: - oauth2: - https://gluu.org/auth/oxtrust.attribute.read - /api/v1/attributes/search: + /api/v1/attributes/active: get: - summary: Search attributes - description: Perform an attribute search - operationId: searchAttributes - parameters: - - name: pattern - in: query - required: true - schema: - type: string - - name: size - in: query - schema: - type: integer - format: int32 - default: 1 + summary: Get all active attributes + description: Gets all the active gluu attributes + operationId: getAllActiveAttributes responses: 200: description: success content: application/json: schema: - $ref: '#/components/schemas/GluuAttribute' + type: string 500: description: Server error security: @@ -189,35 +171,53 @@ paths: security: - oauth2: - https://gluu.org/auth/oxtrust.attribute.write - /api/v1/attributes/active: + /api/v1/attributes/search: get: - summary: Get all active attributes - description: Gets all the active gluu attributes - operationId: getAllActiveAttributes + summary: Search attributes + description: Perform an attribute search + operationId: searchAttributes + parameters: + - name: pattern + in: query + required: true + schema: + type: string + - name: size + in: query + schema: + type: integer + format: int32 + default: 1 responses: 200: description: success content: application/json: schema: - type: string + $ref: '#/components/schemas/GluuAttribute' 500: description: Server error security: - oauth2: - https://gluu.org/auth/oxtrust.attribute.read - /api/v1/attributes/inactive: + /api/v1/attributes/attribute/{inum}: get: - summary: Get all inactive attributes - description: Gets all inative attributes - operationId: getAllInactiveAttributes + summary: Get attribute by inum + description: Get an attribute by inum + operationId: getAttributeByInum + parameters: + - name: inum + in: path + required: true + schema: + type: string responses: 200: description: success content: application/json: schema: - type: string + $ref: '#/components/schemas/GluuAttribute' 500: description: Server error security: @@ -417,23 +417,22 @@ paths: description: default response content: application/json: {} - /api/v1/clients/search: - get: - summary: Search OIDC clients - description: Search OIDC clients - operationId: searchClients + /api/v1/clients/{inum}/scopes/{sinum}: + post: + summary: Add OIDC client scopes + description: Add scopes to OIDC client + operationId: addScopeToClient parameters: - - name: pattern - in: query + - name: inum + in: path required: true schema: type: string - - name: size - in: query + - name: sinum + in: path + required: true schema: - type: integer - format: int32 - default: 1 + type: string responses: 200: description: Success @@ -445,18 +444,22 @@ paths: description: Server error security: - oauth2: - - https://gluu.org/auth/oxtrust.client.read - /api/v1/clients/{inum}/scopes: - get: - summary: Get assigned OIDC client scopes - description: Get OIDC scopes assign to OIDC client - operationId: getClientScope + - https://gluu.org/auth/oxtrust.client.write + delete: + summary: Remove OIDC client scope + description: Remove an existing scope from client + operationId: removeScopeToClient parameters: - name: inum in: path required: true schema: type: string + - name: sinum + in: path + required: true + schema: + type: string responses: 200: description: Success @@ -466,24 +469,38 @@ paths: type: string 500: description: Server error - 404: - description: Not Found security: - oauth2: - - https://gluu.org/auth/oxtrust.client.read - delete: - operationId: deleteClientScopes + - https://gluu.org/auth/oxtrust.client.write + /api/v1/clients/search: + get: + summary: Search OIDC clients + description: Search OIDC clients + operationId: searchClients parameters: - - name: inum - in: path + - name: pattern + in: query required: true schema: type: string + - name: size + in: query + schema: + type: integer + format: int32 + default: 1 responses: - default: - description: default response + 200: + description: Success content: - application/json: {} + application/json: + schema: + type: string + 500: + description: Server error + security: + - oauth2: + - https://gluu.org/auth/oxtrust.client.read /api/v1/clients/{inum}: get: summary: Get OIDC client @@ -529,22 +546,17 @@ paths: security: - oauth2: - https://gluu.org/auth/oxtrust.client.write - /api/v1/clients/{inum}/scopes/{sinum}: - post: - summary: Add OIDC client scopes - description: Add scopes to OIDC client - operationId: addScopeToClient + /api/v1/clients/{inum}/scopes: + get: + summary: Get assigned OIDC client scopes + description: Get OIDC scopes assign to OIDC client + operationId: getClientScope parameters: - name: inum in: path required: true schema: type: string - - name: sinum - in: path - required: true - schema: - type: string responses: 200: description: Success @@ -554,36 +566,24 @@ paths: type: string 500: description: Server error + 404: + description: Not Found security: - oauth2: - - https://gluu.org/auth/oxtrust.client.write + - https://gluu.org/auth/oxtrust.client.read delete: - summary: Remove OIDC client scope - description: Remove an existing scope from client - operationId: removeScopeToClient + operationId: deleteClientScopes parameters: - name: inum in: path required: true schema: type: string - - name: sinum - in: path - required: true - schema: - type: string responses: - 200: - description: Success + default: + description: default response content: - application/json: - schema: - type: string - 500: - description: Server error - security: - - oauth2: - - https://gluu.org/auth/oxtrust.client.write + application/json: {} /api/v1/configuration: get: summary: Get gluu configuration @@ -601,59 +601,6 @@ paths: security: - oauth2: - https://gluu.org/auth/oxtrust.configuration.read - /api/v1/configuration/scripts: - get: - summary: Get all custom scripts - description: Get all custom scripts - operationId: listCustomScripts - responses: - 200: - description: Success - content: - application/json: - schema: - type: string - 500: - description: Server error - security: - - oauth2: - - https://gluu.org/auth/oxtrust.customscript.read - put: - summary: Update custom script - description: Update custom script - operationId: updateCustomScript - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CustomScript' - responses: - 200: - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/CustomScript' - 500: - description: Server error - post: - summary: Add new custom script - description: Add new custom script - operationId: createCustomScript - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CustomScript' - responses: - 200: - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/CustomScript' - 500: - description: Server error /api/v1/configuration/scripts/{inum}: get: summary: Get scripts by inum @@ -715,19 +662,72 @@ paths: security: - oauth2: - https://gluu.org/auth/oxtrust.customscript.read - /api/v1/groups: + /api/v1/configuration/scripts: get: - summary: Get groups - description: Get groups - operationId: listGroups - parameters: - - name: size - in: query - schema: - type: integer - format: int32 - default: 0 - responses: + summary: Get all custom scripts + description: Get all custom scripts + operationId: listCustomScripts + responses: + 200: + description: Success + content: + application/json: + schema: + type: string + 500: + description: Server error + security: + - oauth2: + - https://gluu.org/auth/oxtrust.customscript.read + put: + summary: Update custom script + description: Update custom script + operationId: updateCustomScript + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomScript' + responses: + 200: + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomScript' + 500: + description: Server error + post: + summary: Add new custom script + description: Add new custom script + operationId: createCustomScript + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomScript' + responses: + 200: + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CustomScript' + 500: + description: Server error + /api/v1/groups: + get: + summary: Get groups + description: Get groups + operationId: listGroups + parameters: + - name: size + in: query + schema: + type: integer + format: int32 + default: 0 + responses: 200: description: Success content: @@ -807,23 +807,17 @@ paths: description: Success 500: description: Server error - /api/v1/groups/search: + /api/v1/groups/{inum}/members: get: - summary: Search groups - description: Search groups - operationId: searchGroups + summary: Get group members + description: Get a group members + operationId: getGroupMembers parameters: - - name: pattern - in: query + - name: inum + in: path required: true schema: type: string - - name: size - in: query - schema: - type: integer - format: int32 - default: 1 responses: 200: description: Success @@ -833,6 +827,21 @@ paths: type: string 500: description: Server error + delete: + summary: Delete group member + description: Delete group member + operationId: deleteGroupMembers + parameters: + - name: inum + in: path + required: true + schema: + type: string + responses: + default: + description: default response + content: + application/json: {} /api/v1/groups/{inum}/members/{minum}: post: summary: Add group member @@ -878,17 +887,23 @@ paths: description: Success 500: description: Server error - /api/v1/groups/{inum}/members: + /api/v1/groups/search: get: - summary: Get group members - description: Get a group members - operationId: getGroupMembers + summary: Search groups + description: Search groups + operationId: searchGroups parameters: - - name: inum - in: path + - name: pattern + in: query required: true schema: type: string + - name: size + in: query + schema: + type: integer + format: int32 + default: 1 responses: 200: description: Success @@ -898,21 +913,6 @@ paths: type: string 500: description: Server error - delete: - summary: Delete group member - description: Delete group member - operationId: deleteGroupMembers - parameters: - - name: inum - in: path - required: true - schema: - type: string - responses: - default: - description: default response - content: - application/json: {} /configuration/idp: get: summary: Retrieve idp configuration @@ -991,24 +991,6 @@ paths: application/json: schema: $ref: '#/components/schemas/LdapConfigurationDTO' - /api/v1/configuration/ldap/{name}/status: - get: - summary: Check the status of an existing configuration - description: Check the status of an existing configuration - operationId: getLdapConfigurationStatusByName - parameters: - - name: name - in: path - required: true - schema: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/ConnectionStatusDTO' /api/v1/configuration/ldap/{name}: delete: summary: Delete an existing configuration @@ -1044,6 +1026,24 @@ paths: application/json: schema: $ref: '#/components/schemas/ConnectionStatusDTO' + /api/v1/configuration/ldap/{name}/status: + get: + summary: Check the status of an existing configuration + description: Check the status of an existing configuration + operationId: getLdapConfigurationStatusByName + parameters: + - name: name + in: path + required: true + schema: + type: string + responses: + 200: + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionStatusDTO' /configuration/metric: get: summary: Retrieve metric configuration @@ -1652,6 +1652,31 @@ paths: description: Success 500: description: Server error + /api/v1/scopes/search: + get: + summary: Search openid connect scopes + description: Search openid connect scopes + operationId: searchScope + parameters: + - name: pattern + in: query + schema: + type: string + - name: size + in: query + schema: + type: integer + format: int32 + default: 10 + responses: + 200: + description: Success + content: + application/json: + schema: + type: string + 500: + description: Server error /api/v1/scopes/{inum}/claims: get: summary: Get scope claims @@ -1672,11 +1697,11 @@ paths: type: string 500: description: Server error - /api/v1/scopes/search: + /api/v1/sectoridentifiers/search: get: - summary: Search openid connect scopes - description: Search openid connect scopes - operationId: searchScope + summary: Search sector identifiers + description: Search sectors identifiers + operationId: searchSectorIdentifier parameters: - name: pattern in: query @@ -1783,43 +1808,32 @@ paths: $ref: '#/components/schemas/OxAuthSectorIdentifier' 500: description: Server error - /api/v1/sectoridentifiers/search: + /api/v1/configuration/status: get: - summary: Search sector identifiers - description: Search sectors identifiers - operationId: searchSectorIdentifier - parameters: - - name: pattern - in: query - schema: - type: string - - name: size - in: query - schema: - type: integer - format: int32 - default: 10 + summary: Get server status + description: Get server status + operationId: getServerStatus responses: 200: description: Success content: application/json: schema: - type: string + $ref: '#/components/schemas/GluuServerStatus' 500: description: Server error - /api/v1/configuration/status: + /api/v1/configuration/smtp/test: get: - summary: Get server status - description: Get server status - operationId: getServerStatus + summary: Test smtp configuration + description: Test smtp configuration + operationId: testSmtpConfiguration responses: 200: - description: Success + description: success content: application/json: schema: - $ref: '#/components/schemas/GluuServerStatus' + $ref: '#/components/schemas/SmtpConfiguration' 500: description: Server error /api/v1/configuration/smtp: @@ -1856,20 +1870,6 @@ paths: description: Not found 500: description: Server error - /api/v1/configuration/smtp/test: - get: - summary: Test smtp configuration - description: Test smtp configuration - operationId: testSmtpConfiguration - responses: - 200: - description: success - content: - application/json: - schema: - $ref: '#/components/schemas/SmtpConfiguration' - 500: - description: Server error /configuration/system: get: summary: Retrieve system configuration @@ -2016,19 +2016,6 @@ paths: description: OK 500: description: Server error - /api/v1/saml/tr/remove_attribute: - delete: - operationId: removeAttribute - requestBody: - content: - text/plain: - schema: - $ref: '#/components/schemas/GluuAttribute' - responses: - default: - description: default response - content: - text/plain: {} /api/v1/saml/tr/set_metadata/{inum}: post: operationId: setMetadata @@ -2052,69 +2039,40 @@ paths: description: OK 500: description: Server error - /api/v1/saml/tr/set_contacts/{inum}: - post: - summary: set contacts for TrustRelationship - description: Find TrustRelationship by inum and set contacts. Contacts parameter - is List - operationId: setContacts - parameters: - - name: inum - in: path - required: true - schema: - type: string + /api/v1/saml/tr/remove_attribute: + delete: + operationId: removeAttribute requestBody: content: - application/json: + text/plain: schema: - type: string - responses: - 200: - description: OK - 500: - description: Server error - /api/v1/saml/tr/list_all_federations: - get: - operationId: listAllFederations + $ref: '#/components/schemas/GluuAttribute' responses: - 200: - description: OK + default: + description: default response content: - application/json: - schema: - type: string - 500: - description: Server error - /api/v1/saml/tr/set_metadata_url/{inum}: - post: - operationId: setMetadataURL + text/plain: {} + /api/v1/saml/tr/list_deconstructed_trust_relationships/{inum}: + get: + operationId: listDeconstructedTrustRelationships parameters: - name: inum in: path required: true schema: type: string - requestBody: - content: - text/plain: - schema: - type: string - required: true responses: 200: description: OK + content: + application/json: + schema: + type: string 500: description: Server error - /api/v1/saml/tr/get_contacts/{inum}: + /api/v1/saml/tr/generate_inum_for_new_trust_relationship: get: - operationId: getContacts - parameters: - - name: inum - in: path - required: true - schema: - type: string + operationId: generateInumForNewTrustRelationship responses: 200: description: OK @@ -2145,34 +2103,6 @@ paths: description: OK 500: description: Server error - /api/v1/saml/tr/generate_configuration_files: - put: - summary: generate configuration files - description: Generate configuration files for Shibboleth IDP - operationId: generateConfigurationFiles - responses: - 200: - description: OK - 500: - description: Server error - /api/v1/saml/tr/list_all_other_federations/{inum}: - get: - operationId: listAllOtherFederations - parameters: - - name: inum - in: path - required: true - schema: - type: string - responses: - 200: - description: OK - content: - application/json: - schema: - type: string - 500: - description: Server error /api/v1/saml/tr/list_all_saml_trust_relationships: get: operationId: listAllSAMLTrustRelationships @@ -2214,21 +2144,19 @@ paths: type: string 500: description: Server error - /api/v1/saml/tr/list_all_active_trust_relationships: - get: - operationId: listAllActiveTrustRelationships + /api/v1/saml/tr/generate_configuration_files: + put: + summary: generate configuration files + description: Generate configuration files for Shibboleth IDP + operationId: generateConfigurationFiles responses: 200: description: OK - content: - application/json: - schema: - type: string 500: description: Server error - /api/v1/saml/tr/list_deconstructed_trust_relationships/{inum}: + /api/v1/saml/tr/list_all_other_federations/{inum}: get: - operationId: listDeconstructedTrustRelationships + operationId: listAllOtherFederations parameters: - name: inum in: path @@ -2244,23 +2172,41 @@ paths: type: string 500: description: Server error - /api/v1/saml/tr/generate_inum_for_new_trust_relationship: + /api/v1/saml/tr/list_all_active_trust_relationships: get: - operationId: generateInumForNewTrustRelationship + operationId: listAllActiveTrustRelationships responses: 200: description: OK content: - text/plain: + application/json: schema: type: string 500: description: Server error - /api/v1/inbound-saml/trusted-idp/inum/{inum}: + /api/v1/saml/tr/set_metadata_url/{inum}: + post: + operationId: setMetadataURL + parameters: + - name: inum + in: path + required: true + schema: + type: string + requestBody: + content: + text/plain: + schema: + type: string + required: true + responses: + 200: + description: OK + 500: + description: Server error + /api/v1/saml/tr/get_contacts/{inum}: get: - summary: Get TrustedIDP by inum - description: Get a TrustedIDP by inum - operationId: gluuTrustedIdp + operationId: getContacts parameters: - name: inum in: path @@ -2269,47 +2215,45 @@ paths: type: string responses: 200: - description: Success + description: OK content: - application/json: + text/plain: schema: - $ref: '#/components/schemas/TrustedIDPApi' - 404: - description: Resource not Found + type: string 500: description: Server error - /api/v1/inbound-saml/trusted-idp: + /api/v1/saml/tr/list_all_federations: get: - summary: Retrieve all trusted-idps - description: Retrieve all trusted-idps - operationId: gluuTrustedIdps + operationId: listAllFederations responses: 200: - description: Success + description: OK content: application/json: schema: type: string 500: description: Server error + /api/v1/saml/tr/set_contacts/{inum}: post: - summary: Add TrustedIDP - description: Add an TrustedIDP - operationId: createGluuTrustedIdp + summary: set contacts for TrustRelationship + description: Find TrustRelationship by inum and set contacts. Contacts parameter + is List + operationId: setContacts + parameters: + - name: inum + in: path + required: true + schema: + type: string requestBody: content: application/json: schema: - $ref: '#/components/schemas/TrustedIDPApi' + type: string responses: - 201: - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/TrustedIDPApi' - 403: - description: Trust Relation already exists + 200: + description: OK 500: description: Server error /api/v1/inbound-saml/trusted-idp/{remoteIdpHost}: @@ -2375,11 +2319,11 @@ paths: description: Success 500: description: Server error - /api/v1/uma/resources: + /api/v1/inbound-saml/trusted-idp: get: - summary: Get UMA resources - description: Get uma resources - operationId: listUmaResources + summary: Retrieve all trusted-idps + description: Retrieve all trusted-idps + operationId: gluuTrustedIdps responses: 200: description: Success @@ -2389,55 +2333,66 @@ paths: type: string 500: description: Server error - put: - summary: Update UMA resource - description: Update uma resource - operationId: updateUmaResource + post: + summary: Add TrustedIDP + description: Add an TrustedIDP + operationId: createGluuTrustedIdp requestBody: content: application/json: schema: - $ref: '#/components/schemas/UmaResource' + $ref: '#/components/schemas/TrustedIDPApi' responses: - 200: + 201: description: Success content: application/json: schema: - $ref: '#/components/schemas/UmaResource' + $ref: '#/components/schemas/TrustedIDPApi' + 403: + description: Trust Relation already exists 500: description: Server error - post: - summary: Add new UMA resource - description: Add new uma resource - operationId: createUmaResource - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UmaResource' + /api/v1/inbound-saml/trusted-idp/inum/{inum}: + get: + summary: Get TrustedIDP by inum + description: Get a TrustedIDP by inum + operationId: gluuTrustedIdp + parameters: + - name: inum + in: path + required: true + schema: + type: string responses: 200: description: Success content: application/json: schema: - $ref: '#/components/schemas/UmaResource' + $ref: '#/components/schemas/TrustedIDPApi' + 404: + description: Resource not Found 500: description: Server error - /api/v1/uma/resources/{id}: - get: - summary: Get UMA resource by id - description: Get a uma resource by id - operationId: getUmaResourceById + /api/v1/uma/resources/{id}/clients/{inum}: + post: + summary: Add UMA resource client + description: add client to uma resource + operationId: addClientToUmaResource parameters: - name: id in: path required: true schema: type: string + - name: inum + in: path + required: true + schema: + type: string responses: - 200: + 201: description: Success content: application/json: @@ -2446,51 +2401,34 @@ paths: 500: description: Server error delete: - summary: Delete UMA resource - description: Delete a uma resource - operationId: deleteUmaResource + summary: Remove UMA resource client + description: Remove client from uma resource + operationId: removeClientToUmaResource parameters: - name: id in: path required: true schema: type: string - responses: - 200: - description: Success - 500: - description: Server error - /api/v1/uma/resources/search: - get: - summary: Search UMA resources - description: Search uma resources - operationId: searchUmaResources - parameters: - - name: pattern - in: query + - name: inum + in: path required: true schema: type: string - - name: size - in: query - required: true - schema: - type: integer - format: int32 responses: 200: description: Success content: application/json: schema: - type: string + $ref: '#/components/schemas/UmaResource' 500: description: Server error - /api/v1/uma/resources/{id}/clients/{inum}: + /api/v1/uma/resources/{id}/scopes/{inum}: post: - summary: Add UMA resource client - description: add client to uma resource - operationId: addClientToUmaResource + summary: Add UMA resource scope + description: add scope to uma resource + operationId: addScopeToUmaResource parameters: - name: id in: path @@ -2503,7 +2441,7 @@ paths: schema: type: string responses: - 201: + 200: description: Success content: application/json: @@ -2512,9 +2450,9 @@ paths: 500: description: Server error delete: - summary: Remove UMA resource client - description: Remove client from uma resource - operationId: removeClientToUmaResource + summary: Remove UMA resource scope + description: remove a scope from uma resource + operationId: removeScopeToUmaResource parameters: - name: id in: path @@ -2535,11 +2473,11 @@ paths: $ref: '#/components/schemas/UmaResource' 500: description: Server error - /api/v1/uma/resources/{id}/clients: + /api/v1/uma/resources/{id}/scopes: get: - summary: Get clients of UMA resources - description: Get clients of uma resource - operationId: getUmaResourceClients + summary: Get UMA resource scopes + description: Get scopes of uma resource + operationId: getUmaResourceScopes parameters: - name: id in: path @@ -2551,11 +2489,11 @@ paths: description: default response content: application/json: {} - /api/v1/uma/resources/{id}/scopes: + /api/v1/uma/resources/{id}/clients: get: - summary: Get UMA resource scopes - description: Get scopes of uma resource - operationId: getUmaResourceScopes + summary: Get clients of UMA resources + description: Get clients of uma resource + operationId: getUmaResourceClients parameters: - name: id in: path @@ -2567,22 +2505,67 @@ paths: description: default response content: application/json: {} - /api/v1/uma/resources/{id}/scopes/{inum}: + /api/v1/uma/resources: + get: + summary: Get UMA resources + description: Get uma resources + operationId: listUmaResources + responses: + 200: + description: Success + content: + application/json: + schema: + type: string + 500: + description: Server error + put: + summary: Update UMA resource + description: Update uma resource + operationId: updateUmaResource + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UmaResource' + responses: + 200: + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UmaResource' + 500: + description: Server error post: - summary: Add UMA resource scope - description: add scope to uma resource - operationId: addScopeToUmaResource + summary: Add new UMA resource + description: Add new uma resource + operationId: createUmaResource + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UmaResource' + responses: + 200: + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UmaResource' + 500: + description: Server error + /api/v1/uma/resources/{id}: + get: + summary: Get UMA resource by id + description: Get a uma resource by id + operationId: getUmaResourceById parameters: - name: id in: path required: true schema: type: string - - name: inum - in: path - required: true - schema: - type: string responses: 200: description: Success @@ -2593,27 +2576,44 @@ paths: 500: description: Server error delete: - summary: Remove UMA resource scope - description: remove a scope from uma resource - operationId: removeScopeToUmaResource + summary: Delete UMA resource + description: Delete a uma resource + operationId: deleteUmaResource parameters: - name: id in: path required: true schema: type: string - - name: inum - in: path + responses: + 200: + description: Success + 500: + description: Server error + /api/v1/uma/resources/search: + get: + summary: Search UMA resources + description: Search uma resources + operationId: searchUmaResources + parameters: + - name: pattern + in: query required: true schema: type: string + - name: size + in: query + required: true + schema: + type: integer + format: int32 responses: 200: description: Success content: application/json: schema: - $ref: '#/components/schemas/UmaResource' + type: string 500: description: Server error /api/v1/uma/scopes/{inum}: @@ -2701,26 +2701,69 @@ paths: $ref: '#/components/schemas/Scope' 500: description: Server error - /api/v1/uma/scopes/search: + /api/v1/uma/scopes/search: + get: + summary: Search UMA scopes + description: Search uma scopes + operationId: searchUmaScopes + parameters: + - name: pattern + in: query + required: true + schema: + type: string + responses: + 200: + description: success + content: + application/json: + schema: + type: string + 500: + description: Server error + /api/v1/radius/clients/{inum}: get: - summary: Search UMA scopes - description: Search uma scopes - operationId: searchUmaScopes + summary: Get radius client by inum + description: Get radius client by inum + operationId: getRadiusClient parameters: - - name: pattern - in: query + - name: inum + in: path required: true schema: type: string responses: 200: - description: success + description: Success content: application/json: schema: - type: string + $ref: '#/components/schemas/RadiusClient' + 403: + description: Gluu Radius is not installed + 404: + description: Radius client not found 500: - description: Server error + description: Internal server error + delete: + summary: Delete radius client + description: Deletes a radius client + operationId: deleteRadiusClient + parameters: + - name: inum + in: path + required: true + schema: + type: string + responses: + 204: + description: Success + 403: + description: Gluu Radius is not installed + 404: + description: Radius client not found + 500: + description: Internal server error /api/v1/radius/clients: get: summary: Get all radius clients @@ -2783,49 +2826,6 @@ paths: description: Gluu Radius is not installed 500: description: Internal server error - /api/v1/radius/clients/{inum}: - get: - summary: Get radius client by inum - description: Get radius client by inum - operationId: getRadiusClient - parameters: - - name: inum - in: path - required: true - schema: - type: string - responses: - 200: - description: Success - content: - application/json: - schema: - $ref: '#/components/schemas/RadiusClient' - 403: - description: Gluu Radius is not installed - 404: - description: Radius client not found - 500: - description: Internal server error - delete: - summary: Delete radius client - description: Deletes a radius client - operationId: deleteRadiusClient - parameters: - - name: inum - in: path - required: true - schema: - type: string - responses: - 204: - description: Success - 403: - description: Gluu Radius is not installed - 404: - description: Radius client not found - 500: - description: Internal server error /api/v1/radius/settings: get: summary: Get Radius Server Configuration @@ -2998,9 +2998,7 @@ components: $ref: '#/components/schemas/AttributeValidation' gluuTooltip: type: string - whitePagesCanView: - type: boolean - userCanView: + adminCanEdit: type: boolean userCanEdit: type: boolean @@ -3010,7 +3008,9 @@ components: type: boolean adminCanView: type: boolean - adminCanEdit: + userCanView: + type: boolean + whitePagesCanView: type: boolean baseDn: type: string @@ -4013,6 +4013,10 @@ components: type: array items: $ref: '#/components/schemas/SimpleExtendedCustomProperty' + privateProperties: + type: array + items: + $ref: '#/components/schemas/SimpleExtendedCustomProperty' level: type: integer format: int32 @@ -4638,75 +4642,6 @@ components: type: string cookieDomain: type: string - OxTrustBasicConfig: - type: object - properties: - baseDN: - type: string - orgSupportEmail: - type: string - applicationUrl: - type: string - baseEndpoint: - type: string - ldifStore: - type: string - updateStatus: - type: boolean - keystorePath: - type: string - allowPersonModification: - type: boolean - configGeneration: - type: boolean - gluuSpCert: - type: string - certDir: - type: string - servicesRestartTrigger: - type: string - loginRedirectUrl: - type: string - logoutRedirectUrl: - type: string - clientAssociationAttribute: - type: string - ignoreValidation: - type: boolean - umaIssuer: - type: string - cssLocation: - type: string - jsLocation: - type: string - enableUpdateNotification: - type: boolean - oxIncommonFlag: - type: boolean - clientWhiteList: - type: array - items: - type: string - clientBlackList: - type: array - items: - type: string - loggingLevel: - type: string - organizationName: - type: string - disableJdkLogger: - type: boolean - passwordResetRequestExpirationTime: - type: integer - format: int32 - cleanServiceInterval: - type: integer - format: int32 - enforceEmailUniqueness: - type: boolean - useLocalCache: - type: boolean AppConfiguration: type: object properties: @@ -4931,8 +4866,6 @@ components: - OAUTH - TEST - UMA - auditConfigLogsLocation: - type: string ScimProperties: $ref: '#/components/schemas/ScimProperties' LocaleSupported: @@ -4963,6 +4896,75 @@ components: - BYPASS userExtensionSchemaURI: type: string + OxTrustBasicConfig: + type: object + properties: + baseDN: + type: string + orgSupportEmail: + type: string + applicationUrl: + type: string + baseEndpoint: + type: string + ldifStore: + type: string + updateStatus: + type: boolean + keystorePath: + type: string + allowPersonModification: + type: boolean + configGeneration: + type: boolean + gluuSpCert: + type: string + certDir: + type: string + servicesRestartTrigger: + type: string + loginRedirectUrl: + type: string + logoutRedirectUrl: + type: string + clientAssociationAttribute: + type: string + ignoreValidation: + type: boolean + umaIssuer: + type: string + cssLocation: + type: string + jsLocation: + type: string + enableUpdateNotification: + type: boolean + oxIncommonFlag: + type: boolean + clientWhiteList: + type: array + items: + type: string + clientBlackList: + type: array + items: + type: string + loggingLevel: + type: string + organizationName: + type: string + disableJdkLogger: + type: boolean + passwordResetRequestExpirationTime: + type: integer + format: int32 + cleanServiceInterval: + type: integer + format: int32 + enforceEmailUniqueness: + type: boolean + useLocalCache: + type: boolean OxTrustJsonSetting: type: object properties: @@ -5267,7 +5269,7 @@ components: type: boolean new: type: boolean - userCanView: + adminCanEdit: type: boolean userCanEdit: type: boolean @@ -5277,7 +5279,7 @@ components: type: boolean adminCanView: type: boolean - adminCanEdit: + userCanView: type: boolean stringValues: type: array @@ -5397,30 +5399,22 @@ components: type: string certificate: type: string - entityId: - type: string - federation: - type: boolean - mdqFederation: - type: boolean - researchBundle: - type: boolean uniqueGluuEntityId: uniqueItems: true type: array writeOnly: true items: type: string - containerFederation: - $ref: '#/components/schemas/GluuSAMLTrustRelationship' - specificRelyingPartyConfig: - type: boolean - uriMetadataSourceType: + entityId: + type: string + federation: type: boolean - fileMetadataSourceType: + researchBundle: type: boolean - mdqMetadataSourceType: + specificRelyingPartyConfig: type: boolean + containerFederation: + $ref: '#/components/schemas/GluuSAMLTrustRelationship' baseDn: type: string writeOnly: true diff --git a/configuration/src/main/resources/META-INF/shibboleth3/idp/relying-party.xml.vm b/configuration/src/main/resources/META-INF/shibboleth3/idp/relying-party.xml.vm index 52a166392..a6ebbb8a9 100644 --- a/configuration/src/main/resources/META-INF/shibboleth3/idp/relying-party.xml.vm +++ b/configuration/src/main/resources/META-INF/shibboleth3/idp/relying-party.xml.vm @@ -119,6 +119,7 @@ p:includeAttributeStatement="$profileConfig.includeAttributeStatement" p:assertionLifetime="$profileConfig.assertionLifetime" p:postAuthenticationFlows="#{{'gluu-release-attributes-post-processor'}}" + p:inboundInterceptorFlows="#{ {'gluu-populate-context'} }" #if ($profileConfig.signResponses == 'conditional') p:signResponsesPredicate-ref="SignNoIntegrity" #{else} diff --git a/pom.xml b/pom.xml index 78c8df003..0fb89d779 100644 --- a/pom.xml +++ b/pom.xml @@ -147,7 +147,7 @@ org.gluu scim-model - ${project.version} + 4.5.3.Final org.gluu @@ -220,42 +220,42 @@ org.gluu gluu-orm-annotation - ${oxcore.version} + ${gluu.parent.version} org.gluu gluu-orm-model - ${oxcore.version} + ${gluu.parent.version} org.gluu gluu-orm-ldap - ${oxcore.version} + ${gluu.parent.version} org.gluu gluu-orm-ldap-sample - ${oxcore.version} + ${gluu.parent.version} org.gluu gluu-orm-couchbase - ${oxcore.version} + ${gluu.parent.version} org.gluu gluu-orm-hybrid - ${oxcore.version} + ${gluu.parent.version} org.gluu gluu-orm-cdi - ${oxcore.version} + ${gluu.parent.version} org.gluu gluu-orm-standalone - ${oxcore.version} + ${gluu.parent.version} org.gluu @@ -299,7 +299,7 @@ org.primefaces primefaces - 8.0 + 13.0.3 @@ -379,7 +379,7 @@ org.apache.santuario xmlsec - 2.3.3 + 2.3.4 org.javatuples diff --git a/server-fips/pom.xml b/server-fips/pom.xml index 811e6f966..b246abb94 100644 --- a/server-fips/pom.xml +++ b/server-fips/pom.xml @@ -61,10 +61,10 @@ - WEB-INF/lib/bcpkix-jdk15on-*.jar, - WEB-INF/lib/bcprov-jdk15on-*.jar, - WEB-INF/lib/bcutil-jdk15on-*.jar, - WEB-INF/lib/bcmail-jdk15on-*.jar + WEB-INF/lib/bcpkix-jdk18on-*.jar, + WEB-INF/lib/bcprov-jdk18on-*.jar, + WEB-INF/lib/bcutil-jdk18on-*.jar, + WEB-INF/lib/bcmail-jdk18on-*.jar diff --git a/server/pom.xml b/server/pom.xml index 882a0c5fa..392425038 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -306,6 +306,12 @@ org.gluu oxtrust-service + + + org.bouncycastle + bcprov-jdk15on + + @@ -520,15 +526,15 @@ org.bouncycastle - bcprov-jdk15on + bcprov-jdk18on org.bouncycastle - bcpkix-jdk15on + bcpkix-jdk18on org.bouncycastle - bcmail-jdk15on + bcmail-jdk18on @@ -690,6 +696,10 @@ ca.juliusdavies not-yet-commons-ssl + + org.bouncycastle + bcprov-jdk15on + diff --git a/server/src/main/java/org/gluu/oxtrust/action/UpdateClientAction.java b/server/src/main/java/org/gluu/oxtrust/action/UpdateClientAction.java index 25594958f..08ad3e3e5 100644 --- a/server/src/main/java/org/gluu/oxtrust/action/UpdateClientAction.java +++ b/server/src/main/java/org/gluu/oxtrust/action/UpdateClientAction.java @@ -268,8 +268,8 @@ public String add() throws Exception { this.spontaneousScopesScripts = Lists.newArrayList(); this.backchannelLogoutUri = getStringFromList(client.getAttributes().getBackchannelLogoutUri()); this.tlsSubjectDn = client.getAttributes().getTlsClientAuthSubjectDn(); - this.redirectLogoutUrl = getNonEmptyStringList(client.getOxAuthPostLogoutRedirectURIs()); this.scopePattern = ""; + this.redirectLogoutUrl = getNonEmptyStringList(client.getOxAuthPostLogoutRedirectURIs()); searchAvailableCustomScriptsforAcr(); } catch (BasePersistenceException ex) { log.error("Failed to prepare lists", ex); @@ -691,7 +691,7 @@ && checkBlackListRedirectUris(availableLoginUri)) { } this.availableLoginUri = HTTPS; } - + private boolean isAcceptable(String availableLoginUri) { boolean result = false; try { @@ -1534,10 +1534,9 @@ public List getScripts(CustomScriptType type) { } public void searchAvailableScopes() { - //if (this.availableScopes != null) { - // selectAddedScopes(); - // return; - //} + /* + * if (this.availableScopes != null) { selectAddedScopes(); return; } + */ List> tmpAvailableScopes = new ArrayList>(); List scopes = new ArrayList(); try { @@ -2219,14 +2218,6 @@ public void setResources(List resources) { this.resources = resources; } - public String getScopePattern() { - return scopePattern; - } - - public void setScopePattern(String scopePattern) { - this.scopePattern = scopePattern; - } - public List getClientBackChannellogoutUris() { return clientBackChannellogoutUris; } @@ -2258,4 +2249,12 @@ public String getAvailableRedirectLogoutUrl() { public void setAvailableRedirectLogoutUrl(String availableRedirectLogoutUrl) { this.availableRedirectLogoutUrl = availableRedirectLogoutUrl; } + + public String getScopePattern() { + return scopePattern; + } + + public void setScopePattern(String scopePattern) { + this.scopePattern = scopePattern; + } } diff --git a/server/src/main/java/org/gluu/oxtrust/action/UpdatePersonAction.java b/server/src/main/java/org/gluu/oxtrust/action/UpdatePersonAction.java index 13383fc8d..6f930a9e8 100644 --- a/server/src/main/java/org/gluu/oxtrust/action/UpdatePersonAction.java +++ b/server/src/main/java/org/gluu/oxtrust/action/UpdatePersonAction.java @@ -569,8 +569,10 @@ public String save() throws Exception { } if (customAttribute.getName().equalsIgnoreCase("oxTrustActive")) { if(gluuStatus.equalsIgnoreCase("active")) { + customAttribute.setValue(GluuBoolean.TRUE); customAttribute.setBooleanValue(GluuBoolean.TRUE); }else { + customAttribute.setValue(GluuBoolean.FALSE); customAttribute.setBooleanValue(GluuBoolean.FALSE); } } diff --git a/server/src/main/java/org/gluu/oxtrust/service/EntityIDMonitoringService.java b/server/src/main/java/org/gluu/oxtrust/service/EntityIDMonitoringService.java index 34d2357b3..223f26b9e 100644 --- a/server/src/main/java/org/gluu/oxtrust/service/EntityIDMonitoringService.java +++ b/server/src/main/java/org/gluu/oxtrust/service/EntityIDMonitoringService.java @@ -22,6 +22,7 @@ import javax.inject.Named; import org.apache.commons.collections.CollectionUtils; +import org.gluu.config.oxtrust.AppConfiguration; import org.gluu.model.GluuStatus; import org.gluu.oxtrust.model.GluuSAMLTrustRelationship; import org.gluu.oxtrust.model.GluuValidationStatus; @@ -53,7 +54,8 @@ public class EntityIDMonitoringService { @Inject private Event timerEvent; - + @Inject + private AppConfiguration appConfiguration; @Inject private ServiceUtil serviceUtil; @@ -92,7 +94,12 @@ public void processMetadataValidationTimerEvent( } try { - process(); + boolean isConfigGeneration = appConfiguration.isConfigGeneration(); + if(isConfigGeneration) { + process(); + }else { + log.debug("EntityID monitoring config generation disabled"); + } } catch (Throwable ex) { log.error("Exception happened while monitoring EntityId", ex); ex.printStackTrace(); diff --git a/server/src/main/java/org/gluu/oxtrust/service/MetadataValidationTimer.java b/server/src/main/java/org/gluu/oxtrust/service/MetadataValidationTimer.java index 850aa5dd4..9daef0515 100644 --- a/server/src/main/java/org/gluu/oxtrust/service/MetadataValidationTimer.java +++ b/server/src/main/java/org/gluu/oxtrust/service/MetadataValidationTimer.java @@ -171,6 +171,8 @@ private void regenerateConfigurationFiles() { shibboleth3ConfService.generateConfigurationFiles(trustRelationships); log.info("IDP config generation files finished. TR count: '{}'", trustRelationships.size()); + }else { + log.debug("Shibboleth config generation disabled"); } } diff --git a/server/src/main/java/org/gluu/oxtrust/service/TranscodingRulesUpdater.java b/server/src/main/java/org/gluu/oxtrust/service/TranscodingRulesUpdater.java index 526372333..4dfdb4ad9 100644 --- a/server/src/main/java/org/gluu/oxtrust/service/TranscodingRulesUpdater.java +++ b/server/src/main/java/org/gluu/oxtrust/service/TranscodingRulesUpdater.java @@ -10,6 +10,7 @@ import javax.inject.Inject; import javax.inject.Named; +import org.gluu.config.oxtrust.AppConfiguration; import org.gluu.oxtrust.service.cdi.event.TranscodingRulesUpdateEvent; import org.gluu.service.cdi.async.Asynchronous; import org.gluu.service.cdi.event.Scheduled; @@ -30,6 +31,9 @@ public class TranscodingRulesUpdater implements Serializable { @Inject private Logger log; + @Inject + private AppConfiguration appConfiguration; + @Inject private Event timerEvent; @@ -73,6 +77,11 @@ public void processTranscodingRulesUpdateEvent(@Observes @Scheduled TranscodingR private void processTranscodingRulesUpdate() { + if(appConfiguration.isConfigGeneration() == false) { + log.debug("Shibboleth configuration generation is disabled"); + return; + } + log.debug("Start shibboleth transcoding rules update"); if(!shibbolethConfService.generateGluuAttributeRulesFile()) { log.error("Shibboleth transcoding rules update failed. (Please restart service manually)"); diff --git a/server/src/main/webapp/WEB-INF/incl/layout/leftmenu.xhtml b/server/src/main/webapp/WEB-INF/incl/layout/leftmenu.xhtml index f68a4e834..73e085151 100644 --- a/server/src/main/webapp/WEB-INF/incl/layout/leftmenu.xhtml +++ b/server/src/main/webapp/WEB-INF/incl/layout/leftmenu.xhtml @@ -190,14 +190,7 @@ style="float: left; margin-top: 2px;"> -
  • - -
  • + diff --git a/server/src/main/webapp/WEB-INF/incl/person/userForm.xhtml b/server/src/main/webapp/WEB-INF/incl/person/userForm.xhtml index a3eaff354..ac04d9e88 100644 --- a/server/src/main/webapp/WEB-INF/incl/person/userForm.xhtml +++ b/server/src/main/webapp/WEB-INF/incl/person/userForm.xhtml @@ -81,7 +81,7 @@ value="#{_customAttributeAction.attributeIds[_custAttr.metadata]}"/>
    + rendered="#{((_custAttr.adminCanEdit or _mustEnter) and (_custAttr.metadata.dataType.value eq 'boolean') and (_custAttr.metadata.displayName ne 'User Status') and (_custAttr.metadata.name ne 'oxTrustActive')) }"> diff --git a/server/src/main/webapp/client/addClient.xhtml b/server/src/main/webapp/client/addClient.xhtml index 758e9c381..d6767295d 100644 --- a/server/src/main/webapp/client/addClient.xhtml +++ b/server/src/main/webapp/client/addClient.xhtml @@ -83,7 +83,7 @@ nameProperty="entity.id" render="selectedScopesId" searchMethod="#{updateClientAction.searchAvailableScopes}" searchResult="#{updateClientAction.availableScopes}" - searchPattern="#{updateClientAction.scopePattern}" /> + searchPattern="#{updateClientAction.scopePattern}"/> - - + + getMandatoryAtributes() { mandatoryAttributes.add(new GluuCustomAttribute("mail", "", true, true)); mandatoryAttributes.add(new GluuCustomAttribute("userPassword", "", true, true)); mandatoryAttributes.add(new GluuCustomAttribute("gluuStatus", "", true, true)); + mandatoryAttributes.add(new GluuCustomAttribute("oxTrustActive", "", true, true)); } return mandatoryAttributes; } diff --git a/static/src/main/resources/META-INF/resources/schema/oxauth-config.xml.json b/static/src/main/resources/META-INF/resources/schema/oxauth-config.xml.json index 4532bb46c..d82ed343f 100644 --- a/static/src/main/resources/META-INF/resources/schema/oxauth-config.xml.json +++ b/static/src/main/resources/META-INF/resources/schema/oxauth-config.xml.json @@ -1992,6 +1992,7 @@ "cibaEndUserNotificationConfig", "deviceAuthzRequestExpiresIn", "deviceAuthzTokenPollInterval", - "deviceAuthzResponseTypeToProcessAuthz" + "deviceAuthzResponseTypeToProcessAuthz", + "skipAuthenticationFilterOptionsMethod" ] }