diff --git a/cp/app/Controllers/ProfileController.php b/cp/app/Controllers/ProfileController.php
index d8e54b2..4484dce 100644
--- a/cp/app/Controllers/ProfileController.php
+++ b/cp/app/Controllers/ProfileController.php
@@ -266,4 +266,30 @@ class ProfileController extends Controller
Auth::logoutEverywhereElse();
}
+ public function tokenWell(Request $request, Response $response)
+ {
+ global $container;
+ $csrf = $container->get('csrf');
+
+ // Get CSRF token name and value
+ $csrfTokenName = $csrf->getTokenName();
+ $csrfTokenValue = $csrf->getTokenValue();
+
+ // Check if tokens exist
+ if (!$csrfTokenName || !$csrfTokenValue) {
+ $errorResponse = json_encode(['error' => 'CSRF tokens not found']);
+ $response->getBody()->write($errorResponse);
+ return $response->withHeader('Content-Type', 'application/json')->withStatus(400);
+ }
+
+ // Create JSON response in the expected format
+ $csrfResponse = json_encode([
+ $csrfTokenName => $csrfTokenValue
+ ]);
+
+ // Write response body and return with JSON header
+ $response->getBody()->write($csrfResponse);
+ return $response->withHeader('Content-Type', 'application/json')->withStatus(200);
+ }
+
}
\ No newline at end of file
diff --git a/cp/bootstrap/app.php b/cp/bootstrap/app.php
index 6325d11..94b13dd 100644
--- a/cp/bootstrap/app.php
+++ b/cp/bootstrap/app.php
@@ -302,6 +302,10 @@ $csrfMiddleware = function ($request, $handler) use ($container) {
if ($path && $path === '/clear-cache') {
return $handler->handle($request);
}
+ if ($path && $path === '/token-well') {
+ $csrf->generateToken();
+ return $handler->handle($request);
+ }
// If not skipped, apply the CSRF Guard
return $csrf->process($request, $handler);
diff --git a/cp/resources/views/admin/domains/createApplication.twig b/cp/resources/views/admin/domains/createApplication.twig
index 8751690..6fccd72 100644
--- a/cp/resources/views/admin/domains/createApplication.twig
+++ b/cp/resources/views/admin/domains/createApplication.twig
@@ -491,114 +491,108 @@