From 1ce58139d2b204d1cb5356e58a9c9111a93206c9 Mon Sep 17 00:00:00 2001
From: Stefano Alberto Russo <stefano.russo@gmail.com>
Date: Sun, 6 Apr 2025 23:59:34 +0200
Subject: [PATCH] Added a redirect in the proxy to workaround that JS request
 cannot be constructed from a URL that includes credentials.

---
 services/webapp/code/rosetta/core_app/utils.py | 2 ++
 services/webapp/code/rosetta/core_app/views.py | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/services/webapp/code/rosetta/core_app/utils.py b/services/webapp/code/rosetta/core_app/utils.py
index dc4a44c..19e1e73 100644
--- a/services/webapp/code/rosetta/core_app/utils.py
+++ b/services/webapp/code/rosetta/core_app/utils.py
@@ -725,6 +725,8 @@ Listen '''+str(task.tcp_tunnel_port)+'''
       AuthUserFile /shared/etc_apache2_sites_enabled/'''+str(task.uuid)+'''.htpasswd
       Require valid-user
 
+      Redirect "/ad5aad4c-f68e-4077-b92f-8d9fd8f55428" "/"
+
       # preserve Host header to avoid cross-origin problems
       ProxyPreserveHost on
       # proxy to the port
diff --git a/services/webapp/code/rosetta/core_app/views.py b/services/webapp/code/rosetta/core_app/views.py
index c2a2516..ddcb7fc 100644
--- a/services/webapp/code/rosetta/core_app/views.py
+++ b/services/webapp/code/rosetta/core_app/views.py
@@ -1224,7 +1224,7 @@ def direct_connection_handler(request, uuid):
         if task.requires_proxy_auth and task.auth_token and not task.container.disable_http_basicauth_embedding:
             user = request.user.email
             password = task.auth_token
-            redirect_string = 'https://{}:{}@{}:{}'.format(user, password, rosetta_tasks_proxy_host, task.tcp_tunnel_port)
+            redirect_string = 'https://{}:{}@{}:{}/ad5aad4c-f68e-4077-b92f-8d9fd8f55428'.format(user, password, rosetta_tasks_proxy_host, task.tcp_tunnel_port)
         else:
             redirect_string = 'https://{}:{}'.format(rosetta_tasks_proxy_host, task.tcp_tunnel_port)
     else:
-- 
GitLab