Merge pull request #9357 from appwrite/feat-authroized-previews

Feat: Authorized previews
This commit is contained in:
Matej Bačo
2025-03-08 21:04:25 +01:00
committed by GitHub
6 changed files with 294 additions and 5 deletions
+5
View File
@@ -103,6 +103,11 @@ class Auth
*/
public static $cookieName = 'a_session';
/**
* @var string
*/
public static $cookieNamePreview = 'a_jwt_console';
/**
* User Unique ID.
*
+9 -1
View File
@@ -23,6 +23,7 @@ class Key
protected bool $hostnameOverride = false,
protected bool $bannerDisabled = false,
protected bool $projectCheckDisabled = false,
protected bool $previewAuthDisabled = false,
) {
}
@@ -73,6 +74,11 @@ class Key
return $this->bannerDisabled;
}
public function isPreviewAuthDisabled(): bool
{
return $this->previewAuthDisabled;
}
public function isProjectCheckDisabled(): bool
{
return $this->projectCheckDisabled;
@@ -132,6 +138,7 @@ class Key
$hostnameOverride = $payload['hostnameOverride'] ?? false;
$bannerDisabled = $payload['bannerDisabled'] ?? false;
$projectCheckDisabled = $payload['projectCheckDisabled'] ?? false;
$previewAuthDisabled = $payload['previewAuthDisabled'] ?? false;
$scopes = \array_merge($payload['scopes'] ?? [], $scopes);
if (!$projectCheckDisabled && $projectId !== $project->getId()) {
@@ -148,7 +155,8 @@ class Key
$disabledMetrics,
$hostnameOverride,
$bannerDisabled,
$projectCheckDisabled
$projectCheckDisabled,
$previewAuthDisabled
);
case API_KEY_STANDARD:
$key = $project->find(
@@ -742,7 +742,8 @@ class Builds extends Action
$apiKey = $jwtObj->encode([
'hostnameOverride' => true,
'bannerDisabled' => true,
'projectCheckDisabled' => true
'projectCheckDisabled' => true,
'previewAuthDisabled' => true,
]);
// TODO: @Meldiron if becomes too slow, do concurrently