Reproduction steps
- Configure PocketID as a self-hosted OIDC provider under a domain such as id.example.com
- Configure Fluxer as a self-hosted chat provider under a domain such as chat.example.com, on the same host machine as PocketID (sso allow private addresses enabled)
- Configure a custom reverse proxy instance for both services, including the reverse-proxy on setting for Fluxer.
- Configure the instance settings on PocketID and Fluxer for the redirect URLs, URI, auth secrets.
- Enable SSO on Fluxer, as well as Automatically provision new accounts
- Attempt to login on chat.example.com using PocketID
- Follow the redirect prompts from Fluxer and PocketID
Expected behaviour
SSO sign in succeeds and the user can claim an existing account or create a new account on the self hosted instance
Actual behaviour
SSO fails with response "Fetch failed".
From the fluxer Login, "continue with pocketid" correctly directs to the id.example.com OIDC instance, which prompts for the auth login. Login succeeds on the PocketID page and redirects back to Fluxer, which then shows "completing sign on" for about 10-15 seconds before reporting "fetch failed".
Build information
Stable Web 2026.1029.135904, macOS 10.15 (arm64), Firefox 158.0, Locale en-US
Platform
Self-hosting
Evidence
The login page loads for about 10-15 seconds and then finally fails, only presenting the response "fetch failed".
Also reproduced on: Chrome for MacOS, Firefox Mobile for IOS
rexctl logs:
api | {"level":"info","time":"2026-10-29T18:00:01.443Z","service":"fluxer-api","env":"production","method":"POST","path":"/v1/auth/sso/complete","status":400,"durationMs":10503,"msg":"Request completed"}
(I failed to find any other helpful logs for the event, but if you point me to a good service to monitor I'm more than happy to fetch more)
When inspecting the browser logs during the network transfers of the SSO fetch, the following errors are found:
XHR Post https://chat.example.com/api/v1/auth/sso/complete HTTP/3 400 after 1059ms
Response is: General error "fetch failed"
Timing: waiting for 10.5 seconds
This behavior always times out at the 10.5 seconds mark.
3 comments
Comment by Hampus
id.example.comfrom inside Docker. The browser can, but the token exchange happens on the server and times out. Since both run on the same host, try mapping the name to the host viarexctl config edit:Comment by sparajoy
Comment by Hampus
rexctl doctoras well