FIX: Toku envía complejo el header

This commit is contained in:
Juan Pablo Vial
2025-05-29 19:56:43 -04:00
parent f399eb8d47
commit 6144accb8e
2 changed files with 12 additions and 3 deletions

View File

@ -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']);

View File

@ -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;
}
}