From 6144accb8e5069d5cbcee4de8a75c123673a3d73 Mon Sep 17 00:00:00 2001 From: Juan Pablo Vial Date: Thu, 29 May 2025 19:56:43 -0400 Subject: [PATCH] =?UTF-8?q?FIX:=20Toku=20env=C3=ADa=20complejo=20el=20head?= =?UTF-8?q?er?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/Middleware/API.php | 4 +++- app/src/Service/Venta/MediosPago/Toku.php | 11 +++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/app/src/Middleware/API.php b/app/src/Middleware/API.php index 5c66679..22dab2b 100644 --- a/app/src/Middleware/API.php +++ b/app/src/Middleware/API.php @@ -88,7 +88,9 @@ class API $data = $this->externalPaths[$basePath][$subPath]; if (isset($data['validator'])) { $method = [$data['validator'], 'validateToken']; - return $method($request, $data['token']); + if ($method($request, $data['token'])) { + return true; + } } if (isset($data['header']) and $request->hasHeader($data['header'])) { $token = $request->getHeaderLine($data['header']); diff --git a/app/src/Service/Venta/MediosPago/Toku.php b/app/src/Service/Venta/MediosPago/Toku.php index 6b58df3..460c595 100644 --- a/app/src/Service/Venta/MediosPago/Toku.php +++ b/app/src/Service/Venta/MediosPago/Toku.php @@ -397,7 +397,14 @@ class Toku extends Ideal\Service public static function validateToken(ServerRequestInterface $request, string $token): bool { - $tokenHeader = json_decode($request->getHeaderLine('token')); - return strtolower($tokenHeader->header) === 'x-api-key' and $tokenHeader->token === $token; + $tokenHeader = $request->getHeader('token'); + if (is_array($tokenHeader)) { + $tokenHeader = $tokenHeader[0]; + } + $json = json_decode($tokenHeader, true); + if ($json !== null) { + $tokenHeader = $json; + } + return strtolower($tokenHeader['header']) === 'x-api-key' and $tokenHeader['token'] === $token; } }