@frontmcp/auth 0.9.0 → 0.11.0
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/__test-utils__/assertion.helpers.d.ts +2 -0
- package/__test-utils__/assertion.helpers.d.ts.map +1 -0
- package/authorization/authorization.class.d.ts +122 -0
- package/authorization/authorization.class.d.ts.map +1 -0
- package/authorization/authorization.types.d.ts +65 -1
- package/authorization/authorization.types.d.ts.map +1 -1
- package/authorization/index.d.ts +11 -2
- package/authorization/index.d.ts.map +1 -1
- package/authorization/orchestrated.accessor.d.ts +161 -0
- package/authorization/orchestrated.accessor.d.ts.map +1 -0
- package/authorization/orchestrated.authorization.d.ts +257 -0
- package/authorization/orchestrated.authorization.d.ts.map +1 -0
- package/authorization/public.authorization.d.ts +92 -0
- package/authorization/public.authorization.d.ts.map +1 -0
- package/authorization/transparent.authorization.d.ts +130 -0
- package/authorization/transparent.authorization.d.ts.map +1 -0
- package/common/auth-logger.interface.d.ts +15 -0
- package/common/auth-logger.interface.d.ts.map +1 -0
- package/common/index.d.ts +6 -0
- package/common/index.d.ts.map +1 -0
- package/common/jwt.types.d.ts +87 -0
- package/common/jwt.types.d.ts.map +1 -0
- package/common/session-user.types.d.ts +17 -0
- package/common/session-user.types.d.ts.map +1 -0
- package/common/session.types.d.ts +190 -0
- package/common/session.types.d.ts.map +1 -0
- package/common/zod-utils.d.ts +5 -0
- package/common/zod-utils.d.ts.map +1 -0
- package/consent/consent.types.d.ts +112 -0
- package/consent/consent.types.d.ts.map +1 -0
- package/consent/index.d.ts +2 -0
- package/consent/index.d.ts.map +1 -0
- package/detection/auth-provider-detection.d.ts +53 -0
- package/detection/auth-provider-detection.d.ts.map +1 -0
- package/detection/index.d.ts +3 -0
- package/detection/index.d.ts.map +1 -0
- package/errors/auth-internal.error.d.ts +33 -0
- package/errors/auth-internal.error.d.ts.map +1 -0
- package/errors/auth-internal.errors.d.ts +123 -0
- package/errors/auth-internal.errors.d.ts.map +1 -0
- package/errors/index.d.ts +3 -0
- package/errors/index.d.ts.map +1 -0
- package/esm/index.mjs +5473 -1204
- package/esm/package.json +18 -3
- package/index.d.ts +18 -5
- package/index.d.ts.map +1 -1
- package/index.js +5351 -961
- package/jwks/jwks.service.d.ts +1 -0
- package/jwks/jwks.service.d.ts.map +1 -1
- package/jwks/jwks.types.d.ts +3 -0
- package/jwks/jwks.types.d.ts.map +1 -1
- package/machine-id/index.d.ts +2 -0
- package/machine-id/index.d.ts.map +1 -0
- package/machine-id/machine-id.d.ts +28 -0
- package/machine-id/machine-id.d.ts.map +1 -0
- package/options/app-auth.schema.d.ts +272 -0
- package/options/app-auth.schema.d.ts.map +1 -0
- package/options/index.d.ts +15 -0
- package/options/index.d.ts.map +1 -0
- package/options/interfaces.d.ts +250 -0
- package/options/interfaces.d.ts.map +1 -0
- package/options/orchestrated.schema.d.ts +446 -0
- package/options/orchestrated.schema.d.ts.map +1 -0
- package/options/public.schema.d.ts +19 -0
- package/options/public.schema.d.ts.map +1 -0
- package/options/schema.d.ts +265 -0
- package/options/schema.d.ts.map +1 -0
- package/options/shared.schemas.d.ts +128 -0
- package/options/shared.schemas.d.ts.map +1 -0
- package/options/transparent.schema.d.ts +33 -0
- package/options/transparent.schema.d.ts.map +1 -0
- package/options/typecheck.d.ts +2 -0
- package/options/typecheck.d.ts.map +1 -0
- package/options/utils.d.ts +33 -0
- package/options/utils.d.ts.map +1 -0
- package/package.json +18 -3
- package/session/encrypted-authorization-vault.d.ts +182 -0
- package/session/encrypted-authorization-vault.d.ts.map +1 -0
- package/session/federated-auth.session.d.ts +252 -0
- package/session/federated-auth.session.d.ts.map +1 -0
- package/session/index.d.ts +21 -1
- package/session/index.d.ts.map +1 -1
- package/session/orchestrated-token.store.d.ts +155 -0
- package/session/orchestrated-token.store.d.ts.map +1 -0
- package/session/redis-session.store.d.ts +93 -0
- package/session/redis-session.store.d.ts.map +1 -0
- package/session/session-crypto.d.ts +84 -0
- package/session/session-crypto.d.ts.map +1 -0
- package/session/session-rate-limiter.d.ts +114 -0
- package/session/session-rate-limiter.d.ts.map +1 -0
- package/session/session.transport.d.ts +11 -0
- package/session/session.transport.d.ts.map +1 -0
- package/session/session.types.d.ts +66 -0
- package/session/session.types.d.ts.map +1 -0
- package/session/token.refresh.d.ts +61 -0
- package/session/token.refresh.d.ts.map +1 -0
- package/session/transport-session.types.d.ts +479 -0
- package/session/transport-session.types.d.ts.map +1 -0
- package/session/utils/auth-token.utils.d.ts +12 -0
- package/session/utils/auth-token.utils.d.ts.map +1 -0
- package/session/utils/index.d.ts +2 -0
- package/session/utils/index.d.ts.map +1 -1
- package/session/utils/session-crypto.utils.d.ts +30 -0
- package/session/utils/session-crypto.utils.d.ts.map +1 -0
- package/session/vercel-kv-session.store.d.ts +123 -0
- package/session/vercel-kv-session.store.d.ts.map +1 -0
- package/utils/authorization-id.utils.d.ts +12 -0
- package/utils/authorization-id.utils.d.ts.map +1 -0
- package/utils/index.d.ts +1 -0
- package/utils/index.d.ts.map +1 -1
- package/vault/auth-providers.accessor.d.ts +154 -0
- package/vault/auth-providers.accessor.d.ts.map +1 -0
- package/vault/auth-providers.accessor.impl.d.ts +54 -0
- package/vault/auth-providers.accessor.impl.d.ts.map +1 -0
- package/vault/auth-providers.registry.d.ts +111 -0
- package/vault/auth-providers.registry.d.ts.map +1 -0
- package/vault/auth-providers.types.d.ts +3 -3
- package/vault/auth-providers.vault.d.ts +94 -0
- package/vault/auth-providers.vault.d.ts.map +1 -0
- package/vault/credential-loaders/eager-loader.d.ts +47 -0
- package/vault/credential-loaders/eager-loader.d.ts.map +1 -0
- package/vault/credential-loaders/index.d.ts +7 -0
- package/vault/credential-loaders/index.d.ts.map +1 -0
- package/vault/credential-loaders/lazy-loader.d.ts +54 -0
- package/vault/credential-loaders/lazy-loader.d.ts.map +1 -0
- package/vault/index.d.ts +9 -0
- package/vault/index.d.ts.map +1 -1
package/jwks/jwks.service.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { JSONWebKeySet } from 'jose';
|
|
|
2
2
|
import { JwksServiceOptions, ProviderVerifyRef, VerifyResult } from './jwks.types';
|
|
3
3
|
export declare class JwksService {
|
|
4
4
|
private readonly opts;
|
|
5
|
+
private readonly logger;
|
|
5
6
|
private warnedProviders;
|
|
6
7
|
private orchestratorKey;
|
|
7
8
|
private providerJwks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwks.service.d.ts","sourceRoot":"","sources":["../../src/jwks/jwks.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAuD,aAAa,EAAO,MAAM,MAAM,CAAC;AAE/F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"jwks.service.d.ts","sourceRoot":"","sources":["../../src/jwks/jwks.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAuD,aAAa,EAAO,MAAM,MAAM,CAAC;AAE/F,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAanF,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAEnB;IAEF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,eAAe,CAAqB;IAG5C,OAAO,CAAC,eAAe,CAKrB;IAGF,OAAO,CAAC,YAAY,CAAiE;IAGrF,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,cAAc,CAA4B;IAElD,OAAO,CAAC,cAAc,CAAC,CAAiB;gBAE5B,IAAI,CAAC,EAAE,kBAAkB;IAerC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAM/B;;;OAGG;YACW,iBAAiB;IAc/B,mFAAmF;IAC7E,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAQ7C,uEAAuE;IACjE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAsCtF;;;OAGG;IACG,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAqDnG;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;;OAGG;YACW,iBAAiB;IA4E/B;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB,kEAAkE;IAClE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa;IAIvD;;;;;;OAMG;IACG,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAmCpF,yEAAyE;IACnE,mBAAmB,IAAI,OAAO,CAAC,aAAa,CAAC;IAKnD,wEAAwE;IAClE,yBAAyB,IAAI,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,OAAO,aAAa,EAAE,SAAS,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;YAShG,YAAY;YAaZ,cAAc;YAQd,SAAS;YAgBT,qBAAqB;YAyBrB,yBAAyB;IA+DvC,OAAO,CAAC,WAAW;CAgBpB"}
|
package/jwks/jwks.types.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { JSONWebKeySet } from 'jose';
|
|
2
2
|
import { DevKeyPersistenceOptions } from './dev-key-persistence';
|
|
3
|
+
import type { AuthLogger } from '../common/auth-logger.interface';
|
|
3
4
|
export type JwksServiceOptions = {
|
|
4
5
|
orchestratorAlg?: 'RS256' | 'ES256';
|
|
5
6
|
rotateDays?: number;
|
|
@@ -12,6 +13,8 @@ export type JwksServiceOptions = {
|
|
|
12
13
|
* When enabled, keys are saved to a file and reloaded on server restart.
|
|
13
14
|
*/
|
|
14
15
|
devKeyPersistence?: DevKeyPersistenceOptions;
|
|
16
|
+
/** Optional logger. If not provided, logging is disabled. */
|
|
17
|
+
logger?: AuthLogger;
|
|
15
18
|
};
|
|
16
19
|
export type { DevKeyPersistenceOptions };
|
|
17
20
|
/** Rich descriptor used by verification & fetching */
|
package/jwks/jwks.types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwks.types.d.ts","sourceRoot":"","sources":["../../src/jwks/jwks.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"jwks.types.d.ts","sourceRoot":"","sources":["../../src/jwks/jwks.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAElE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,eAAe,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;IAC7C,6DAA6D;IAC7D,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,CAAC;AAEF,YAAY,EAAE,wBAAwB,EAAE,CAAC;AAEzC,sDAAsD;AACtD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/machine-id/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Machine ID Utility
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for the machine ID used across session management.
|
|
5
|
+
*
|
|
6
|
+
* Configuration Priority:
|
|
7
|
+
* 1. MACHINE_ID environment variable (highest priority, recommended for production)
|
|
8
|
+
* 2. File persistence in dev mode (.frontmcp/machine-id)
|
|
9
|
+
* 3. Random UUID (ephemeral, invalidates sessions on restart)
|
|
10
|
+
*
|
|
11
|
+
* For distributed deployments with Redis session storage, set MACHINE_ID
|
|
12
|
+
* to the same value across all instances to allow session portability,
|
|
13
|
+
* or use unique values per instance to enforce session affinity.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Get the current machine ID.
|
|
17
|
+
* Returns the override (if set via `setMachineIdOverride`) or the computed value.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getMachineId(): string;
|
|
20
|
+
/**
|
|
21
|
+
* Set a process-wide machine ID override.
|
|
22
|
+
* Pass `undefined` to clear the override and revert to the computed value.
|
|
23
|
+
*
|
|
24
|
+
* This is used by `create()` to inject a stable machine ID for session continuity,
|
|
25
|
+
* especially when using Redis-backed sessions across process restarts.
|
|
26
|
+
*/
|
|
27
|
+
export declare function setMachineIdOverride(id: string | undefined): void;
|
|
28
|
+
//# sourceMappingURL=machine-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-id.d.ts","sourceRoot":"","sources":["../../src/machine-id/machine-id.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;GAaG;AA+GH;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAEjE"}
|
|
@@ -0,0 +1,272 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const appAuthOptionsSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
3
|
+
mode: z.ZodLiteral<"public">;
|
|
4
|
+
issuer: z.ZodOptional<z.ZodString>;
|
|
5
|
+
sessionTtl: z.ZodDefault<z.ZodNumber>;
|
|
6
|
+
anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
7
|
+
publicAccess: z.ZodOptional<z.ZodObject<{
|
|
8
|
+
tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
|
|
9
|
+
prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
|
|
10
|
+
rateLimit: z.ZodDefault<z.ZodNumber>;
|
|
11
|
+
}, z.core.$strip>>;
|
|
12
|
+
jwks: z.ZodOptional<z.ZodObject<{
|
|
13
|
+
keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
|
|
14
|
+
}, z.core.$strip>>;
|
|
15
|
+
signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
|
|
16
|
+
standalone: z.ZodOptional<z.ZodBoolean>;
|
|
17
|
+
excludeFromParent: z.ZodOptional<z.ZodBoolean>;
|
|
18
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
19
|
+
mode: z.ZodLiteral<"transparent">;
|
|
20
|
+
remote: z.ZodObject<{
|
|
21
|
+
provider: z.ZodString;
|
|
22
|
+
name: z.ZodOptional<z.ZodString>;
|
|
23
|
+
id: z.ZodOptional<z.ZodString>;
|
|
24
|
+
jwks: z.ZodOptional<z.ZodObject<{
|
|
25
|
+
keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
|
|
26
|
+
}, z.core.$strip>>;
|
|
27
|
+
jwksUri: z.ZodOptional<z.ZodString>;
|
|
28
|
+
clientId: z.ZodOptional<z.ZodString>;
|
|
29
|
+
clientSecret: z.ZodOptional<z.ZodString>;
|
|
30
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
31
|
+
dcrEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
32
|
+
authEndpoint: z.ZodOptional<z.ZodString>;
|
|
33
|
+
tokenEndpoint: z.ZodOptional<z.ZodString>;
|
|
34
|
+
registrationEndpoint: z.ZodOptional<z.ZodString>;
|
|
35
|
+
userInfoEndpoint: z.ZodOptional<z.ZodString>;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
38
|
+
requiredScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
39
|
+
allowAnonymous: z.ZodDefault<z.ZodBoolean>;
|
|
40
|
+
anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
41
|
+
publicAccess: z.ZodOptional<z.ZodObject<{
|
|
42
|
+
tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
|
|
43
|
+
prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
|
|
44
|
+
rateLimit: z.ZodDefault<z.ZodNumber>;
|
|
45
|
+
}, z.core.$strip>>;
|
|
46
|
+
standalone: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
excludeFromParent: z.ZodOptional<z.ZodBoolean>;
|
|
48
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
49
|
+
local: z.ZodOptional<z.ZodObject<{
|
|
50
|
+
signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
|
|
51
|
+
jwks: z.ZodOptional<z.ZodObject<{
|
|
52
|
+
keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
|
|
53
|
+
}, z.core.$strip>>;
|
|
54
|
+
issuer: z.ZodOptional<z.ZodString>;
|
|
55
|
+
}, z.core.$strip>>;
|
|
56
|
+
tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
57
|
+
type: z.ZodLiteral<"memory">;
|
|
58
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
59
|
+
type: z.ZodLiteral<"redis">;
|
|
60
|
+
config: z.ZodObject<{
|
|
61
|
+
host: z.ZodString;
|
|
62
|
+
port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
63
|
+
password: z.ZodOptional<z.ZodString>;
|
|
64
|
+
db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
65
|
+
tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
66
|
+
keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
67
|
+
defaultTtlMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
68
|
+
}, z.core.$strip>;
|
|
69
|
+
}, z.core.$strip>], "type">>;
|
|
70
|
+
allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
|
|
71
|
+
anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
72
|
+
publicAccess: z.ZodOptional<z.ZodObject<{
|
|
73
|
+
tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
|
|
74
|
+
prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
|
|
75
|
+
rateLimit: z.ZodDefault<z.ZodNumber>;
|
|
76
|
+
}, z.core.$strip>>;
|
|
77
|
+
consent: z.ZodOptional<z.ZodObject<{
|
|
78
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
79
|
+
groupByApp: z.ZodDefault<z.ZodBoolean>;
|
|
80
|
+
showDescriptions: z.ZodDefault<z.ZodBoolean>;
|
|
81
|
+
allowSelectAll: z.ZodDefault<z.ZodBoolean>;
|
|
82
|
+
requireSelection: z.ZodDefault<z.ZodBoolean>;
|
|
83
|
+
customMessage: z.ZodOptional<z.ZodString>;
|
|
84
|
+
rememberConsent: z.ZodDefault<z.ZodBoolean>;
|
|
85
|
+
excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
86
|
+
defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
87
|
+
}, z.core.$strip>>;
|
|
88
|
+
federatedAuth: z.ZodOptional<z.ZodObject<{
|
|
89
|
+
stateValidation: z.ZodDefault<z.ZodEnum<{
|
|
90
|
+
format: "format";
|
|
91
|
+
strict: "strict";
|
|
92
|
+
}>>;
|
|
93
|
+
}, z.core.$strip>>;
|
|
94
|
+
refresh: z.ZodOptional<z.ZodObject<{
|
|
95
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
96
|
+
skewSeconds: z.ZodDefault<z.ZodNumber>;
|
|
97
|
+
}, z.core.$strip>>;
|
|
98
|
+
expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
99
|
+
incrementalAuth: z.ZodOptional<z.ZodObject<{
|
|
100
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
101
|
+
skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
|
|
102
|
+
anonymous: "anonymous";
|
|
103
|
+
"require-auth": "require-auth";
|
|
104
|
+
}>>;
|
|
105
|
+
allowSkip: z.ZodDefault<z.ZodBoolean>;
|
|
106
|
+
showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
|
|
107
|
+
}, z.core.$strip>>;
|
|
108
|
+
cimd: z.ZodOptional<z.ZodObject<{
|
|
109
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
110
|
+
cache: z.ZodOptional<z.ZodObject<{
|
|
111
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
112
|
+
memory: "memory";
|
|
113
|
+
redis: "redis";
|
|
114
|
+
}>>;
|
|
115
|
+
defaultTtlMs: z.ZodDefault<z.ZodNumber>;
|
|
116
|
+
maxTtlMs: z.ZodDefault<z.ZodNumber>;
|
|
117
|
+
minTtlMs: z.ZodDefault<z.ZodNumber>;
|
|
118
|
+
redis: z.ZodOptional<z.ZodObject<{
|
|
119
|
+
url: z.ZodOptional<z.ZodString>;
|
|
120
|
+
host: z.ZodOptional<z.ZodString>;
|
|
121
|
+
port: z.ZodOptional<z.ZodNumber>;
|
|
122
|
+
password: z.ZodOptional<z.ZodString>;
|
|
123
|
+
db: z.ZodOptional<z.ZodNumber>;
|
|
124
|
+
tls: z.ZodOptional<z.ZodBoolean>;
|
|
125
|
+
keyPrefix: z.ZodDefault<z.ZodString>;
|
|
126
|
+
}, z.core.$strip>>;
|
|
127
|
+
}, z.core.$strip>>;
|
|
128
|
+
security: z.ZodOptional<z.ZodObject<{
|
|
129
|
+
blockPrivateIPs: z.ZodDefault<z.ZodBoolean>;
|
|
130
|
+
allowedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
131
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
132
|
+
warnOnLocalhostRedirects: z.ZodDefault<z.ZodBoolean>;
|
|
133
|
+
allowInsecureForTesting: z.ZodDefault<z.ZodBoolean>;
|
|
134
|
+
}, z.core.$strip>>;
|
|
135
|
+
network: z.ZodOptional<z.ZodObject<{
|
|
136
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
137
|
+
maxResponseSizeBytes: z.ZodDefault<z.ZodNumber>;
|
|
138
|
+
redirectPolicy: z.ZodDefault<z.ZodEnum<{
|
|
139
|
+
deny: "deny";
|
|
140
|
+
"same-origin": "same-origin";
|
|
141
|
+
allow: "allow";
|
|
142
|
+
}>>;
|
|
143
|
+
maxRedirects: z.ZodDefault<z.ZodNumber>;
|
|
144
|
+
}, z.core.$strip>>;
|
|
145
|
+
}, z.core.$strip>>;
|
|
146
|
+
mode: z.ZodLiteral<"orchestrated">;
|
|
147
|
+
type: z.ZodLiteral<"local">;
|
|
148
|
+
standalone: z.ZodOptional<z.ZodBoolean>;
|
|
149
|
+
excludeFromParent: z.ZodOptional<z.ZodBoolean>;
|
|
150
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
151
|
+
local: z.ZodOptional<z.ZodObject<{
|
|
152
|
+
signKey: z.ZodOptional<z.ZodUnion<[z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>, z.ZodCustom<Uint8Array<ArrayBuffer>, Uint8Array<ArrayBuffer>>]>>;
|
|
153
|
+
jwks: z.ZodOptional<z.ZodObject<{
|
|
154
|
+
keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
|
|
155
|
+
}, z.core.$strip>>;
|
|
156
|
+
issuer: z.ZodOptional<z.ZodString>;
|
|
157
|
+
}, z.core.$strip>>;
|
|
158
|
+
tokenStorage: z.ZodDefault<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
159
|
+
type: z.ZodLiteral<"memory">;
|
|
160
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
161
|
+
type: z.ZodLiteral<"redis">;
|
|
162
|
+
config: z.ZodObject<{
|
|
163
|
+
host: z.ZodString;
|
|
164
|
+
port: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
165
|
+
password: z.ZodOptional<z.ZodString>;
|
|
166
|
+
db: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
167
|
+
tls: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
168
|
+
keyPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
169
|
+
defaultTtlMs: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
170
|
+
}, z.core.$strip>;
|
|
171
|
+
}, z.core.$strip>], "type">>;
|
|
172
|
+
allowDefaultPublic: z.ZodDefault<z.ZodBoolean>;
|
|
173
|
+
anonymousScopes: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
174
|
+
publicAccess: z.ZodOptional<z.ZodObject<{
|
|
175
|
+
tools: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
|
|
176
|
+
prompts: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"all">, z.ZodArray<z.ZodString>]>>;
|
|
177
|
+
rateLimit: z.ZodDefault<z.ZodNumber>;
|
|
178
|
+
}, z.core.$strip>>;
|
|
179
|
+
consent: z.ZodOptional<z.ZodObject<{
|
|
180
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
181
|
+
groupByApp: z.ZodDefault<z.ZodBoolean>;
|
|
182
|
+
showDescriptions: z.ZodDefault<z.ZodBoolean>;
|
|
183
|
+
allowSelectAll: z.ZodDefault<z.ZodBoolean>;
|
|
184
|
+
requireSelection: z.ZodDefault<z.ZodBoolean>;
|
|
185
|
+
customMessage: z.ZodOptional<z.ZodString>;
|
|
186
|
+
rememberConsent: z.ZodDefault<z.ZodBoolean>;
|
|
187
|
+
excludedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
188
|
+
defaultSelectedTools: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
189
|
+
}, z.core.$strip>>;
|
|
190
|
+
federatedAuth: z.ZodOptional<z.ZodObject<{
|
|
191
|
+
stateValidation: z.ZodDefault<z.ZodEnum<{
|
|
192
|
+
format: "format";
|
|
193
|
+
strict: "strict";
|
|
194
|
+
}>>;
|
|
195
|
+
}, z.core.$strip>>;
|
|
196
|
+
refresh: z.ZodOptional<z.ZodObject<{
|
|
197
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
198
|
+
skewSeconds: z.ZodDefault<z.ZodNumber>;
|
|
199
|
+
}, z.core.$strip>>;
|
|
200
|
+
expectedAudience: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
201
|
+
incrementalAuth: z.ZodOptional<z.ZodObject<{
|
|
202
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
203
|
+
skippedAppBehavior: z.ZodDefault<z.ZodEnum<{
|
|
204
|
+
anonymous: "anonymous";
|
|
205
|
+
"require-auth": "require-auth";
|
|
206
|
+
}>>;
|
|
207
|
+
allowSkip: z.ZodDefault<z.ZodBoolean>;
|
|
208
|
+
showAllAppsAtOnce: z.ZodDefault<z.ZodBoolean>;
|
|
209
|
+
}, z.core.$strip>>;
|
|
210
|
+
cimd: z.ZodOptional<z.ZodObject<{
|
|
211
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
212
|
+
cache: z.ZodOptional<z.ZodObject<{
|
|
213
|
+
type: z.ZodDefault<z.ZodEnum<{
|
|
214
|
+
memory: "memory";
|
|
215
|
+
redis: "redis";
|
|
216
|
+
}>>;
|
|
217
|
+
defaultTtlMs: z.ZodDefault<z.ZodNumber>;
|
|
218
|
+
maxTtlMs: z.ZodDefault<z.ZodNumber>;
|
|
219
|
+
minTtlMs: z.ZodDefault<z.ZodNumber>;
|
|
220
|
+
redis: z.ZodOptional<z.ZodObject<{
|
|
221
|
+
url: z.ZodOptional<z.ZodString>;
|
|
222
|
+
host: z.ZodOptional<z.ZodString>;
|
|
223
|
+
port: z.ZodOptional<z.ZodNumber>;
|
|
224
|
+
password: z.ZodOptional<z.ZodString>;
|
|
225
|
+
db: z.ZodOptional<z.ZodNumber>;
|
|
226
|
+
tls: z.ZodOptional<z.ZodBoolean>;
|
|
227
|
+
keyPrefix: z.ZodDefault<z.ZodString>;
|
|
228
|
+
}, z.core.$strip>>;
|
|
229
|
+
}, z.core.$strip>>;
|
|
230
|
+
security: z.ZodOptional<z.ZodObject<{
|
|
231
|
+
blockPrivateIPs: z.ZodDefault<z.ZodBoolean>;
|
|
232
|
+
allowedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
233
|
+
blockedDomains: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
234
|
+
warnOnLocalhostRedirects: z.ZodDefault<z.ZodBoolean>;
|
|
235
|
+
allowInsecureForTesting: z.ZodDefault<z.ZodBoolean>;
|
|
236
|
+
}, z.core.$strip>>;
|
|
237
|
+
network: z.ZodOptional<z.ZodObject<{
|
|
238
|
+
timeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
239
|
+
maxResponseSizeBytes: z.ZodDefault<z.ZodNumber>;
|
|
240
|
+
redirectPolicy: z.ZodDefault<z.ZodEnum<{
|
|
241
|
+
deny: "deny";
|
|
242
|
+
"same-origin": "same-origin";
|
|
243
|
+
allow: "allow";
|
|
244
|
+
}>>;
|
|
245
|
+
maxRedirects: z.ZodDefault<z.ZodNumber>;
|
|
246
|
+
}, z.core.$strip>>;
|
|
247
|
+
}, z.core.$strip>>;
|
|
248
|
+
mode: z.ZodLiteral<"orchestrated">;
|
|
249
|
+
type: z.ZodLiteral<"remote">;
|
|
250
|
+
remote: z.ZodObject<{
|
|
251
|
+
provider: z.ZodString;
|
|
252
|
+
name: z.ZodOptional<z.ZodString>;
|
|
253
|
+
id: z.ZodOptional<z.ZodString>;
|
|
254
|
+
jwks: z.ZodOptional<z.ZodObject<{
|
|
255
|
+
keys: z.ZodArray<z.ZodType<import("..").JWK, unknown, z.core.$ZodTypeInternals<import("..").JWK, unknown>>>;
|
|
256
|
+
}, z.core.$strip>>;
|
|
257
|
+
jwksUri: z.ZodOptional<z.ZodString>;
|
|
258
|
+
clientId: z.ZodOptional<z.ZodString>;
|
|
259
|
+
clientSecret: z.ZodOptional<z.ZodString>;
|
|
260
|
+
scopes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
261
|
+
dcrEnabled: z.ZodDefault<z.ZodBoolean>;
|
|
262
|
+
authEndpoint: z.ZodOptional<z.ZodString>;
|
|
263
|
+
tokenEndpoint: z.ZodOptional<z.ZodString>;
|
|
264
|
+
registrationEndpoint: z.ZodOptional<z.ZodString>;
|
|
265
|
+
userInfoEndpoint: z.ZodOptional<z.ZodString>;
|
|
266
|
+
}, z.core.$strip>;
|
|
267
|
+
standalone: z.ZodOptional<z.ZodBoolean>;
|
|
268
|
+
excludeFromParent: z.ZodOptional<z.ZodBoolean>;
|
|
269
|
+
}, z.core.$strip>]>;
|
|
270
|
+
export type AppAuthOptions = z.infer<typeof appAuthOptionsSchema>;
|
|
271
|
+
export type AppAuthOptionsInput = z.input<typeof appAuthOptionsSchema>;
|
|
272
|
+
//# sourceMappingURL=app-auth.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-auth.schema.d.ts","sourceRoot":"","sources":["../../src/options/app-auth.schema.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoCxB,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAK/B,CAAC;AAMH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type { PublicAccessConfig, LocalSigningConfig, RemoteProviderConfig, TokenStorageConfig, TokenStorageMemory, TokenStorageRedis, TokenRefreshConfig, SkippedAppBehavior, ConsentConfig, FederatedAuthConfig, IncrementalAuthConfig, PublicAuthOptionsInterface, TransparentAuthOptionsInterface, OrchestratedLocalOptionsInterface, OrchestratedRemoteOptionsInterface, OrchestratedAuthOptionsInterface, AuthOptionsInterface, AuthMode, OrchestratedType, } from './interfaces';
|
|
2
|
+
export { publicAccessConfigSchema, localSigningConfigSchema, remoteProviderConfigSchema, tokenStorageConfigSchema, tokenRefreshConfigSchema, skippedAppBehaviorSchema, consentConfigSchema, federatedAuthConfigSchema, incrementalAuthConfigSchema, } from './shared.schemas';
|
|
3
|
+
export type { PublicAccessConfig as PublicAccessConfigZod, PublicAccessConfigInput, LocalSigningConfig as LocalSigningConfigZod, LocalSigningConfigInput, RemoteProviderConfig as RemoteProviderConfigZod, RemoteProviderConfigInput, TokenStorageConfig as TokenStorageConfigZod, TokenStorageConfigInput, TokenRefreshConfig as TokenRefreshConfigZod, TokenRefreshConfigInput, SkippedAppBehavior as SkippedAppBehaviorZod, ConsentConfig as ConsentConfigZod, ConsentConfigInput, FederatedAuthConfig as FederatedAuthConfigZod, FederatedAuthConfigInput, IncrementalAuthConfig as IncrementalAuthConfigZod, IncrementalAuthConfigInput, RedisConfig, } from './shared.schemas';
|
|
4
|
+
export { publicAuthOptionsSchema } from './public.schema';
|
|
5
|
+
export type { PublicAuthOptions, PublicAuthOptionsInput } from './public.schema';
|
|
6
|
+
export { transparentAuthOptionsSchema } from './transparent.schema';
|
|
7
|
+
export type { TransparentAuthOptions, TransparentAuthOptionsInput } from './transparent.schema';
|
|
8
|
+
export { orchestratedLocalSchema, orchestratedRemoteSchema, orchestratedAuthOptionsSchema, } from './orchestrated.schema';
|
|
9
|
+
export type { OrchestratedLocalOptions, OrchestratedLocalOptionsInput, OrchestratedRemoteOptions, OrchestratedRemoteOptionsInput, OrchestratedAuthOptions, OrchestratedAuthOptionsInput, OrchestratedType as OrchestratedTypeZod, } from './orchestrated.schema';
|
|
10
|
+
export { authOptionsSchema } from './schema';
|
|
11
|
+
export type { AuthOptions, AuthOptionsInput, AuthMode as AuthModeZod } from './schema';
|
|
12
|
+
export { appAuthOptionsSchema } from './app-auth.schema';
|
|
13
|
+
export type { AppAuthOptions, AppAuthOptionsInput } from './app-auth.schema';
|
|
14
|
+
export { parseAuthOptions, isPublicMode, isTransparentMode, isOrchestratedMode, isOrchestratedLocal, isOrchestratedRemote, allowsPublicAccess, } from './utils';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/options/index.ts"],"names":[],"mappings":"AAMA,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,+BAA+B,EAC/B,iCAAiC,EACjC,kCAAkC,EAClC,gCAAgC,EAChC,oBAAoB,EACpB,QAAQ,EACR,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAKtB,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,mBAAmB,EACnB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EACV,kBAAkB,IAAI,qBAAqB,EAC3C,uBAAuB,EACvB,kBAAkB,IAAI,qBAAqB,EAC3C,uBAAuB,EACvB,oBAAoB,IAAI,uBAAuB,EAC/C,yBAAyB,EACzB,kBAAkB,IAAI,qBAAqB,EAC3C,uBAAuB,EACvB,kBAAkB,IAAI,qBAAqB,EAC3C,uBAAuB,EACvB,kBAAkB,IAAI,qBAAqB,EAC3C,aAAa,IAAI,gBAAgB,EACjC,kBAAkB,EAClB,mBAAmB,IAAI,sBAAsB,EAC7C,wBAAwB,EACxB,qBAAqB,IAAI,wBAAwB,EACjD,0BAA0B,EAC1B,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAK1B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKjF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,YAAY,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAKhG,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,wBAAwB,EACxB,6BAA6B,EAC7B,yBAAyB,EACzB,8BAA8B,EAC9B,uBAAuB,EACvB,4BAA4B,EAC5B,gBAAgB,IAAI,mBAAmB,GACxC,MAAM,uBAAuB,CAAC;AAK/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,UAAU,CAAC;AAKvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAK7E,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
import { JSONWebKeySet, JWK } from '../common/jwt.types';
|
|
2
|
+
import type { RedisConfig } from '../session/transport-session.types';
|
|
3
|
+
/**
|
|
4
|
+
* Public access configuration for tools/prompts
|
|
5
|
+
*/
|
|
6
|
+
export interface PublicAccessConfig {
|
|
7
|
+
/**
|
|
8
|
+
* Allow all tools or explicit whitelist
|
|
9
|
+
* @default 'all'
|
|
10
|
+
*/
|
|
11
|
+
tools?: 'all' | string[];
|
|
12
|
+
/**
|
|
13
|
+
* Allow all prompts or explicit whitelist
|
|
14
|
+
* @default 'all'
|
|
15
|
+
*/
|
|
16
|
+
prompts?: 'all' | string[];
|
|
17
|
+
/**
|
|
18
|
+
* Rate limit per IP per minute
|
|
19
|
+
* @default 60
|
|
20
|
+
*/
|
|
21
|
+
rateLimit?: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Local signing configuration (for orchestrated local type)
|
|
25
|
+
*/
|
|
26
|
+
export interface LocalSigningConfig {
|
|
27
|
+
/**
|
|
28
|
+
* Private key for signing orchestrated tokens
|
|
29
|
+
* @default auto-generated
|
|
30
|
+
*/
|
|
31
|
+
signKey?: JWK | Uint8Array;
|
|
32
|
+
/**
|
|
33
|
+
* JWKS for token verification
|
|
34
|
+
* @default auto-generated
|
|
35
|
+
*/
|
|
36
|
+
jwks?: JSONWebKeySet;
|
|
37
|
+
/**
|
|
38
|
+
* Issuer identifier for orchestrated tokens
|
|
39
|
+
* @default auto-derived from server URL
|
|
40
|
+
*/
|
|
41
|
+
issuer?: string;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Remote OAuth provider configuration (for orchestrated remote and transparent)
|
|
45
|
+
*/
|
|
46
|
+
export interface RemoteProviderConfig {
|
|
47
|
+
/**
|
|
48
|
+
* OAuth provider base URL
|
|
49
|
+
* @example 'https://auth.example.com'
|
|
50
|
+
*/
|
|
51
|
+
provider: string;
|
|
52
|
+
/** Provider display name */
|
|
53
|
+
name?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Unique identifier for this provider
|
|
56
|
+
* @default derived from provider URL
|
|
57
|
+
*/
|
|
58
|
+
id?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Inline JWKS for offline token verification
|
|
61
|
+
* Falls back to fetching from provider's /.well-known/jwks.json
|
|
62
|
+
*/
|
|
63
|
+
jwks?: JSONWebKeySet;
|
|
64
|
+
/** Custom JWKS URI if not at standard path */
|
|
65
|
+
jwksUri?: string;
|
|
66
|
+
/** Client ID for this MCP server (for orchestrated mode) */
|
|
67
|
+
clientId?: string;
|
|
68
|
+
/** Client secret (for confidential clients in orchestrated mode) */
|
|
69
|
+
clientSecret?: string;
|
|
70
|
+
/** Scopes to request from the upstream provider */
|
|
71
|
+
scopes?: string[];
|
|
72
|
+
/**
|
|
73
|
+
* Enable Dynamic Client Registration (DCR)
|
|
74
|
+
* @default false
|
|
75
|
+
*/
|
|
76
|
+
dcrEnabled?: boolean;
|
|
77
|
+
/** Authorization endpoint override */
|
|
78
|
+
authEndpoint?: string;
|
|
79
|
+
/** Token endpoint override */
|
|
80
|
+
tokenEndpoint?: string;
|
|
81
|
+
/** Registration endpoint override (for DCR) */
|
|
82
|
+
registrationEndpoint?: string;
|
|
83
|
+
/** User info endpoint override */
|
|
84
|
+
userInfoEndpoint?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Token storage - in-memory
|
|
88
|
+
*/
|
|
89
|
+
export interface TokenStorageMemory {
|
|
90
|
+
type: 'memory';
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Token storage - Redis
|
|
94
|
+
*/
|
|
95
|
+
export interface TokenStorageRedis {
|
|
96
|
+
type: 'redis';
|
|
97
|
+
config: RedisConfig;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Token storage configuration for orchestrated mode
|
|
101
|
+
*/
|
|
102
|
+
export type TokenStorageConfig = TokenStorageMemory | TokenStorageRedis;
|
|
103
|
+
/**
|
|
104
|
+
* Token refresh configuration
|
|
105
|
+
*/
|
|
106
|
+
export interface TokenRefreshConfig {
|
|
107
|
+
/**
|
|
108
|
+
* Enable automatic token refresh
|
|
109
|
+
* @default true
|
|
110
|
+
*/
|
|
111
|
+
enabled?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* Refresh token before expiry by this many seconds
|
|
114
|
+
* @default 60
|
|
115
|
+
*/
|
|
116
|
+
skewSeconds?: number;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Behavior when a tool from a skipped (not yet authorized) app is called
|
|
120
|
+
*/
|
|
121
|
+
export type SkippedAppBehavior = 'anonymous' | 'require-auth';
|
|
122
|
+
/**
|
|
123
|
+
* Consent configuration for tool selection
|
|
124
|
+
*/
|
|
125
|
+
export interface ConsentConfig {
|
|
126
|
+
/**
|
|
127
|
+
* Enable consent flow for tool selection
|
|
128
|
+
* @default false
|
|
129
|
+
*/
|
|
130
|
+
enabled?: boolean;
|
|
131
|
+
/**
|
|
132
|
+
* Group tools by app in the consent UI
|
|
133
|
+
* @default true
|
|
134
|
+
*/
|
|
135
|
+
groupByApp?: boolean;
|
|
136
|
+
/**
|
|
137
|
+
* Show tool descriptions in consent UI
|
|
138
|
+
* @default true
|
|
139
|
+
*/
|
|
140
|
+
showDescriptions?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Allow selecting all tools at once
|
|
143
|
+
* @default true
|
|
144
|
+
*/
|
|
145
|
+
allowSelectAll?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Require at least one tool to be selected
|
|
148
|
+
* @default true
|
|
149
|
+
*/
|
|
150
|
+
requireSelection?: boolean;
|
|
151
|
+
/** Custom message to display on consent page */
|
|
152
|
+
customMessage?: string;
|
|
153
|
+
/**
|
|
154
|
+
* Remember consent for future sessions
|
|
155
|
+
* @default true
|
|
156
|
+
*/
|
|
157
|
+
rememberConsent?: boolean;
|
|
158
|
+
/** Tools to exclude from consent (always available) */
|
|
159
|
+
excludedTools?: string[];
|
|
160
|
+
/** Tools to always include in consent (pre-selected) */
|
|
161
|
+
defaultSelectedTools?: string[];
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Federated authentication configuration
|
|
165
|
+
*/
|
|
166
|
+
export interface FederatedAuthConfig {
|
|
167
|
+
/**
|
|
168
|
+
* How strictly to validate the OAuth state parameter on provider callbacks.
|
|
169
|
+
* - 'strict': Validates the full state parameter matches the session (recommended)
|
|
170
|
+
* - 'format': Only validates the state format is correct
|
|
171
|
+
*/
|
|
172
|
+
stateValidation: 'strict' | 'format';
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Progressive/Incremental authorization configuration
|
|
176
|
+
*/
|
|
177
|
+
export interface IncrementalAuthConfig {
|
|
178
|
+
/**
|
|
179
|
+
* Enable incremental (progressive) authorization
|
|
180
|
+
* @default true
|
|
181
|
+
*/
|
|
182
|
+
enabled?: boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Behavior when a tool from a skipped app is called
|
|
185
|
+
* @default 'anonymous'
|
|
186
|
+
*/
|
|
187
|
+
skippedAppBehavior?: SkippedAppBehavior;
|
|
188
|
+
/**
|
|
189
|
+
* Allow users to skip app authorization during initial auth flow
|
|
190
|
+
* @default true
|
|
191
|
+
*/
|
|
192
|
+
allowSkip?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Show all apps in a single authorization page (vs step-by-step)
|
|
195
|
+
* @default true
|
|
196
|
+
*/
|
|
197
|
+
showAllAppsAtOnce?: boolean;
|
|
198
|
+
}
|
|
199
|
+
export interface PublicAuthOptionsInterface {
|
|
200
|
+
mode: 'public';
|
|
201
|
+
issuer?: string;
|
|
202
|
+
sessionTtl?: number;
|
|
203
|
+
anonymousScopes?: string[];
|
|
204
|
+
publicAccess?: PublicAccessConfig;
|
|
205
|
+
jwks?: JSONWebKeySet;
|
|
206
|
+
signKey?: JWK | Uint8Array;
|
|
207
|
+
}
|
|
208
|
+
export interface TransparentAuthOptionsInterface {
|
|
209
|
+
mode: 'transparent';
|
|
210
|
+
remote: RemoteProviderConfig;
|
|
211
|
+
expectedAudience?: string | string[];
|
|
212
|
+
requiredScopes?: string[];
|
|
213
|
+
allowAnonymous?: boolean;
|
|
214
|
+
anonymousScopes?: string[];
|
|
215
|
+
publicAccess?: PublicAccessConfig;
|
|
216
|
+
}
|
|
217
|
+
export interface OrchestratedLocalOptionsInterface {
|
|
218
|
+
mode: 'orchestrated';
|
|
219
|
+
type: 'local';
|
|
220
|
+
local?: LocalSigningConfig;
|
|
221
|
+
tokenStorage?: TokenStorageConfig;
|
|
222
|
+
allowDefaultPublic?: boolean;
|
|
223
|
+
anonymousScopes?: string[];
|
|
224
|
+
publicAccess?: PublicAccessConfig;
|
|
225
|
+
consent?: ConsentConfig;
|
|
226
|
+
federatedAuth?: FederatedAuthConfig;
|
|
227
|
+
refresh?: TokenRefreshConfig;
|
|
228
|
+
expectedAudience?: string | string[];
|
|
229
|
+
incrementalAuth?: IncrementalAuthConfig;
|
|
230
|
+
}
|
|
231
|
+
export interface OrchestratedRemoteOptionsInterface {
|
|
232
|
+
mode: 'orchestrated';
|
|
233
|
+
type: 'remote';
|
|
234
|
+
remote: RemoteProviderConfig;
|
|
235
|
+
local?: LocalSigningConfig;
|
|
236
|
+
tokenStorage?: TokenStorageConfig;
|
|
237
|
+
allowDefaultPublic?: boolean;
|
|
238
|
+
anonymousScopes?: string[];
|
|
239
|
+
publicAccess?: PublicAccessConfig;
|
|
240
|
+
consent?: ConsentConfig;
|
|
241
|
+
federatedAuth?: FederatedAuthConfig;
|
|
242
|
+
refresh?: TokenRefreshConfig;
|
|
243
|
+
expectedAudience?: string | string[];
|
|
244
|
+
incrementalAuth?: IncrementalAuthConfig;
|
|
245
|
+
}
|
|
246
|
+
export type AuthOptionsInterface = PublicAuthOptionsInterface | TransparentAuthOptionsInterface | OrchestratedLocalOptionsInterface | OrchestratedRemoteOptionsInterface;
|
|
247
|
+
export type OrchestratedAuthOptionsInterface = OrchestratedLocalOptionsInterface | OrchestratedRemoteOptionsInterface;
|
|
248
|
+
export type AuthMode = 'public' | 'transparent' | 'orchestrated';
|
|
249
|
+
export type OrchestratedType = 'local' | 'remote';
|
|
250
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/options/interfaces.ts"],"names":[],"mappings":"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"}
|