Replies: 1 comment
|
Source-verified against current master ( What the code does today. The trust fence and the browser token are two separate gates:
So your statement "no opt-out: no flag, no config field, no loopback exemption, no env pin" is exactly right for the index path; the fence you declared via Why I'd be cautious about your option 2 (treating requests that pass the The shapes that preserve the defense: your option 1 with the responsibility made explicit — an opt-in ( Two smaller fixes that would already remove most of your operational pain without dropping the gate:
The third-party-cookie/iframe case (Firefox partitioning) is genuinely unsolvable at this layer — an iframed instance cannot carry a third-party cookie, so if dashboards are a requirement, that specific embedding path does argue for the explicit opt-in flag scoped to that deployment. |
Uh oh!
There was an error while loading. Please reload this page.
Since 0.1.2 (tested 0.1.2-rc.1),
dsh webrequires every browser toopen a per-boot
?token=…URL before serving the UI; the token isprinted only on stdout, and a successful visit sets a 30-day cookie
bound to the exact request authority. As far as I can tell from
@deepseek-ai/dsh-client-connection(authorizeIndex/isAuthenticated) there is no opt-out: no CLI flag, no config field onthe connection plugin, no loopback exemption, and no way to pin the
token via environment.
For a single developer on localhost this is a sensible default. For a
managed deployment it is effectively a hard lock-out:
dsh webinstances (4 users × 4 hosts) behind aTLS-terminating reverse proxy on a private LAN, addressed by DNS
names that are already declared via
--trusted-host.service restart, so every browser × every instance × every ~30 days
needs a manual token fetch by an operator.
needs the dance twice.
authenticate at all in Firefox, which partitions third-party
cookies.
Would you accept one of the following? Happy to send a PR for
whichever shape you prefer:
--no-browser-authflag ondsh web(or aclient-connectionconfig field, e.g.browserAuth: false), or--trusted-hostfence asauthenticated, or
distribute a stable secret out of band).
We currently maintain a one-line source patch that makes
isAuthenticated()return true, reapplied on every upgrade — workablebut obviously not where this should live.
All reactions