Can Rex's HTTP listener sit behind an OIDC Ingress? #2
Labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#3 Exposure: joining the tailnet
mikluko/kuberex
Reference
mikluko/kuberex#2
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Map: #1
Question
Can Rex's HTTP listener (
--extra-listen http,login-server) sit behind a Traefik Ingress with OIDC from pocketid? What auth modes does each listener support, how do clients (rex -S, the Mac and phone apps) authenticate to it, and do WebSockets pass through? The answer is a yes/no with the constraints that decide the exposure ticket.Answer: No. Rex has no OIDC, bearer-token or browser-login auth on any listener; the docs say callers are trusted only by how they connect (Tailscale identity, unix peer), with real auth "planned".
httplistener requires--allow-anonymous(full access to anyone who reaches it); an OIDC Ingress in front can't authenticaterex -Sor the Mac app, which have no token/redirect support documented.--websocket-origin-patternis a browser origin check, not auth.--tailscale, ortailnet-serve), not OIDC Ingress. Unverified: proxied WebSocket from the apps, phone app behaviour.Details: https://sarak.sh/mikluko/machine-rex/src/branch/research/rex-http-listener-auth/docs/research/rex-http-listener-auth.md
Answer
No. Rex trusts callers only by how they connect (Tailscale identity, or the unix-socket peer); no listener accepts OIDC, bearer tokens or a browser login, and plain
httpneeds--allow-anonymous(full access to every caller). An OIDC Ingress cannot authenticaterex -Sor the Mac app. The supported remote exposure is the tailnet:--tailscale(embedded tsnet) ortailnet-serve.Findings: https://sarak.sh/mikluko/machine-rex/src/branch/research/rex-http-listener-auth/docs/research/rex-http-listener-auth.md