Add OAuth logic for Workspaces HTTP Server

Issue: Add OAuth for traffic on Workspaces HTTP server (#733 - closed)

Description

Add OAuth logic for Workspaces HTTP Server.

Steps to verify

  1. Generate certs for workspaces domain in your GDK directory - DOMAIN="workspaces.localtest.me" mkcert -key-file $(DOMAIN).key -cert-file $(DOMAIN).crt "*.$(DOMAIN)"
  2. Start GDK on vtak/workspaces_server_setup branch.
  3. Reconfigure and restart GDK - gdk reconfigure && gdk restart.
  4. Start GitLab on vtak/agentw_integration_test branch.
  5. Start GitLab Agent Server(KAS).
  6. Start GitLab Agent for Kubernetes(agentk).
  7. Create a workspace.
  8. Browse https://60001-workspace-4-1-n8dl59.workspaces.localtest.me:3555/ (Replace workspace-4-1-n8dl59 with an actual workspace name created above).
  9. Verify the response is Hello from Workspaces Server! Welcome, user:{id:1} ! Tunneling your request to workspace:{id:30 port:60001}. (The id will vary in your response).

Screen Recording

Workspace found and not found

Screen_Recording_2025-08-04_at_5.24.52_PM

Query params are not modified on OAuth redirects

Screen_Recording_2025-08-07_at_3.02.42_PM

Query params are preserved on OAuth redirects even if they contain the transfer token and/or transfer error from the user

Screen_Recording_2025-08-07_at_3.01.34_PM

Edited by Vishal Tak

Merge request reports

Loading