skillhub/web
卡弗瑞松 6fe4c4ac15
fix(runtime): pass auth environment variables to containers (#280)
* fix(runtime): pass auth environment variables to containers

The web container's envsubst in 30-runtime-config.sh only substituted
SKILLHUB_WEB_API_BASE_URL and SKILLHUB_PUBLIC_BASE_URL, leaving auth-related
variables (authDirectEnabled, authSessionBootstrapEnabled, etc.) as literal
${...} strings in runtime-config.js. Additionally, compose.release.yml did not
pass SKILLHUB_WEB_AUTH_DIRECT_ENABLED or SKILLHUB_WEB_AUTH_DIRECT_PROVIDER to
the web container, nor SKILLHUB_AUTH_DIRECT_ENABLED to the server container.

This made it impossible to enable direct (username/password) authentication
for intranet deployments without OAuth2, even though the frontend template and
backend already supported it.

Changes:
- compose.release.yml: add SKILLHUB_AUTH_DIRECT_ENABLED to server env
- compose.release.yml: add auth direct and session bootstrap vars to web env
- 30-runtime-config.sh: expand envsubst to cover all runtime-config.js template variables
- .env.release.example: document the new auth configuration variables

All new variables default to false/empty, preserving existing GitHub OAuth behavior.

* fix: remove session bootstrap frontend config from compose

Per reviewer feedback: exposing SKILLHUB_WEB_AUTH_SESSION_BOOTSTRAP_* in the
compose without matching SKILLHUB_AUTH_SESSION_BOOTSTRAP_ENABLED on the server
would cause 403 errors when frontend attempts bootstrap.

Keep this PR focused on direct auth only. Bootstrap variables are still handled
in 30-runtime-config.sh with false defaults, so runtime-config.js will have
authSessionBootstrapEnabled: "false" and frontend will not trigger bootstrap.

---------

Co-authored-by: wowo <zhenggui5228@126.com>
Co-authored-by: PR Review Helper <review-helper@local>
2026-05-19 11:00:25 +08:00
..
docker-entrypoint.d fix(runtime): pass auth environment variables to containers (#280) 2026-05-19 11:00:25 +08:00
e2e fix(admin): improve accessibility and E2E test precision 2026-05-18 17:25:21 +08:00
public feat(auth): add GitLab OAuth2 provider support (#264) 2026-04-17 19:56:32 +08:00
src Merge pull request #453 from iflytek/worktree-fix+user-list-userid-column 2026-05-19 09:55:16 +08:00
.browserslistrc fix(web): restore compatibility with Chromium 83 (Debian 10) 2026-05-09 13:55:50 +08:00
.dockerignore feat(ops): improve Dockerfile caching, add dockerignore, docker profile, Makefile help 2026-03-12 17:50:34 +08:00
.eslintrc.cjs refactor: address code review findings from 2026-03-22 2026-03-23 13:48:23 +08:00
components.json feat(web): implement login page, dashboard, and API token management 2026-03-12 00:13:50 +08:00
Dockerfile refactor(ci): inline pnpm build-script approval into package.json 2026-05-09 11:10:53 +08:00
index.html feat: Implement initial web application structure, core pages, and UI components with i18n support. 2026-03-17 17:11:16 +08:00
LANDING_PAGE_REDESIGN.md feat(web): redesign homepage with modern landing page 2026-03-12 22:27:58 +08:00
nginx.conf.template fix: increase nginx upload limit and filter Chrome DevTools logs (#195) 2026-03-31 09:38:51 +08:00
package.json refactor(ci): inline pnpm build-script approval into package.json 2026-05-09 11:10:53 +08:00
playwright.config.ts test(e2e): run real-request playwright flows with one worker 2026-04-09 11:33:28 +05:30
playwright.smoke.config.ts test(e2e,ci): migrate web e2e to real API and add PR e2e workflow (#198) 2026-04-01 14:41:23 +08:00
pnpm-lock.yaml feat(skill): add version compare page with unified diff 2026-05-07 09:45:26 +08:00
postcss.config.js feat(web): implement login page, dashboard, and API token management 2026-03-12 00:13:50 +08:00
PREVIEW.md docs: add landing page preview guide 2026-03-12 22:28:31 +08:00
runtime-config.js.template Add extensible auth compatibility layer for private SSO 2026-03-13 18:00:22 +08:00
tailwind.config.ts feat: support Unicode characters in skill slugs (#196) 2026-03-31 10:17:34 +08:00
TODO.md fix(web): fix i18n language switching and add translations 2026-03-13 13:42:57 +08:00
tsconfig.json feat(web): refine app shell layout polish 2026-03-19 17:32:27 +08:00
vite.config.ts fix(web): scope legacy browser target to production build only 2026-05-09 13:55:57 +08:00