From dde52b26ebb50c514ffd8187bc335376498fcea2 Mon Sep 17 00:00:00 2001 From: Cristiano Hoshikawa Date: Sat, 18 May 2024 20:26:48 -0300 Subject: [PATCH] =?UTF-8?q?Corre=C3=A7=C3=A3o.=20N=C3=A3o=20estava=20ocorr?= =?UTF-8?q?endo=20a=20valida=C3=A7=C3=A3o=20de=20schema=5Fbody=5Fvalidatio?= =?UTF-8?q?n=20para=20open=20api=203,=20pois=20estava=20validando=20soment?= =?UTF-8?q?e=20quando=20a=20especifica=C3=A7=C3=A3o=20estava=20configurada?= =?UTF-8?q?=20para=20propriedades=20diretamente.=20Caso=20as=20valida?= =?UTF-8?q?=C3=A7=C3=B5es=20fossem=20declaradas=20em=20schema=20(requestBo?= =?UTF-8?q?dy/Content/application/json/schema/$ref/#components/schemas)=20?= =?UTF-8?q?a=20valida=C3=A7=C3=A3o=20em=20authAPI=20n=C3=A3o=20executava?= =?UTF-8?q?=20(simplesmente=20ignora=20a=20valida=C3=A7=C3=A3o).=20=C3=89?= =?UTF-8?q?=20necess=C3=A1rio=20re-executar=20o=20applyValidationAPI=20par?= =?UTF-8?q?a=20reimplantar=20as=20APIs=20pois=20precisa=20acertar=20o=20sc?= =?UTF-8?q?hema=5Fbody=5Fvalidation=20dos=20headers.=20Precisa=20fazer=20a?= =?UTF-8?q?=20autentica=C3=A7=C3=A3o=20na=201a=20e=20na=202a=20camada=20de?= =?UTF-8?q?=20api=20(validation-callback)=20pois=20pode-se=20chamar=20a=20?= =?UTF-8?q?2a=20camada=20diretamente.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- files/OCI_API_Gateway_Automation_files.zip | Bin 35485 -> 35489 bytes files/authApi/func.py | 67 ++++++++++----------- 2 files changed, 33 insertions(+), 34 deletions(-) diff --git a/files/OCI_API_Gateway_Automation_files.zip b/files/OCI_API_Gateway_Automation_files.zip index 214e17e1fcfe5caf405cfd2073bdc6e76a9fa520..4aae5faf9a426846c64ca1510010f42657ad1f60 100644 GIT binary patch delta 3182 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 delta 3168 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 diff --git a/files/authApi/func.py b/files/authApi/func.py index 5039d4e..ea41e09 100644 --- a/files/authApi/func.py +++ b/files/authApi/func.py @@ -75,44 +75,43 @@ def handler(ctx, data: io.BytesIO = None): # header values access_token = header["token"] - if (body_schema_validation == None): - authorization = auth_idcs(access_token, url, ClientId, ClientSecret) - try: - if (authorization.json().get("active") != True): - return response.Response( - ctx, - status_code=401, - response_data=json.dumps({"active": False, "wwwAuthenticate": jsonData}) - ) - except(Exception) as ex1: - jsonData = 'error parsing json payload: ' + str(ex1) - put_logs_response = logging.put_logs( - log_id="ocid1.log.oc1.iad.amaaaaaanamaaaaaanamaaaaaanamaaaaaanamaaaaaanamaaaaaan", - put_logs_details=oci.loggingingestion.models.PutLogsDetails( - specversion="EXAMPLE-specversion-Value", - log_entry_batches=[ - oci.loggingingestion.models.LogEntryBatch( - entries=[ - oci.loggingingestion.models.LogEntry( - data="error(a): " + jsonData, - id="ocid1.test.oc1..00000001.EXAMPLE-id-Value")], - source="EXAMPLE-source-Value", - type="EXAMPLE-type-Value")])) - rdata = json.dumps({ - "active": False, - "context": { - "status_code": 401, - "message": "Unauthorized", - "body": body, - "body_schema_validation": json.dumps(body_schema_validation), - "error": str(ex1) - }}) - + authorization = auth_idcs(access_token, url, ClientId, ClientSecret) + try: + if (authorization.json().get("active") != True): return response.Response( ctx, status_code=401, - response_data=rdata + response_data=json.dumps({"active": False, "wwwAuthenticate": jsonData}) ) + except(Exception) as ex1: + jsonData = 'error parsing json payload: ' + str(ex1) + put_logs_response = logging.put_logs( + log_id="ocid1.log.oc1.iad.amaaaaaanamaaaaaanamaaaaaanamaaaaaanamaaaaaanamaaaaaan", + put_logs_details=oci.loggingingestion.models.PutLogsDetails( + specversion="EXAMPLE-specversion-Value", + log_entry_batches=[ + oci.loggingingestion.models.LogEntryBatch( + entries=[ + oci.loggingingestion.models.LogEntry( + data="error(a): " + jsonData, + id="ocid1.test.oc1..00000001.EXAMPLE-id-Value")], + source="EXAMPLE-source-Value", + type="EXAMPLE-type-Value")])) + rdata = json.dumps({ + "active": False, + "context": { + "status_code": 401, + "message": "Unauthorized", + "body": body, + "body_schema_validation": json.dumps(body_schema_validation), + "error": str(ex1) + }}) + + return response.Response( + ctx, + status_code=401, + response_data=rdata + ) rdata = json.dumps({ "active": True,