diff --git a/app/controllers/api/projects.php b/app/controllers/api/projects.php index d81c37a61c..cb75b76da5 100644 --- a/app/controllers/api/projects.php +++ b/app/controllers/api/projects.php @@ -1148,7 +1148,7 @@ App::post('/v1/projects/:projectId/keys') 'expire' => $expire, 'sdks' => [], 'accessedAt' => null, - 'secret' => API_KEY_STANDARD . '_' . \bin2hex(\random_bytes(128)), + 'secret' => \bin2hex(\random_bytes(128)), ]); $key = $dbForConsole->createDocument('keys', $key); diff --git a/app/controllers/shared/api.php b/app/controllers/shared/api.php index 6770375010..d08f208d82 100644 --- a/app/controllers/shared/api.php +++ b/app/controllers/shared/api.php @@ -242,7 +242,7 @@ App::init() // Regular key // Check if given key match project API keys - $key = $project->find('secret', $apiKey, 'keys'); + $key = $project->find('secret', $authKey, 'keys'); if ($key) { $user = new Document([ '$id' => '', diff --git a/src/Appwrite/Utopia/Response/Model/Key.php b/src/Appwrite/Utopia/Response/Model/Key.php index 1179a73d62..2dca87fdfe 100644 --- a/src/Appwrite/Utopia/Response/Model/Key.php +++ b/src/Appwrite/Utopia/Response/Model/Key.php @@ -4,6 +4,7 @@ namespace Appwrite\Utopia\Response\Model; use Appwrite\Utopia\Response; use Appwrite\Utopia\Response\Model; +use Utopia\Database\Document; class Key extends Model { @@ -93,4 +94,10 @@ class Key extends Model { return Response::MODEL_KEY; } + + public function filter(Document $document): Document + { + $document->setAttribute('secret', API_KEY_STANDARD . '_' . $document->getAttribute('secret', '')); + return $document; + } }