auth.provider API
    Preparing search index...

    Variable AppConfigSchemaConst

    AppConfigSchema: ZodObject<
        {
            cors: ZodObject<{ allowedOrigins: ZodArray<ZodString> }, $strip>;
            endpoints: ZodObject<
                { login: ZodObject<{ url: ZodString }, $strip> },
                $strip,
            >;
            federations: ZodRecord<
                ZodString,
                ZodObject<
                    { enabled: ZodPreprocess<ZodBoolean>; type: ZodOptional<ZodString> },
                    $loose,
                >,
            >;
            http: ZodObject<
                { port: ZodCoercedNumber<unknown>; trustProxy: ZodBoolean },
                $strip,
            >;
            memoryRateLimiter: ZodOptional<
                ZodObject<
                    {
                        defaultLimit: ZodOptional<
                            ZodObject<
                                {
                                    limit: ZodCoercedNumber<unknown>;
                                    windowSeconds: ZodCoercedNumber<unknown>;
                                },
                                $strip,
                            >,
                        >;
                        limits: ZodOptional<
                            ZodRecord<
                                ZodString,
                                ZodObject<
                                    {
                                        limit: ZodCoercedNumber<unknown>;
                                        windowSeconds: ZodCoercedNumber<unknown>;
                                    },
                                    $strip,
                                >,
                            >,
                        >;
                        maxBuckets: ZodOptional<ZodCoercedNumber<unknown>>;
                    },
                    $strip,
                >,
            >;
            oauth: ZodObject<
                {
                    accessToken: ZodObject<
                        { expiresIn: ZodCoercedNumber<unknown> },
                        $strip,
                    >;
                    code: ZodOptional<
                        ZodObject<
                            {
                                adapter: ZodOptional<
                                    ZodEnum<{ memory: "memory"; redis: "redis" }>,
                                >;
                            },
                            $strip,
                        >,
                    >;
                    grants: ZodObject<{}, $loose>;
                    jwt: ZodPreprocess<
                        ZodObject<
                            {
                                issuer: ZodOptional<ZodString>;
                                legacyTypAccept: ZodOptional<ZodBoolean>;
                                signingKey: ZodObject<
                                    {
                                        local: ZodOptional<ZodDiscriminatedUnion<(...), (...)>>;
                                        provider: ZodString;
                                    },
                                    $loose,
                                >;
                            },
                            $strip,
                        >,
                    >;
                    nonce: ZodOptional<
                        ZodObject<{ maxLength: ZodCoercedNumber<unknown> }, $strip>,
                    >;
                    oidcMode: ZodEnum<{ dual: "dual"; "oidc-required": "oidc-required" }>;
                    refreshToken: ZodPreprocess<
                        ZodObject<
                            {
                                expiresIn: ZodCoercedNumber<unknown>;
                                legacyRtPolicy: ZodEnum<{ reject: "reject" }>;
                                unknownFamilyPolicy: ZodEnum<{ accept: "accept"; reject: "reject" }>;
                            },
                            $strip,
                        >,
                    >;
                    resourceIndicator: ZodOptional<
                        ZodObject<{ enabled: ZodPreprocess<ZodBoolean> }, $strip>,
                    >;
                    tokenExchange: ZodOptional<
                        ZodObject<{ maxActorChainDepth: ZodCoercedNumber<unknown> }, $strip>,
                    >;
                },
                $strip,
            >;
            rateLimit: ZodObject<
                {
                    failMode: ZodEnum<{ closed: "closed"; open: "open" }>;
                    login: ZodObject<
                        {
                            limit: ZodCoercedNumber<unknown>;
                            windowMs: ZodCoercedNumber<unknown>;
                        },
                        $strip,
                    >;
                },
                $strip,
            >;
            rateLimiter: ZodOptional<
                ZodObject<
                    {
                        adapter: ZodOptional<ZodEnum<{ memory: "memory"; redis: "redis" }>>;
                    },
                    $strip,
                >,
            >;
            redisCodeRepository: ZodOptional<
                ZodObject<
                    {
                        defaultExpiresIn: ZodOptional<ZodCoercedNumber<unknown>>;
                        keyPrefix: ZodOptional<ZodString>;
                    },
                    $strip,
                >,
            >;
            redisRefreshTokenFamilyStore: ZodOptional<
                ZodObject<
                    {
                        casRetryLimit: ZodOptional<ZodCoercedNumber<unknown>>;
                        keyPrefix: ZodOptional<ZodString>;
                    },
                    $strip,
                >,
            >;
            redisSessionStores: ZodOptional<
                ZodObject<{ keyPrefix: ZodOptional<ZodString> }, $strip>,
            >;
            refreshTokenFamilyStore: ZodOptional<
                ZodObject<
                    {
                        redis: ZodOptional<
                            ZodObject<
                                { password: ZodOptional<ZodString>; url: ZodString },
                                $strip,
                            >,
                        >;
                    },
                    $strip,
                >,
            >;
            repositories: ZodObject<
                {
                    client: ZodObject<{ type: ZodString }, $loose>;
                    code: ZodObject<{ type: ZodString }, $loose>;
                    user: ZodObject<{ type: ZodString }, $loose>;
                },
                $strip,
            >;
            session: ZodObject<
                {
                    domain: ZodNullable<ZodString>;
                    maxAge: ZodCoercedNumber<unknown>;
                    name: ZodString;
                    sameSite: ZodEnum<{ lax: "lax"; none: "none"; strict: "strict" }>;
                    secret: ZodString;
                    secure: ZodBoolean;
                    storage: ZodObject<
                        {
                            redis: ZodOptional<
                                ZodObject<
                                    { password: ZodOptional<ZodString>; url: ZodString },
                                    $strip,
                                >,
                            >;
                            type: ZodString;
                        },
                        $loose,
                    >;
                },
                $strip,
            >;
            userSessionStores: ZodOptional<
                ZodObject<
                    {
                        adapter: ZodOptional<ZodEnum<{ memory: "memory"; redis: "redis" }>>;
                    },
                    $strip,
                >,
            >;
        },
        $strip,
    > = ...

    Full application config schema including all optional module sections. Kept as a plain ZodObject (via .extend) for backward compatibility:

    • consumers can access .shape (e.g. AppConfigSchema.shape.oauth.shape.jwt)
    • ts.hocon/zod coercion traverses ZodObject shape, not ZodIntersection