@lenne.tech/nest-server 11.27.4 → 11.27.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/configurable-features.md +2 -2
- package/.claude/rules/testing.md +27 -9
- package/CLAUDE.md +4 -2
- package/FRAMEWORK-API.md +2 -1
- package/bin/migrate.js +84 -25
- package/dist/config.env.js +1 -0
- package/dist/config.env.js.map +1 -1
- package/dist/core/common/helpers/cookies.helper.d.ts +19 -0
- package/dist/core/common/helpers/cookies.helper.js +98 -4
- package/dist/core/common/helpers/cookies.helper.js.map +1 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +1 -0
- package/dist/core/modules/better-auth/better-auth.config.js +20 -41
- package/dist/core/modules/better-auth/better-auth.config.js.map +1 -1
- package/dist/core/modules/migrate/migration-runner.d.ts +1 -0
- package/dist/core/modules/migrate/migration-runner.js +3 -2
- package/dist/core/modules/migrate/migration-runner.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/docs/REQUEST-LIFECYCLE.md +22 -2
- package/migration-guides/11.27.4-to-11.27.5.md +241 -0
- package/migration-guides/11.27.5-to-11.27.6.md +359 -0
- package/package.json +15 -8
- package/src/config.env.ts +4 -0
- package/src/core/common/helpers/cookies.helper.ts +293 -12
- package/src/core/common/interfaces/server-options.interface.ts +57 -6
- package/src/core/modules/better-auth/README.md +10 -4
- package/src/core/modules/better-auth/better-auth.config.ts +93 -84
- package/src/core/modules/migrate/migration-runner.ts +16 -2
|
@@ -216,8 +216,8 @@ This pattern is currently applied to:
|
|
|
216
216
|
| BetterAuth Tenant Skip | `betterAuth.skipTenantCheck` | Explicit Boolean | `true` (default). When `true` and no `X-Tenant-Id` header is sent, IAM endpoints (controller + resolver) skip `CoreTenantGuard` tenant validation. When header IS present, normal membership validation runs regardless. Set `false` for tenant-aware auth scenarios (subdomain-based, invite links, SSO per tenant) |
|
|
217
217
|
| Debug Process Input | `debugProcessInput` | Explicit Boolean | `false` (default). When `true`, logs a debug message when `prepareInput()` changes the input type during `process()`. Has performance cost due to `JSON.stringify` on every `process()` call — enable only for debugging |
|
|
218
218
|
| JSONTransport Production Guard | `email.smtp` with `jsonTransport` | Runtime Guard | Throws `Error` when `email.smtp` has a truthy `jsonTransport` property in `production` or `staging` environments (read from config `env` field). JSONTransport silently discards all outgoing mail — the guard prevents accidental misconfiguration that causes password-reset, 2FA, and verification emails to vanish. Use `{ jsonTransport: true }` only in CI/e2e/local environments |
|
|
219
|
-
| Cookies | `cookies` | Boolean Shorthand (default true) | `true` (enabled), `exposeTokenInBody: false`. When enabled: loads `cookie-parser`, sets CORS `credentials: true`, sets signed httpOnly session cookies. When `exposeTokenInBody: true`: token stays in response body alongside cookies (for hybrid JWT+Cookie auth). JWT via `Authorization: Bearer` always works independently |
|
|
220
|
-
| CORS | `cors` | Boolean Shorthand | `enabled: true`, `allowAll: false`,
|
|
219
|
+
| Cookies | `cookies` | Boolean Shorthand (default true) | `true` (enabled), `exposeTokenInBody: false`. When enabled: loads `cookie-parser`, sets CORS `credentials: true`, sets signed httpOnly session cookies. When `exposeTokenInBody: true`: token stays in response body alongside cookies (for hybrid JWT+Cookie auth). JWT via `Authorization: Bearer` always works independently. **BetterAuth cookie name (since v11.27.6):** `createBetterAuthInstance()` pins `advanced.useSecureCookies: false` so BetterAuth's native handlers read the same UNPREFIXED `<cookiePrefix>.session_token` the helper writes (fixes a `401` split-brain on 2FA/passkey/`/token`); the `Secure` attribute is still applied on an `https://` baseURL via `advanced.defaultCookieAttributes`. Opt back into the `__Secure-` prefix with `betterAuth.options.advanced.useSecureCookies: true` only when BetterAuth manages cookies entirely |
|
|
220
|
+
| CORS | `cors` | Boolean Shorthand | `enabled: true`, `allowAll: false`, `deriveAppUrl: true`. Origins come from `appUrl`/`baseUrl`, resolved by the shared `resolveServerUrls()` helper (`cookies.helper.ts`) that ALL three CORS layers use (GraphQL, REST, BetterAuth `trustedOrigins`) — they can no longer drift. `appUrl` resolution: explicit → derived from a **host-split** localhost `baseUrl` (its `api.` label strips to a sibling host: `https://api.crm.localhost` → `https://crm.localhost`, as served by `lt dev up`; the port is preserved) → localhost default (`http://localhost:3001`, only for `env: local`/`ci`/`e2e` with a **port-split** localhost `baseUrl` — one host, API `:3000`, app `:3001`; `https://api.localhost` strips to the bare `localhost` the API already answers on and is therefore a port split, not a host split) → derived from `baseUrl` by stripping a leading `api.` label (`https://api.example.com` → `https://example.com`). **Security:** the derived origin receives credentialed CORS; set `deriveAppUrl: false` when the apex domain is not trusted, then list the frontend origin via `appUrl`/`allowedOrigins` (a host-split localhost `baseUrl` then falls back to the localhost default). The derivation never yields a bare TLD (`https://api.dev` unchanged) and never emits the opaque `null` origin (non-http(s) `baseUrl` passes through verbatim). `allowAll: true` mirrors the request origin for REST/GraphQL, but BetterAuth's `trustedOrigins` still resolve to `[appUrl]` (+ passkey origins) — an origin check has no "allow everything" mode, so a separately hosted frontend must appear in `appUrl`/`allowedOrigins` (or set `betterAuth.trustedOrigins` explicitly). `enabled: false` disables CORS on all layers including BetterAuth (`trustedOrigins: []`, which still trusts BetterAuth's own `baseURL`). Explicit `betterAuth.trustedOrigins` always takes precedence |
|
|
221
221
|
| AI Assistant | `ai` | Presence Implies Enabled | Core: `maxIterations: 5`, `defaultMode: 'auto'` (or `'plan'`), `rateLimit` (presence implies enabled: `max: 20`, `windowSeconds: 60`), `systemPrompt`, `documentation` (injected into the system prompt), `encryptionSecret`. **DB-backed LLM connections** (`aiConnections`, admin CRUD) with AES-256-GCM-encrypted API keys (`AiCryptoService`, secret from `ai.encryptionSecret` / `NSC__AI__ENCRYPTION_SECRET` / `SECRETS_ENCRYPTION_KEY`; `apiKeyEncrypted` is a global `secretFields` entry, never returned — only `hasApiKey`); optional `defaultConnection` one-time seed. **Provider abstraction** (`ILlmProvider`, default `OpenAiCompatibleProvider` for any OpenAI-compatible endpoint via `fetch`; per-connection `supportsNativeTools`/`supportsJsonResponse` capabilities, emulated tool calling when native tools are unavailable). **Tool registry** (`AiToolRegistry`, tools self-register, role-filtered; tools may be `mutating`/`destructive` and define `authorize()` for pre-flight data-level checks). **Plan mode** (`input.mode: 'plan'`): full plan → pre-flight authorize ALL steps → all-or-nothing execution with a translated (de/en) error when any step is not permitted. **Confirmation policy**: `confirmation.mutating: { default, enforced }` + client `input.requireConfirmation` (ignored when enforced); `destructive` always confirms. **Client metadata** (`input.metadata`: URL/nav/console logs, untrusted+capped). **Multi-turn conversations** (`aiConversations`, owner-scoped). **SSE streaming** (`POST /ai/stream`). **Audit** (`audit: false` → persist to `aiInteractions`, admin-readable). **Token budgets** (`budget: { period: 'day'|'month'|'none', user: { maxTokens?, maxPrompts? }, tenant: { maxTokens?, maxPrompts? } }`, requires audit): per-user AND per-tenant limits with config defaults; admins override per user/tenant at runtime (`aiBudgetLimits`, `CoreAiBudgetService`). Resolution: override → default → unlimited (missing/0 = unlimited). Enforced before the run (HTTP 429 + translated). Each response carries a compact `budget` summary (promptTokens, usedTokens, remainingTokens, resetAt); full breakdown via `aiUsage` query / `GET /ai/usage`. **Self-optimizing prompts**: the system prompt is assembled from keyed fragments (`CoreAiPromptBuilderService` ships built-in defaults; works with zero rows). Admin-editable overrides per slot (`aiSlots`, admin CRUD, `/ai/slots`) scoped by `key`/`locale`/`capability`/`tenantId`, with tenant override/reset semantics and placeholder tokens resolved at run time via the placeholder registry. **Governed learning loop** (`promptLearning: { enabled: true, autoApply: false }`): tool errors record `suggested` hints (`aiPromptHints`, admin CRUD, `/ai/prompt-hints`) that only reach the prompt once admin-approved (or auto-approved when `autoApply`); hints only ADD guidance, never relax permissions. **Context window** (`contextWindow`, default 8192; auto-detected per connection via `ILlmProvider.detectContextWindow()` — Ollama `/api/show` probe / known-model table / Claude alias — and persisted): per-user/session history is trimmed (oldest non-system turns dropped, last truncated) and tool-results capped to `maxToolResultChars` (default 12000) so a session never overflows the model. **MCP server** (`mcp: false` → `/ai/mcp` Streamable HTTP, Bearer auth, lazy `@modelcontextprotocol/sdk`; `mcp: { oauth: true, oauthSecret }` adds OAuth 2.1 — HMAC tokens + PKCE S256 + dynamic registration via `mountAiMcpOAuth(app)` in main.ts). Overrides via `CoreModule.forRoot(env, { ai: { budgetService, connectionResolver, connectionService, controller, conversationService, interactionService, mcpClientService, modeService, placeholderRegistry, preferenceService, promptBuilder, promptHintService, promptService, resolver, service, slotService, toolGrantService, toolPolicyService } })` |
|
|
222
222
|
|
|
223
223
|
## Module Override Pattern (via `ICoreModuleOverrides`)
|
package/.claude/rules/testing.md
CHANGED
|
@@ -2,20 +2,34 @@
|
|
|
2
2
|
|
|
3
3
|
## Test Framework
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
**Vitest**, split across two runners. Which one claims a file is decided purely by its filename:
|
|
6
|
+
|
|
7
|
+
| Runner | Config | Test files | Needs MongoDB |
|
|
8
|
+
|--------|--------|-----------|:-------------:|
|
|
9
|
+
| Unit | `vitest.config.ts` | `src/**/*.spec.ts`, `tests/unit/**/*.spec.ts` | No |
|
|
10
|
+
| E2E | `vitest-e2e.config.ts` | `tests/**/*.e2e-spec.ts`, `tests/stories/**/*.story.test.ts` | Yes |
|
|
11
|
+
|
|
12
|
+
A file matching neither pattern would run nowhere. `tests/unit/test-file-routing.spec.ts` asserts
|
|
13
|
+
that every `*.spec.ts` / `*.test.ts` in the repo is claimed by **exactly one** runner, so a
|
|
14
|
+
mis-named suite fails the build instead of silently passing. Type-only tests
|
|
15
|
+
(`tests/types/*.type-test.ts`) are compiled by `pnpm run test:types`, never executed.
|
|
8
16
|
|
|
9
17
|
## Running Tests
|
|
10
18
|
|
|
11
19
|
```bash
|
|
12
|
-
#
|
|
20
|
+
# Unit + E2E (default) — the E2E half needs MongoDB
|
|
13
21
|
pnpm test
|
|
14
22
|
|
|
15
|
-
#
|
|
23
|
+
# Unit tests only (fast, no MongoDB)
|
|
24
|
+
pnpm run vitest:unit
|
|
25
|
+
|
|
26
|
+
# E2E tests only
|
|
27
|
+
pnpm run test:e2e
|
|
28
|
+
|
|
29
|
+
# Both suites with coverage → coverage/unit + coverage/e2e
|
|
16
30
|
pnpm run test:cov
|
|
17
31
|
|
|
18
|
-
# Run in CI mode
|
|
32
|
+
# Run in CI mode (unit + E2E with NODE_ENV=ci)
|
|
19
33
|
pnpm run test:ci
|
|
20
34
|
|
|
21
35
|
# Debug open handles
|
|
@@ -27,11 +41,15 @@ pnpm run test:cleanup
|
|
|
27
41
|
|
|
28
42
|
## Test Environment
|
|
29
43
|
|
|
30
|
-
- Environment: `NODE_ENV=e2e` (
|
|
31
|
-
|
|
44
|
+
- Environment: `NODE_ENV=e2e` for the E2E runner (`pnpm run vitest`). The unit runner sets no
|
|
45
|
+
`NODE_ENV`; vitest defaults it to `test`, and `getEnvironmentConfig()` falls back to `config.local`.
|
|
46
|
+
- Both runners load `tests/setup.ts` via `setupFiles` (Nest Logger restricted to `error`/`fatal`,
|
|
47
|
+
`@UnifiedField` deprecation warnings filtered).
|
|
48
|
+
- Database (E2E only): **one unique database per run** (`nest-server-e2e-run-<ts>-p<pid>`), created by `tests/global-setup.ts` so concurrent runs cannot interfere with each other
|
|
32
49
|
- DB lifecycle (`tests/db-lifecycle.reporter.ts`): run passes → DB dropped immediately + stale run DBs from crashed/failed runs collected; run fails → DB kept for debugging, removed by the next successful run. An externally set `MONGODB_URI` (CI) opts out of the scheme.
|
|
33
50
|
- Test helper: `src/test/test.helper.ts`
|
|
34
|
-
- Coverage: Collected from `src/**/*.{ts,js}
|
|
51
|
+
- Coverage: Collected from `src/**/*.{ts,js}`. The two runners are separate vitest processes, so
|
|
52
|
+
they write separate reports (`coverage/unit`, `coverage/e2e`) rather than overwriting each other.
|
|
35
53
|
|
|
36
54
|
## Test Best Practices
|
|
37
55
|
|
package/CLAUDE.md
CHANGED
|
@@ -106,8 +106,10 @@ pnpm start # Start in local mode
|
|
|
106
106
|
pnpm run start:dev # Development mode with watch
|
|
107
107
|
|
|
108
108
|
# Testing (ALWAYS run before completing changes)
|
|
109
|
-
pnpm test #
|
|
110
|
-
pnpm run
|
|
109
|
+
pnpm test # Unit + E2E tests (Vitest); E2E half needs MongoDB
|
|
110
|
+
pnpm run vitest:unit # Unit tests only (fast, no MongoDB)
|
|
111
|
+
pnpm run test:e2e # E2E tests only
|
|
112
|
+
pnpm run test:cov # Both suites with coverage (coverage/unit + coverage/e2e)
|
|
111
113
|
npx vitest run --config vitest-e2e.config.ts --reporter=hanging-process # Debug open handles
|
|
112
114
|
pnpm run test:cleanup # Remove leftover test artifacts (.txt, .bin)
|
|
113
115
|
|
package/FRAMEWORK-API.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @lenne.tech/nest-server — Framework API Reference
|
|
2
2
|
|
|
3
|
-
> Auto-generated from source code on 2026-07-
|
|
3
|
+
> Auto-generated from source code on 2026-07-11 (v11.27.6)
|
|
4
4
|
> File: `FRAMEWORK-API.md` — compact, machine-readable API surface for Claude Code
|
|
5
5
|
|
|
6
6
|
## CoreModule.forRoot()
|
|
@@ -94,6 +94,7 @@ When `passkey` is enabled, `trustedOrigins` is required (compile-time enforcemen
|
|
|
94
94
|
|
|
95
95
|
- `allowAll?`: `boolean` (default: `false`) — Allow all origins by mirroring the request Origin header back.
|
|
96
96
|
- `allowedOrigins?`: `string[]` — Additional allowed origins beyond `appUrl` and `baseUrl`.
|
|
97
|
+
- `deriveAppUrl?`: `boolean` (default: `true`) — Whether `appUrl` may be auto-derived from `baseUrl` when it is not set explicitly.
|
|
97
98
|
- `enabled?`: `boolean` (default: `true`) — Whether CORS is enabled.
|
|
98
99
|
|
|
99
100
|
### IAi
|
package/bin/migrate.js
CHANGED
|
@@ -5,36 +5,95 @@
|
|
|
5
5
|
*
|
|
6
6
|
* This is a shim that makes the nest-server migration CLI available as "migrate"
|
|
7
7
|
* for drop-in compatibility with projects using the @nodepit/migrate package.
|
|
8
|
+
*
|
|
9
|
+
* The same file has to work from three locations, because `lt fullstack
|
|
10
|
+
* convert-mode` copies it verbatim into vendored projects:
|
|
11
|
+
*
|
|
12
|
+
* npm mode node_modules/@lenne.tech/nest-server/bin/ → ../dist/core/**.js
|
|
13
|
+
* vendor repo <project>/bin/ → ../dist/src/core/**.js
|
|
14
|
+
* (or ../src/core/**.ts via ts-node)
|
|
15
|
+
* vendor image <project>/dist/bin/ → ../src/core/**.js
|
|
16
|
+
*
|
|
17
|
+
* Compiled candidates are probed first, so a production image never reaches the
|
|
18
|
+
* ts-node branch — ts-node is a devDependency and gets pruned there.
|
|
19
|
+
*
|
|
20
|
+
* NOTE on the vendored-image layout: it assumes the build preserves the `src/`
|
|
21
|
+
* prefix (`dist/src/core/...`, matching `lt fullstack convert-mode`). A project
|
|
22
|
+
* that instead flattens `rootDir: 'src'` to `dist/core/...` is still resolved in
|
|
23
|
+
* *repo* mode (candidate 1) but not from the `dist/bin/` image variant.
|
|
24
|
+
*
|
|
25
|
+
* The resolver is exported (and pure, with an injectable `existsSync`) so the
|
|
26
|
+
* three-layout probe + not-found branch can be unit-tested without spawning a
|
|
27
|
+
* migration run; the CLI only executes when this file is invoked directly.
|
|
8
28
|
*/
|
|
9
29
|
|
|
10
30
|
const fs = require('fs');
|
|
11
|
-
// Check if running from built dist or src
|
|
12
31
|
const path = require('path');
|
|
13
32
|
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
const CLI_SUBPATH = 'core/modules/migrate/cli/migrate-cli';
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Resolve the migrate CLI entry across the npm + vendored layouts.
|
|
37
|
+
*
|
|
38
|
+
* Compiled `.js` candidates (most specific first) are probed before the TypeScript
|
|
39
|
+
* source, so a production image with `ts-node` pruned never picks the source path.
|
|
40
|
+
*
|
|
41
|
+
* @param {string} dirname - Directory of the shim (`__dirname` at runtime).
|
|
42
|
+
* @param {(p: string) => boolean} [existsSync] - Injected for tests; defaults to `fs.existsSync`.
|
|
43
|
+
* @returns {{ cliPath: string | null, needsTsNode: boolean, candidates: string[] }}
|
|
44
|
+
* `cliPath` is the resolved entry (null when nothing matched); `needsTsNode` is true only for the
|
|
45
|
+
* TypeScript-source fallback; `candidates` is every path probed, for the not-found diagnostic.
|
|
46
|
+
*/
|
|
47
|
+
function resolveCliPath(dirname, existsSync = fs.existsSync) {
|
|
48
|
+
const compiledCandidates = [
|
|
49
|
+
// npm package layout: bin/ → dist/core/...
|
|
50
|
+
path.join(dirname, '..', 'dist', `${CLI_SUBPATH}.js`),
|
|
51
|
+
// vendored build output: dist/bin/ → dist/src/core/...
|
|
52
|
+
path.join(dirname, '..', 'src', `${CLI_SUBPATH}.js`),
|
|
53
|
+
// vendored repo root: bin/ → dist/src/core/...
|
|
54
|
+
path.join(dirname, '..', 'dist', 'src', `${CLI_SUBPATH}.js`),
|
|
55
|
+
];
|
|
56
|
+
// TypeScript source, used for local development via ts-node.
|
|
57
|
+
const sourcePath = path.join(dirname, '..', 'src', `${CLI_SUBPATH}.ts`);
|
|
58
|
+
const candidates = [...compiledCandidates, sourcePath];
|
|
59
|
+
|
|
60
|
+
const compiled = compiledCandidates.find((candidate) => existsSync(candidate));
|
|
61
|
+
if (compiled) {
|
|
62
|
+
return { candidates, cliPath: compiled, needsTsNode: false };
|
|
63
|
+
}
|
|
64
|
+
if (existsSync(sourcePath)) {
|
|
65
|
+
return { candidates, cliPath: sourcePath, needsTsNode: true };
|
|
31
66
|
}
|
|
32
|
-
|
|
33
|
-
console.error('Error: Migration CLI not found');
|
|
34
|
-
console.error('Make sure @lenne.tech/nest-server is properly built');
|
|
35
|
-
process.exit(1);
|
|
67
|
+
return { candidates, cliPath: null, needsTsNode: false };
|
|
36
68
|
}
|
|
37
69
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
70
|
+
module.exports = { CLI_SUBPATH, resolveCliPath };
|
|
71
|
+
|
|
72
|
+
// Only run the CLI when invoked directly (`node bin/migrate.js` / the `migrate` bin).
|
|
73
|
+
// Importing this module for tests must not spawn a migration run.
|
|
74
|
+
if (require.main === module) {
|
|
75
|
+
const { candidates, cliPath, needsTsNode } = resolveCliPath(__dirname);
|
|
76
|
+
|
|
77
|
+
if (!cliPath) {
|
|
78
|
+
console.error('Error: Migration CLI not found. Looked for:');
|
|
79
|
+
for (const candidate of candidates) {
|
|
80
|
+
console.error(` - ${candidate}`);
|
|
81
|
+
}
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (needsTsNode) {
|
|
86
|
+
// Development: register ts-node so the TypeScript source can be required.
|
|
87
|
+
try {
|
|
88
|
+
require('ts-node/register');
|
|
89
|
+
} catch {
|
|
90
|
+
console.error('Error: ts-node is required to run migrations from TypeScript sources');
|
|
91
|
+
console.error('Install it with: pnpm add -D ts-node');
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Load and run the CLI
|
|
97
|
+
const { main } = require(cliPath);
|
|
98
|
+
main();
|
|
99
|
+
}
|
package/dist/config.env.js
CHANGED
package/dist/config.env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.env.js","sourceRoot":"","sources":["../src/config.env.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,4 +16,23 @@ export declare function isCookiesEnabled(cookies: boolean | ICookiesConfig | und
|
|
|
16
16
|
export declare function isExposeTokenInBodyEnabled(cookies: boolean | ICookiesConfig | undefined): boolean;
|
|
17
17
|
export declare function shouldConvertSessionTokenToJwt(cookies: boolean | ICookiesConfig | undefined, jwtEnabled: boolean): boolean;
|
|
18
18
|
export declare function isCorsDisabled(cors: boolean | ICorsConfig | undefined): boolean;
|
|
19
|
+
export declare const LOCALHOST_URL_DEFAULTS: {
|
|
20
|
+
readonly apiUrl: "http://localhost:3000";
|
|
21
|
+
readonly appUrl: "http://localhost:3001";
|
|
22
|
+
};
|
|
23
|
+
export declare const LOCALHOST_URL_ENVS: readonly string[];
|
|
24
|
+
export declare function strippedApiHostname(hostname: string): string | undefined;
|
|
25
|
+
export declare function deriveAppUrlFromBaseUrl(baseUrl: string): string;
|
|
26
|
+
export interface IResolvedServerUrls {
|
|
27
|
+
appUrl: string | undefined;
|
|
28
|
+
appUrlSource: 'derived' | 'explicit' | 'localhost-default' | 'none';
|
|
29
|
+
baseUrl: string | undefined;
|
|
30
|
+
baseUrlSource: 'explicit' | 'localhost-default' | 'none';
|
|
31
|
+
}
|
|
32
|
+
export declare function resolveServerUrls(input: {
|
|
33
|
+
appUrl?: string;
|
|
34
|
+
baseUrl?: string;
|
|
35
|
+
deriveAppUrl?: boolean;
|
|
36
|
+
env?: string;
|
|
37
|
+
}): IResolvedServerUrls;
|
|
19
38
|
export declare function buildCorsConfig(options: Partial<IServerOptions>): Record<string, unknown>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LOCALHOST_URL_ENVS = exports.LOCALHOST_URL_DEFAULTS = void 0;
|
|
3
4
|
exports.isProductionLikeEnv = isProductionLikeEnv;
|
|
4
5
|
exports.getDefaultAuthCookieOptions = getDefaultAuthCookieOptions;
|
|
5
6
|
exports.assertCookiesProductionSafe = assertCookiesProductionSafe;
|
|
@@ -8,6 +9,9 @@ exports.isCookiesEnabled = isCookiesEnabled;
|
|
|
8
9
|
exports.isExposeTokenInBodyEnabled = isExposeTokenInBodyEnabled;
|
|
9
10
|
exports.shouldConvertSessionTokenToJwt = shouldConvertSessionTokenToJwt;
|
|
10
11
|
exports.isCorsDisabled = isCorsDisabled;
|
|
12
|
+
exports.strippedApiHostname = strippedApiHostname;
|
|
13
|
+
exports.deriveAppUrlFromBaseUrl = deriveAppUrlFromBaseUrl;
|
|
14
|
+
exports.resolveServerUrls = resolveServerUrls;
|
|
11
15
|
exports.buildCorsConfig = buildCorsConfig;
|
|
12
16
|
const IS_PRODUCTION_NODE_ENV = process.env.NODE_ENV === 'production';
|
|
13
17
|
function isProductionLikeEnv(env) {
|
|
@@ -81,6 +85,90 @@ function isCorsDisabled(cors) {
|
|
|
81
85
|
return cors.enabled === false;
|
|
82
86
|
return false;
|
|
83
87
|
}
|
|
88
|
+
exports.LOCALHOST_URL_DEFAULTS = {
|
|
89
|
+
apiUrl: 'http://localhost:3000',
|
|
90
|
+
appUrl: 'http://localhost:3001',
|
|
91
|
+
};
|
|
92
|
+
exports.LOCALHOST_URL_ENVS = ['ci', 'e2e', 'local'];
|
|
93
|
+
const API_HOST_LABEL = 'api.';
|
|
94
|
+
function toHttpUrl(value) {
|
|
95
|
+
let url;
|
|
96
|
+
try {
|
|
97
|
+
url = new URL(value);
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
if (url.protocol !== 'http:' && url.protocol !== 'https:') {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
return url;
|
|
106
|
+
}
|
|
107
|
+
function toHttpOrigin(value) {
|
|
108
|
+
return toHttpUrl(value)?.origin;
|
|
109
|
+
}
|
|
110
|
+
function isLocalhostUrl(value) {
|
|
111
|
+
if (!value) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const { hostname } = new URL(value);
|
|
116
|
+
return (hostname === 'localhost' || hostname.endsWith('.localhost') || hostname === '127.0.0.1' || hostname === '[::1]');
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
function strippedApiHostname(hostname) {
|
|
123
|
+
if (!hostname.startsWith(API_HOST_LABEL)) {
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
const remainder = hostname.slice(API_HOST_LABEL.length);
|
|
127
|
+
if (remainder !== 'localhost' && !remainder.includes('.')) {
|
|
128
|
+
return undefined;
|
|
129
|
+
}
|
|
130
|
+
return remainder;
|
|
131
|
+
}
|
|
132
|
+
function deriveAppOriginFromUrl(url) {
|
|
133
|
+
const stripped = strippedApiHostname(url.hostname);
|
|
134
|
+
if (stripped !== undefined) {
|
|
135
|
+
url.hostname = stripped;
|
|
136
|
+
}
|
|
137
|
+
return url.origin;
|
|
138
|
+
}
|
|
139
|
+
function separatesApiAndAppByHost(url) {
|
|
140
|
+
if (!url) {
|
|
141
|
+
return false;
|
|
142
|
+
}
|
|
143
|
+
const stripped = strippedApiHostname(url.hostname);
|
|
144
|
+
return stripped !== undefined && stripped !== 'localhost';
|
|
145
|
+
}
|
|
146
|
+
function deriveAppUrlFromBaseUrl(baseUrl) {
|
|
147
|
+
const url = toHttpUrl(baseUrl);
|
|
148
|
+
return url ? deriveAppOriginFromUrl(url) : baseUrl;
|
|
149
|
+
}
|
|
150
|
+
function resolveServerUrls(input) {
|
|
151
|
+
const usesLocalhostDefaults = exports.LOCALHOST_URL_ENVS.includes(input.env ?? '');
|
|
152
|
+
let baseUrl = input.baseUrl;
|
|
153
|
+
let baseUrlSource = baseUrl ? 'explicit' : 'none';
|
|
154
|
+
if (!baseUrl && usesLocalhostDefaults) {
|
|
155
|
+
baseUrl = exports.LOCALHOST_URL_DEFAULTS.apiUrl;
|
|
156
|
+
baseUrlSource = 'localhost-default';
|
|
157
|
+
}
|
|
158
|
+
if (input.appUrl) {
|
|
159
|
+
return { appUrl: input.appUrl, appUrlSource: 'explicit', baseUrl, baseUrlSource };
|
|
160
|
+
}
|
|
161
|
+
const mayDerive = input.deriveAppUrl !== false;
|
|
162
|
+
const parsedBaseUrl = baseUrl && mayDerive ? toHttpUrl(baseUrl) : undefined;
|
|
163
|
+
if (usesLocalhostDefaults && isLocalhostUrl(baseUrl) && !(mayDerive && separatesApiAndAppByHost(parsedBaseUrl))) {
|
|
164
|
+
return { appUrl: exports.LOCALHOST_URL_DEFAULTS.appUrl, appUrlSource: 'localhost-default', baseUrl, baseUrlSource };
|
|
165
|
+
}
|
|
166
|
+
if (baseUrl && mayDerive) {
|
|
167
|
+
const appUrl = parsedBaseUrl ? deriveAppOriginFromUrl(parsedBaseUrl) : baseUrl;
|
|
168
|
+
return { appUrl, appUrlSource: 'derived', baseUrl, baseUrlSource };
|
|
169
|
+
}
|
|
170
|
+
return { appUrl: undefined, appUrlSource: 'none', baseUrl, baseUrlSource };
|
|
171
|
+
}
|
|
84
172
|
function buildCorsConfig(options) {
|
|
85
173
|
if (isCorsDisabled(options?.cors)) {
|
|
86
174
|
return {};
|
|
@@ -92,11 +180,17 @@ function buildCorsConfig(options) {
|
|
|
92
180
|
if (corsObj.allowAll) {
|
|
93
181
|
return { credentials: true, origin: true };
|
|
94
182
|
}
|
|
183
|
+
const { appUrl, baseUrl } = resolveServerUrls({
|
|
184
|
+
appUrl: options?.appUrl,
|
|
185
|
+
baseUrl: options?.baseUrl,
|
|
186
|
+
deriveAppUrl: corsObj.deriveAppUrl,
|
|
187
|
+
env: options?.env,
|
|
188
|
+
});
|
|
95
189
|
const origins = [];
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
190
|
+
for (const url of [appUrl, baseUrl]) {
|
|
191
|
+
if (url)
|
|
192
|
+
origins.push(toHttpOrigin(url) ?? url);
|
|
193
|
+
}
|
|
100
194
|
if (corsObj.allowedOrigins?.length) {
|
|
101
195
|
origins.push(...corsObj.allowedOrigins);
|
|
102
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cookies.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/cookies.helper.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cookies.helper.js","sourceRoot":"","sources":["../../../../src/core/common/helpers/cookies.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ const plugins_1 = require("better-auth/plugins");
|
|
|
14
14
|
const crypto = require("crypto");
|
|
15
15
|
const fs = require("fs");
|
|
16
16
|
const path = require("path");
|
|
17
|
+
const cookies_helper_1 = require("../../common/helpers/cookies.helper");
|
|
17
18
|
const better_auth_cookie_prefix_helper_1 = require("./better-auth-cookie-prefix.helper");
|
|
18
19
|
const logger = new common_1.Logger('BetterAuthConfig');
|
|
19
20
|
const SCRYPT_PARAMS = { maxmem: 128 * 16384 * 16 * 2, N: 16384, p: 1, r: 16 };
|
|
@@ -101,15 +102,19 @@ function createBetterAuthInstance(options) {
|
|
|
101
102
|
logger.log(`COOKIE_PREFIX override active → auth cookies use prefix "${cookiePrefix}" ` +
|
|
102
103
|
`(e.g. "${cookiePrefix}.session_token"). The frontend NUXT_PUBLIC_COOKIE_PREFIX MUST match.`);
|
|
103
104
|
}
|
|
105
|
+
const betterAuthBaseUrl = resolvedUrls.baseUrl || config.baseUrl || 'http://localhost:3000';
|
|
106
|
+
const secureCookies = betterAuthBaseUrl.startsWith('https://');
|
|
104
107
|
const betterAuthConfig = {
|
|
105
108
|
advanced: {
|
|
106
109
|
cookiePrefix,
|
|
107
110
|
...(crossSubDomain.enabled && {
|
|
108
111
|
crossSubDomainCookies: { domain: crossSubDomain.domain, enabled: true },
|
|
109
112
|
}),
|
|
113
|
+
useSecureCookies: false,
|
|
114
|
+
...(secureCookies && { defaultCookieAttributes: { secure: true } }),
|
|
110
115
|
},
|
|
111
116
|
basePath,
|
|
112
|
-
baseURL:
|
|
117
|
+
baseURL: betterAuthBaseUrl,
|
|
113
118
|
database: (0, mongodb_1.mongodbAdapter)(db),
|
|
114
119
|
emailAndPassword: {
|
|
115
120
|
disableSignUp: config.emailAndPassword?.disableSignUp === true,
|
|
@@ -261,9 +266,6 @@ function buildTrustedOrigins(config, options) {
|
|
|
261
266
|
if (serverCorsConfig === false || (typeof serverCorsConfig === 'object' && serverCorsConfig?.enabled === false)) {
|
|
262
267
|
return [];
|
|
263
268
|
}
|
|
264
|
-
if (typeof serverCorsConfig === 'object' && serverCorsConfig?.allowAll) {
|
|
265
|
-
return undefined;
|
|
266
|
-
}
|
|
267
269
|
if (typeof serverCorsConfig === 'object' && serverCorsConfig?.allowedOrigins?.length) {
|
|
268
270
|
const origins = [];
|
|
269
271
|
if (resolvedUrls.appUrl)
|
|
@@ -383,25 +385,6 @@ function readProjectNameFromPackageJson() {
|
|
|
383
385
|
}
|
|
384
386
|
return fallback;
|
|
385
387
|
}
|
|
386
|
-
const LOCALHOST_DEFAULTS = {
|
|
387
|
-
API_URL: 'http://localhost:3000',
|
|
388
|
-
APP_URL: 'http://localhost:3001',
|
|
389
|
-
};
|
|
390
|
-
const LOCALHOST_ENVS = ['local', 'ci', 'e2e'];
|
|
391
|
-
function deriveAppUrlFromBaseUrl(baseUrl) {
|
|
392
|
-
try {
|
|
393
|
-
const url = new URL(baseUrl);
|
|
394
|
-
const hostname = url.hostname;
|
|
395
|
-
if (hostname.startsWith('api.')) {
|
|
396
|
-
url.hostname = hostname.substring(4);
|
|
397
|
-
return url.origin;
|
|
398
|
-
}
|
|
399
|
-
return url.origin;
|
|
400
|
-
}
|
|
401
|
-
catch {
|
|
402
|
-
return baseUrl;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
388
|
function extractRpIdFromUrl(url) {
|
|
406
389
|
try {
|
|
407
390
|
const parsedUrl = new URL(url);
|
|
@@ -528,10 +511,7 @@ function deriveCookieDomainFromUrls(appUrl, baseUrl) {
|
|
|
528
511
|
if (hostname === 'localhost' || hostname === '127.0.0.1') {
|
|
529
512
|
return undefined;
|
|
530
513
|
}
|
|
531
|
-
|
|
532
|
-
return hostname.substring(4);
|
|
533
|
-
}
|
|
534
|
-
return hostname;
|
|
514
|
+
return (0, cookies_helper_1.strippedApiHostname)(hostname) ?? hostname;
|
|
535
515
|
}
|
|
536
516
|
catch {
|
|
537
517
|
return undefined;
|
|
@@ -540,25 +520,24 @@ function deriveCookieDomainFromUrls(appUrl, baseUrl) {
|
|
|
540
520
|
return undefined;
|
|
541
521
|
}
|
|
542
522
|
function resolveUrls(options) {
|
|
543
|
-
const { config, serverAppUrl, serverBaseUrl, serverEnv } = options;
|
|
523
|
+
const { config, serverAppUrl, serverBaseUrl, serverCorsConfig, serverEnv } = options;
|
|
544
524
|
const warnings = [];
|
|
545
|
-
const
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
baseUrl
|
|
525
|
+
const corsObj = typeof serverCorsConfig === 'object' && serverCorsConfig !== null ? serverCorsConfig : undefined;
|
|
526
|
+
const resolved = (0, cookies_helper_1.resolveServerUrls)({
|
|
527
|
+
appUrl: serverAppUrl,
|
|
528
|
+
baseUrl: config.baseUrl || serverBaseUrl,
|
|
529
|
+
deriveAppUrl: corsObj?.deriveAppUrl,
|
|
530
|
+
env: serverEnv,
|
|
531
|
+
});
|
|
532
|
+
const { appUrl, baseUrl } = resolved;
|
|
533
|
+
if (resolved.baseUrlSource === 'localhost-default') {
|
|
549
534
|
warnings.push(`URL: Using localhost default baseUrl="${baseUrl}" (env: '${serverEnv}')`);
|
|
550
535
|
}
|
|
551
|
-
|
|
552
|
-
const isBaseUrlLocalhost = baseUrl && (baseUrl.includes('localhost') || baseUrl.includes('127.0.0.1'));
|
|
553
|
-
if (!appUrl && usesLocalhostDefaults && isBaseUrlLocalhost) {
|
|
554
|
-
appUrl = LOCALHOST_DEFAULTS.APP_URL;
|
|
536
|
+
if (resolved.appUrlSource === 'localhost-default') {
|
|
555
537
|
warnings.push(`URL: Using localhost default appUrl="${appUrl}" (env: '${serverEnv}')`);
|
|
556
538
|
}
|
|
557
|
-
if (
|
|
558
|
-
appUrl
|
|
559
|
-
if (appUrl !== baseUrl) {
|
|
560
|
-
warnings.push(`URL: Auto-derived appUrl="${appUrl}" from baseUrl="${baseUrl}"`);
|
|
561
|
-
}
|
|
539
|
+
if (resolved.appUrlSource === 'derived' && appUrl !== baseUrl) {
|
|
540
|
+
warnings.push(`URL: Auto-derived appUrl="${appUrl}" from baseUrl="${baseUrl}"`);
|
|
562
541
|
}
|
|
563
542
|
let rpId;
|
|
564
543
|
if (appUrl) {
|