ActivityPods Solid-OIDC auth flow in AuthGate with pod provider picker and /login callback

This commit is contained in:
Sylvain Duchesne
2026-10-09 14:07:47 +02:00
parent e17398d86d
commit b09884d586
10 changed files with 510 additions and 68 deletions
+12 -3
View File
@@ -63,13 +63,22 @@ const server = serve({
// (both serve from src/, so they miss build.ts's compile-time `define`). The app
// entry (frontend.tsx) fetches this before it loads the app tree, so
// `sharedWallet.ts` sees the password. Empty env → '' → no shared wallet.
"/festipod-config.json": () =>
Response.json({
"/festipod-config.json": () => {
const backendUrl = process.env.VITE_BACKEND_URL?.trim() ?? "";
const backendClientId = process.env.VITE_BACKEND_CLIENT_ID?.trim() ?? "";
return Response.json({
sharedWalletPassword: process.env.FESTIPOD_SHARED_WALLET_PASSWORD ?? "",
// Auto-seed gate (OFF by default): only set when the env var is present, so
// the front seeds an empty wallet only on explicit opt-in (see autoSeed.ts).
autoSeed: process.env.FESTIPOD_AUTO_SEED ?? "",
}),
// ActivityPods backend coupling: the frontend needs the backend URL and the
// Solid-OIDC client_id (defaults to the app description document served by
// the backend). The Pod provider URL is optional; empty → user picks one.
backendUrl,
backendClientId,
podProviderUrl: process.env.VITE_POD_PROVIDER_URL?.trim() ?? "",
});
},
// The shared wallet file — the `fileUrl` the app hands the SDK, when configured.
//