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