go-doc/data/docs/go-tell-readme.md
2026-10-07 15:05:48 +02:00

1.5 KiB

Imported from ui/app/README.md in the go-tell repository.


CMS frontend

This Vite/React app lives in ui/app and is intentionally independent of the Go backend. Run npm install, then npm run dev or npm run build.

There is no sign-in screen and no session is ever created. Content is public and read-only for anonymous visitors; the Edit button appears only when the backend reports canEdit: true, which happens when the upstream SSO proxy asserted the owner's identity on the request. /api/auth/session returns { "authenticated": bool, "canEdit": bool }.

Anonymous visitors also see a Sign in with Google button in the header. It redirects the browser to VITE_SSO_LOGIN_URL (with the current page passed as rd), where the identity provider authenticates you and sends you back with the identity header set. Leave VITE_SSO_LOGIN_URL empty to hide the button — useful when the proxy gates the whole app automatically instead. The app never performs an OAuth exchange, so it holds no client secret.

The API defaults to same-origin /api/auth/session and /api/content. Set VITE_API_BASE_URL for a separate backend, or override the endpoint paths with VITE_SESSION_ENDPOINT and VITE_CONTENT_ENDPOINT. Requests use cookies (credentials: include) so the edge proxy cookie travels with them.