Make the KamoDesktop SSO link redeemable exactly once

FixSecurityService
Ya
26 Agosti 2026, 03:15 UTC
Mwandishi
Kamo
Ahadi ya
5eb7ab6

The link is delivered as a URL, so it lands in browser history and in the reopen-closed-tab list, where it long outlives the session it was minted for. Until now it stayed redeemable for the whole token window, and I had widened that window from five minutes to eight hours to fix the reconnect cliff. The consequence, demonstrated against the live gateway: after finishing work and closing everything, replaying that link from history minted a BRAND NEW working session into the VM — for the rest of the day, surviving a browser restart, with no password. I flagged the widening as a leaked-URL tradeoff at the time, which undersold it. guacamole-auth-json enforces single use server-side: UserDataService.fromCredentials registers the blob's signature in a UserDataDenylist on first redemption, so it does not depend on anything the browser does. Verified live — the second redemption of the same blob is refused with 403. Set on the TOKEN, not on its connections. The per-connection singleUse is a different field that deletes the connection from the token on first connect and would break every reconnect; a test now pins that distinction. Cost, accepted deliberately: refreshing the desktop tab no longer re-opens the session, because the refresh spends nothing. The way back in is the icon in Kamo.

Mabadiliko yote

Je, unaona nini kuhusu usafiri?

Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.

Kuwa Huru MileleMtazamo wa bei