Files
Oleg Isonen 16fa5ab0e3 feat: Basic authentication (#5779)
Closes https://github.com/webstudio-is/webstudio/issues/3991


Adds HTTP Basic Authentication support for published pages and
project-level `.wsauth` rules.

This introduces a new `@webstudio-is/wsauth` package that owns the
generic authentication format logic: parsing, validation, serialization,
route matching, resource generation, and request authentication. The
current supported method is `basic`, with the package structured so
additional auth methods can be added later.

Builder changes include:
- Page Settings now has an `Authentication` section for per-page Basic
Auth credentials.
- Project Settings now has an `Authentication` section for editing
`.wsauth` route rules.
- Page Settings was split into section-specific files with focused
tests.
- Auth UI shows Pro badges/info tooltips but remains editable.
- Publishing to custom domains is blocked on plans without `allowAuth`
when either page auth or project auth is configured.
- ProBadge now renders as a real pricing link and uses improved text
alignment.

Build/publish changes include:
- CLI prebuild generates and merges `.wsauth` entries.
- Published app templates enforce auth for HTML/XML routes.
- Generated auth resources are shared between build output and runtime.
2026-05-27 18:42:08 +02:00

24 lines
677 B
JSON

{
"private": true,
"sideEffects": false,
"type": "module",
"scripts": {
"build": "remix vite:build",
"deploy": "npm run build && wrangler pages deploy ./build/client",
"dev": "remix vite:dev",
"start": "wrangler pages dev ./build/client",
"typegen": "wrangler types",
"preview": "npm run build && wrangler pages dev ./build/client",
"build-cf-types": "wrangler types"
},
"dependencies": {
"@webstudio-is/wsauth": "0.0.0-webstudio-version",
"@remix-run/cloudflare": "2.16.5",
"@remix-run/cloudflare-pages": "2.16.5"
},
"devDependencies": {
"@cloudflare/workers-types": "^4.20240620.0",
"wrangler": "^3.63.2"
}
}