@owox/idp-owox-better-auth 0.18.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/README.md +119 -0
- package/dist/client/IdentityOwoxClient.d.ts +41 -0
- package/dist/client/IdentityOwoxClient.d.ts.map +1 -0
- package/dist/client/IdentityOwoxClient.js +128 -0
- package/dist/client/dto/authFlowDto.d.ts +27 -0
- package/dist/client/dto/authFlowDto.d.ts.map +1 -0
- package/dist/client/dto/authFlowDto.js +5 -0
- package/dist/client/dto/idpOwoxPayloadDto.d.ts +29 -0
- package/dist/client/dto/idpOwoxPayloadDto.d.ts.map +1 -0
- package/dist/client/dto/idpOwoxPayloadDto.js +28 -0
- package/dist/client/dto/index.d.ts +11 -0
- package/dist/client/dto/index.d.ts.map +1 -0
- package/dist/client/dto/index.js +10 -0
- package/dist/client/dto/introspectionDto.d.ts +70 -0
- package/dist/client/dto/introspectionDto.d.ts.map +1 -0
- package/dist/client/dto/introspectionDto.js +15 -0
- package/dist/client/dto/jwksDto.d.ts +102 -0
- package/dist/client/dto/jwksDto.d.ts.map +1 -0
- package/dist/client/dto/jwksDto.js +18 -0
- package/dist/client/dto/revocationDto.d.ts +11 -0
- package/dist/client/dto/revocationDto.d.ts.map +1 -0
- package/dist/client/dto/revocationDto.js +1 -0
- package/dist/client/dto/tokenDto.d.ts +33 -0
- package/dist/client/dto/tokenDto.d.ts.map +1 -0
- package/dist/client/dto/tokenDto.js +9 -0
- package/dist/client/dto/tokenType.d.ts +5 -0
- package/dist/client/dto/tokenType.d.ts.map +1 -0
- package/dist/client/dto/tokenType.js +1 -0
- package/dist/client/index.d.ts +6 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +5 -0
- package/dist/config/idp-better-auth-config.d.ts +9 -0
- package/dist/config/idp-better-auth-config.d.ts.map +1 -0
- package/dist/config/idp-better-auth-config.js +101 -0
- package/dist/config/idp-owox-config.d.ts +195 -0
- package/dist/config/idp-owox-config.d.ts.map +1 -0
- package/dist/config/idp-owox-config.js +252 -0
- package/dist/config/index.d.ts +6 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +5 -0
- package/dist/core/constants.d.ts +14 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +13 -0
- package/dist/core/exceptions.d.ts +27 -0
- package/dist/core/exceptions.d.ts.map +1 -0
- package/dist/core/exceptions.js +36 -0
- package/dist/core/logger.d.ts +17 -0
- package/dist/core/logger.d.ts.map +1 -0
- package/dist/core/logger.js +66 -0
- package/dist/core/pkce.d.ts +21 -0
- package/dist/core/pkce.d.ts.map +1 -0
- package/dist/core/pkce.js +27 -0
- package/dist/facades/owox-token-facade.d.ts +27 -0
- package/dist/facades/owox-token-facade.d.ts.map +1 -0
- package/dist/facades/owox-token-facade.js +117 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/jwt/jwksCache.d.ts +24 -0
- package/dist/jwt/jwksCache.d.ts.map +1 -0
- package/dist/jwt/jwksCache.js +41 -0
- package/dist/jwt/parseToken.d.ts +15 -0
- package/dist/jwt/parseToken.d.ts.map +1 -0
- package/dist/jwt/parseToken.js +26 -0
- package/dist/jwt/verifyJwt.d.ts +13 -0
- package/dist/jwt/verifyJwt.d.ts.map +1 -0
- package/dist/jwt/verifyJwt.js +23 -0
- package/dist/mappers/client-payload-mapper.d.ts +6 -0
- package/dist/mappers/client-payload-mapper.d.ts.map +1 -0
- package/dist/mappers/client-payload-mapper.js +17 -0
- package/dist/mappers/user-info-payload-builder.d.ts +11 -0
- package/dist/mappers/user-info-payload-builder.d.ts.map +1 -0
- package/dist/mappers/user-info-payload-builder.js +28 -0
- package/dist/owox-better-auth-idp.d.ts +40 -0
- package/dist/owox-better-auth-idp.d.ts.map +1 -0
- package/dist/owox-better-auth-idp.js +239 -0
- package/dist/resources/templates/layouts/auth.ejs +29 -0
- package/dist/resources/templates/pages/sign-in.ejs +66 -0
- package/dist/resources/templates/pages/sign-up.ejs +65 -0
- package/dist/resources/templates/partials/brand-panel.ejs +24 -0
- package/dist/resources/templates/partials/footer.ejs +10 -0
- package/dist/resources/templates/partials/head.ejs +64 -0
- package/dist/resources/templates/partials/header.ejs +7 -0
- package/dist/services/auth/better-auth-session-service.d.ts +28 -0
- package/dist/services/auth/better-auth-session-service.d.ts.map +1 -0
- package/dist/services/auth/better-auth-session-service.js +121 -0
- package/dist/services/auth/pkce-flow-orchestrator.d.ts +33 -0
- package/dist/services/auth/pkce-flow-orchestrator.d.ts.map +1 -0
- package/dist/services/auth/pkce-flow-orchestrator.js +134 -0
- package/dist/services/auth/platform-auth-flow-client.d.ts +16 -0
- package/dist/services/auth/platform-auth-flow-client.d.ts.map +1 -0
- package/dist/services/auth/platform-auth-flow-client.js +32 -0
- package/dist/services/core/token-service.d.ts +25 -0
- package/dist/services/core/token-service.d.ts.map +1 -0
- package/dist/services/core/token-service.js +56 -0
- package/dist/services/core/user-context-service.d.ts +23 -0
- package/dist/services/core/user-context-service.d.ts.map +1 -0
- package/dist/services/core/user-context-service.js +54 -0
- package/dist/services/middleware/middleware-service.d.ts +19 -0
- package/dist/services/middleware/middleware-service.d.ts.map +1 -0
- package/dist/services/middleware/middleware-service.js +62 -0
- package/dist/services/middleware/request-handler-service.d.ts +18 -0
- package/dist/services/middleware/request-handler-service.d.ts.map +1 -0
- package/dist/services/middleware/request-handler-service.js +131 -0
- package/dist/services/rendering/page-service.d.ts +11 -0
- package/dist/services/rendering/page-service.d.ts.map +1 -0
- package/dist/services/rendering/page-service.js +26 -0
- package/dist/services/rendering/template-service.d.ts +17 -0
- package/dist/services/rendering/template-service.d.ts.map +1 -0
- package/dist/services/rendering/template-service.js +52 -0
- package/dist/social/google-provider.d.ts +35 -0
- package/dist/social/google-provider.d.ts.map +1 -0
- package/dist/social/google-provider.js +55 -0
- package/dist/social/social-provider.d.ts +23 -0
- package/dist/social/social-provider.d.ts.map +1 -0
- package/dist/social/social-provider.js +1 -0
- package/dist/store/database-store-factory.d.ts +8 -0
- package/dist/store/database-store-factory.d.ts.map +1 -0
- package/dist/store/database-store-factory.js +38 -0
- package/dist/store/database-store.d.ts +20 -0
- package/dist/store/database-store.d.ts.map +1 -0
- package/dist/store/database-store.js +1 -0
- package/dist/store/mysql-database-store.d.ts +40 -0
- package/dist/store/mysql-database-store.d.ts.map +1 -0
- package/dist/store/mysql-database-store.js +213 -0
- package/dist/store/sqlite-database-store.d.ts +32 -0
- package/dist/store/sqlite-database-store.d.ts.map +1 -0
- package/dist/store/sqlite-database-store.js +205 -0
- package/dist/store/store-result.d.ts +16 -0
- package/dist/store/store-result.d.ts.map +1 -0
- package/dist/store/store-result.js +25 -0
- package/dist/types/auth-request-context.d.ts +15 -0
- package/dist/types/auth-request-context.d.ts.map +1 -0
- package/dist/types/auth-request-context.js +12 -0
- package/dist/types/auth-session.d.ts +25 -0
- package/dist/types/auth-session.d.ts.map +1 -0
- package/dist/types/auth-session.js +1 -0
- package/dist/types/database-models.d.ts +39 -0
- package/dist/types/database-models.d.ts.map +1 -0
- package/dist/types/database-models.js +1 -0
- package/dist/types/index.d.ts +45 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/utils/cookie-policy.d.ts +16 -0
- package/dist/utils/cookie-policy.d.ts.map +1 -0
- package/dist/utils/cookie-policy.js +27 -0
- package/dist/utils/platform-redirect-builder.d.ts +29 -0
- package/dist/utils/platform-redirect-builder.d.ts.map +1 -0
- package/dist/utils/platform-redirect-builder.js +86 -0
- package/dist/utils/request-utils.d.ts +87 -0
- package/dist/utils/request-utils.d.ts.map +1 -0
- package/dist/utils/request-utils.js +171 -0
- package/dist/utils/string-utils.d.ts +13 -0
- package/dist/utils/string-utils.d.ts.map +1 -0
- package/dist/utils/string-utils.js +21 -0
- package/package.json +71 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** OAuth grant types supported by Identity OWOX. */
|
|
3
|
+
export type GrantType = 'authorization_code' | 'refresh_token';
|
|
4
|
+
/** Token request payload for Identity OWOX. */
|
|
5
|
+
export interface TokenRequest {
|
|
6
|
+
grantType: GrantType;
|
|
7
|
+
clientId: string;
|
|
8
|
+
authCode?: string;
|
|
9
|
+
refreshToken?: string;
|
|
10
|
+
codeVerifier?: string;
|
|
11
|
+
}
|
|
12
|
+
/** Token response schema for Identity OWOX. */
|
|
13
|
+
export declare const TokenResponseSchema: z.ZodObject<{
|
|
14
|
+
accessToken: z.ZodString;
|
|
15
|
+
refreshToken: z.ZodString;
|
|
16
|
+
tokenType: z.ZodString;
|
|
17
|
+
accessTokenExpiresIn: z.ZodNumber;
|
|
18
|
+
refreshTokenExpiresIn: z.ZodNumber;
|
|
19
|
+
}, "strip", z.ZodTypeAny, {
|
|
20
|
+
refreshToken: string;
|
|
21
|
+
accessToken: string;
|
|
22
|
+
tokenType: string;
|
|
23
|
+
accessTokenExpiresIn: number;
|
|
24
|
+
refreshTokenExpiresIn: number;
|
|
25
|
+
}, {
|
|
26
|
+
refreshToken: string;
|
|
27
|
+
accessToken: string;
|
|
28
|
+
tokenType: string;
|
|
29
|
+
accessTokenExpiresIn: number;
|
|
30
|
+
refreshTokenExpiresIn: number;
|
|
31
|
+
}>;
|
|
32
|
+
export type TokenResponse = z.infer<typeof TokenResponseSchema>;
|
|
33
|
+
//# sourceMappingURL=tokenDto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenDto.d.ts","sourceRoot":"","sources":["../../../src/client/dto/tokenDto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,oDAAoD;AACpD,MAAM,MAAM,SAAS,GAAG,oBAAoB,GAAG,eAAe,CAAC;AAE/D,+CAA+C;AAC/C,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;EAM9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/** Token response schema for Identity OWOX. */
|
|
3
|
+
export const TokenResponseSchema = z.object({
|
|
4
|
+
accessToken: z.string().min(10),
|
|
5
|
+
refreshToken: z.string().min(10),
|
|
6
|
+
tokenType: z.string(),
|
|
7
|
+
accessTokenExpiresIn: z.number().positive(),
|
|
8
|
+
refreshTokenExpiresIn: z.number().positive(),
|
|
9
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenType.d.ts","sourceRoot":"","sources":["../../../src/client/dto/tokenType.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { betterAuth } from 'better-auth';
|
|
2
|
+
import { BetterAuthConfig } from '../types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Builds Better Auth configuration with social providers and cookies.
|
|
5
|
+
*/
|
|
6
|
+
export declare function createBetterAuthConfig(config: BetterAuthConfig, options?: {
|
|
7
|
+
adapter?: unknown;
|
|
8
|
+
}): Promise<ReturnType<typeof betterAuth>>;
|
|
9
|
+
//# sourceMappingURL=idp-better-auth-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idp-better-auth-config.d.ts","sourceRoot":"","sources":["../../src/config/idp-better-auth-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CA4ExC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { LoggerFactory, LogLevel } from '@owox/internal-helpers';
|
|
2
|
+
import { betterAuth } from 'better-auth';
|
|
3
|
+
import { BETTER_AUTH_SESSION_COOKIE } from '../core/constants.js';
|
|
4
|
+
import { GoogleProvider } from '../social/google-provider.js';
|
|
5
|
+
/**
|
|
6
|
+
* Builds Better Auth configuration with social providers and cookies.
|
|
7
|
+
*/
|
|
8
|
+
export async function createBetterAuthConfig(config, options) {
|
|
9
|
+
const logger = LoggerFactory.createNamedLogger('better-auth');
|
|
10
|
+
const database = options?.adapter;
|
|
11
|
+
const basePath = '/auth/better-auth';
|
|
12
|
+
const calcBaseURL = config.baseURL || 'http://localhost:3000';
|
|
13
|
+
const trustedOrigins = config.trustedOrigins && config.trustedOrigins.length > 0
|
|
14
|
+
? config.trustedOrigins
|
|
15
|
+
: [calcBaseURL];
|
|
16
|
+
const authConfig = {
|
|
17
|
+
database,
|
|
18
|
+
session: {
|
|
19
|
+
expiresIn: config.session?.maxAge || 60 * 60 * 24 * 7,
|
|
20
|
+
updateAge: 60 * 60 * 24,
|
|
21
|
+
},
|
|
22
|
+
trustedOrigins: Array.from(new Set(trustedOrigins)),
|
|
23
|
+
baseURL: calcBaseURL,
|
|
24
|
+
secret: config.secret,
|
|
25
|
+
emailAndPassword: {
|
|
26
|
+
enabled: false,
|
|
27
|
+
},
|
|
28
|
+
advanced: {
|
|
29
|
+
cookies: {
|
|
30
|
+
session_token: {
|
|
31
|
+
name: BETTER_AUTH_SESSION_COOKIE,
|
|
32
|
+
attributes: {
|
|
33
|
+
httpOnly: true,
|
|
34
|
+
sameSite: 'lax',
|
|
35
|
+
path: '/',
|
|
36
|
+
secure: isSecureBaseURL(calcBaseURL),
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
logger: {
|
|
42
|
+
disabled: false,
|
|
43
|
+
disableColors: true,
|
|
44
|
+
level: 'error',
|
|
45
|
+
log: (level, message, ...args) => {
|
|
46
|
+
switch (level) {
|
|
47
|
+
case 'error':
|
|
48
|
+
logger.log(LogLevel.ERROR, message, { args });
|
|
49
|
+
break;
|
|
50
|
+
case 'warn':
|
|
51
|
+
logger.log(LogLevel.WARN, message, { args });
|
|
52
|
+
break;
|
|
53
|
+
case 'info':
|
|
54
|
+
logger.log(LogLevel.INFO, message, { args });
|
|
55
|
+
break;
|
|
56
|
+
case 'debug':
|
|
57
|
+
logger.log(LogLevel.DEBUG, message, { args });
|
|
58
|
+
break;
|
|
59
|
+
default:
|
|
60
|
+
logger.log(LogLevel.INFO, message, { args });
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
telemetry: { enabled: false },
|
|
65
|
+
basePath,
|
|
66
|
+
};
|
|
67
|
+
const defaultRedirect = (provider) => `${calcBaseURL.replace(/\/$/, '')}${basePath}/callback/${provider}`;
|
|
68
|
+
const providerLogger = {
|
|
69
|
+
log: (level, message, meta) => logger.log(level, message, meta),
|
|
70
|
+
};
|
|
71
|
+
const socialProviders = buildSocialProviders(config, providerLogger, defaultRedirect);
|
|
72
|
+
if (socialProviders)
|
|
73
|
+
authConfig.socialProviders = socialProviders;
|
|
74
|
+
return betterAuth(authConfig);
|
|
75
|
+
}
|
|
76
|
+
function isLocalhost(hostname) {
|
|
77
|
+
return hostname === 'localhost' || hostname === '127.0.0.1';
|
|
78
|
+
}
|
|
79
|
+
function isSecureBaseURL(baseURL) {
|
|
80
|
+
try {
|
|
81
|
+
const url = new URL(baseURL);
|
|
82
|
+
return url.protocol === 'https:' && !isLocalhost(url.hostname);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return false;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function buildSocialProviders(config, providerLogger, redirectBuilder) {
|
|
89
|
+
if (!config.socialProviders)
|
|
90
|
+
return undefined;
|
|
91
|
+
const providers = {};
|
|
92
|
+
if (config.socialProviders.google) {
|
|
93
|
+
const googleProvider = new GoogleProvider({
|
|
94
|
+
...config.socialProviders.google,
|
|
95
|
+
redirectURI: config.socialProviders.google.redirectURI ?? redirectBuilder('google'),
|
|
96
|
+
logger: providerLogger,
|
|
97
|
+
});
|
|
98
|
+
providers.google = googleProvider.buildConfig();
|
|
99
|
+
}
|
|
100
|
+
return Object.keys(providers).length ? providers : undefined;
|
|
101
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import ms from 'ms';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import type { BetterAuthConfig, DatabaseConfig } from '../types/index.js';
|
|
4
|
+
declare const DbEnvSchema: z.ZodEffects<z.ZodDiscriminatedUnion<"IDP_OWOX_DB_TYPE", [z.ZodObject<{
|
|
5
|
+
IDP_OWOX_DB_TYPE: z.ZodLiteral<"mysql">;
|
|
6
|
+
IDP_OWOX_MYSQL_HOST: z.ZodString;
|
|
7
|
+
IDP_OWOX_MYSQL_USER: z.ZodString;
|
|
8
|
+
IDP_OWOX_MYSQL_PASSWORD: z.ZodString;
|
|
9
|
+
IDP_OWOX_MYSQL_DB: z.ZodString;
|
|
10
|
+
IDP_OWOX_MYSQL_PORT: z.ZodOptional<z.ZodString>;
|
|
11
|
+
IDP_OWOX_MYSQL_CONNECTION_LIMIT: z.ZodOptional<z.ZodString>;
|
|
12
|
+
IDP_OWOX_MYSQL_SSL: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, "strip", z.ZodTypeAny, {
|
|
14
|
+
IDP_OWOX_DB_TYPE: "mysql";
|
|
15
|
+
IDP_OWOX_MYSQL_HOST: string;
|
|
16
|
+
IDP_OWOX_MYSQL_USER: string;
|
|
17
|
+
IDP_OWOX_MYSQL_PASSWORD: string;
|
|
18
|
+
IDP_OWOX_MYSQL_DB: string;
|
|
19
|
+
IDP_OWOX_MYSQL_PORT?: string | undefined;
|
|
20
|
+
IDP_OWOX_MYSQL_CONNECTION_LIMIT?: string | undefined;
|
|
21
|
+
IDP_OWOX_MYSQL_SSL?: string | undefined;
|
|
22
|
+
}, {
|
|
23
|
+
IDP_OWOX_DB_TYPE: "mysql";
|
|
24
|
+
IDP_OWOX_MYSQL_HOST: string;
|
|
25
|
+
IDP_OWOX_MYSQL_USER: string;
|
|
26
|
+
IDP_OWOX_MYSQL_PASSWORD: string;
|
|
27
|
+
IDP_OWOX_MYSQL_DB: string;
|
|
28
|
+
IDP_OWOX_MYSQL_PORT?: string | undefined;
|
|
29
|
+
IDP_OWOX_MYSQL_CONNECTION_LIMIT?: string | undefined;
|
|
30
|
+
IDP_OWOX_MYSQL_SSL?: string | undefined;
|
|
31
|
+
}>, z.ZodObject<{
|
|
32
|
+
IDP_OWOX_DB_TYPE: z.ZodLiteral<"sqlite">;
|
|
33
|
+
IDP_OWOX_SQLITE_DB_PATH: z.ZodOptional<z.ZodString>;
|
|
34
|
+
}, "strip", z.ZodTypeAny, {
|
|
35
|
+
IDP_OWOX_DB_TYPE: "sqlite";
|
|
36
|
+
IDP_OWOX_SQLITE_DB_PATH?: string | undefined;
|
|
37
|
+
}, {
|
|
38
|
+
IDP_OWOX_DB_TYPE: "sqlite";
|
|
39
|
+
IDP_OWOX_SQLITE_DB_PATH?: string | undefined;
|
|
40
|
+
}>]>, {
|
|
41
|
+
ssl?: string | import("mysql2").SslOptions | undefined;
|
|
42
|
+
type: "mysql";
|
|
43
|
+
host: string;
|
|
44
|
+
port: number | undefined;
|
|
45
|
+
user: string;
|
|
46
|
+
password: string;
|
|
47
|
+
database: string;
|
|
48
|
+
connectionLimit: number | undefined;
|
|
49
|
+
filename?: undefined;
|
|
50
|
+
} | {
|
|
51
|
+
type: "sqlite";
|
|
52
|
+
filename: string;
|
|
53
|
+
}, {
|
|
54
|
+
IDP_OWOX_DB_TYPE: "mysql";
|
|
55
|
+
IDP_OWOX_MYSQL_HOST: string;
|
|
56
|
+
IDP_OWOX_MYSQL_USER: string;
|
|
57
|
+
IDP_OWOX_MYSQL_PASSWORD: string;
|
|
58
|
+
IDP_OWOX_MYSQL_DB: string;
|
|
59
|
+
IDP_OWOX_MYSQL_PORT?: string | undefined;
|
|
60
|
+
IDP_OWOX_MYSQL_CONNECTION_LIMIT?: string | undefined;
|
|
61
|
+
IDP_OWOX_MYSQL_SSL?: string | undefined;
|
|
62
|
+
} | {
|
|
63
|
+
IDP_OWOX_DB_TYPE: "sqlite";
|
|
64
|
+
IDP_OWOX_SQLITE_DB_PATH?: string | undefined;
|
|
65
|
+
}>;
|
|
66
|
+
export declare function loadDbConfigFromEnv(env?: NodeJS.ProcessEnv): DatabaseConfig;
|
|
67
|
+
/** ---------- IdentityOwox client ---------- */
|
|
68
|
+
declare const IdentityOwoxClientEnvSchema: z.ZodEffects<z.ZodObject<{
|
|
69
|
+
IDP_OWOX_CLIENT_BASE_URL: z.ZodString;
|
|
70
|
+
IDP_OWOX_DEFAULT_HEADERS: z.ZodOptional<z.ZodString>;
|
|
71
|
+
IDP_OWOX_TIMEOUT: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, `${number}` | `${number}Years` | `${number}Year` | `${number}Yrs` | `${number}Yr` | `${number}Y` | `${number}Weeks` | `${number}Week` | `${number}W` | `${number}Days` | `${number}Day` | `${number}D` | `${number}Hours` | `${number}Hour` | `${number}Hrs` | `${number}Hr` | `${number}H` | `${number}Minutes` | `${number}Minute` | `${number}Mins` | `${number}Min` | `${number}M` | `${number}Seconds` | `${number}Second` | `${number}Secs` | `${number}Sec` | `${number}s` | `${number}Milliseconds` | `${number}Millisecond` | `${number}Msecs` | `${number}Msec` | `${number}Ms` | `${number}YEARS` | `${number}YEAR` | `${number}YRS` | `${number}YR` | `${number}WEEKS` | `${number}WEEK` | `${number}DAYS` | `${number}DAY` | `${number}HOURS` | `${number}HOUR` | `${number}HRS` | `${number}HR` | `${number}MINUTES` | `${number}MINUTE` | `${number}MINS` | `${number}MIN` | `${number}SECONDS` | `${number}SECOND` | `${number}SECS` | `${number}SEC` | `${number}S` | `${number}MILLISECONDS` | `${number}MILLISECOND` | `${number}MSECS` | `${number}MSEC` | `${number}MS` | `${number}years` | `${number}year` | `${number}yrs` | `${number}yr` | `${number}y` | `${number}weeks` | `${number}week` | `${number}w` | `${number}days` | `${number}day` | `${number}d` | `${number}hours` | `${number}hour` | `${number}hrs` | `${number}hr` | `${number}h` | `${number}minutes` | `${number}minute` | `${number}mins` | `${number}min` | `${number}m` | `${number}seconds` | `${number}second` | `${number}secs` | `${number}sec` | `${number}milliseconds` | `${number}millisecond` | `${number}msecs` | `${number}msec` | `${number}ms` | `${number} Years` | `${number} Year` | `${number} Yrs` | `${number} Yr` | `${number} Y` | `${number} Weeks` | `${number} Week` | `${number} W` | `${number} Days` | `${number} Day` | `${number} D` | `${number} Hours` | `${number} Hour` | `${number} Hrs` | `${number} Hr` | `${number} H` | `${number} Minutes` | `${number} Minute` | `${number} Mins` | `${number} Min` | `${number} M` | `${number} Seconds` | `${number} Second` | `${number} Secs` | `${number} Sec` | `${number} s` | `${number} Milliseconds` | `${number} Millisecond` | `${number} Msecs` | `${number} Msec` | `${number} Ms` | `${number} YEARS` | `${number} YEAR` | `${number} YRS` | `${number} YR` | `${number} WEEKS` | `${number} WEEK` | `${number} DAYS` | `${number} DAY` | `${number} HOURS` | `${number} HOUR` | `${number} HRS` | `${number} HR` | `${number} MINUTES` | `${number} MINUTE` | `${number} MINS` | `${number} MIN` | `${number} SECONDS` | `${number} SECOND` | `${number} SECS` | `${number} SEC` | `${number} S` | `${number} MILLISECONDS` | `${number} MILLISECOND` | `${number} MSECS` | `${number} MSEC` | `${number} MS` | `${number} years` | `${number} year` | `${number} yrs` | `${number} yr` | `${number} y` | `${number} weeks` | `${number} week` | `${number} w` | `${number} days` | `${number} day` | `${number} d` | `${number} hours` | `${number} hour` | `${number} hrs` | `${number} hr` | `${number} h` | `${number} minutes` | `${number} minute` | `${number} mins` | `${number} min` | `${number} m` | `${number} seconds` | `${number} second` | `${number} secs` | `${number} sec` | `${number} milliseconds` | `${number} millisecond` | `${number} msecs` | `${number} msec` | `${number} ms`, string>>;
|
|
72
|
+
IDP_OWOX_CLIENT_BACKCHANNEL_PREFIX: z.ZodString;
|
|
73
|
+
IDP_OWOX_C2C_SERVICE_ACCOUNT: z.ZodString;
|
|
74
|
+
IDP_OWOX_C2C_TARGET_AUDIENCE: z.ZodString;
|
|
75
|
+
}, "strip", z.ZodTypeAny, {
|
|
76
|
+
IDP_OWOX_CLIENT_BASE_URL: string;
|
|
77
|
+
IDP_OWOX_CLIENT_BACKCHANNEL_PREFIX: string;
|
|
78
|
+
IDP_OWOX_C2C_SERVICE_ACCOUNT: string;
|
|
79
|
+
IDP_OWOX_C2C_TARGET_AUDIENCE: string;
|
|
80
|
+
IDP_OWOX_DEFAULT_HEADERS?: string | undefined;
|
|
81
|
+
IDP_OWOX_TIMEOUT?: `${number}` | `${number}Years` | `${number}Year` | `${number}Yrs` | `${number}Yr` | `${number}Y` | `${number}Weeks` | `${number}Week` | `${number}W` | `${number}Days` | `${number}Day` | `${number}D` | `${number}Hours` | `${number}Hour` | `${number}Hrs` | `${number}Hr` | `${number}H` | `${number}Minutes` | `${number}Minute` | `${number}Mins` | `${number}Min` | `${number}M` | `${number}Seconds` | `${number}Second` | `${number}Secs` | `${number}Sec` | `${number}s` | `${number}Milliseconds` | `${number}Millisecond` | `${number}Msecs` | `${number}Msec` | `${number}Ms` | `${number}YEARS` | `${number}YEAR` | `${number}YRS` | `${number}YR` | `${number}WEEKS` | `${number}WEEK` | `${number}DAYS` | `${number}DAY` | `${number}HOURS` | `${number}HOUR` | `${number}HRS` | `${number}HR` | `${number}MINUTES` | `${number}MINUTE` | `${number}MINS` | `${number}MIN` | `${number}SECONDS` | `${number}SECOND` | `${number}SECS` | `${number}SEC` | `${number}S` | `${number}MILLISECONDS` | `${number}MILLISECOND` | `${number}MSECS` | `${number}MSEC` | `${number}MS` | `${number}years` | `${number}year` | `${number}yrs` | `${number}yr` | `${number}y` | `${number}weeks` | `${number}week` | `${number}w` | `${number}days` | `${number}day` | `${number}d` | `${number}hours` | `${number}hour` | `${number}hrs` | `${number}hr` | `${number}h` | `${number}minutes` | `${number}minute` | `${number}mins` | `${number}min` | `${number}m` | `${number}seconds` | `${number}second` | `${number}secs` | `${number}sec` | `${number}milliseconds` | `${number}millisecond` | `${number}msecs` | `${number}msec` | `${number}ms` | `${number} Years` | `${number} Year` | `${number} Yrs` | `${number} Yr` | `${number} Y` | `${number} Weeks` | `${number} Week` | `${number} W` | `${number} Days` | `${number} Day` | `${number} D` | `${number} Hours` | `${number} Hour` | `${number} Hrs` | `${number} Hr` | `${number} H` | `${number} Minutes` | `${number} Minute` | `${number} Mins` | `${number} Min` | `${number} M` | `${number} Seconds` | `${number} Second` | `${number} Secs` | `${number} Sec` | `${number} s` | `${number} Milliseconds` | `${number} Millisecond` | `${number} Msecs` | `${number} Msec` | `${number} Ms` | `${number} YEARS` | `${number} YEAR` | `${number} YRS` | `${number} YR` | `${number} WEEKS` | `${number} WEEK` | `${number} DAYS` | `${number} DAY` | `${number} HOURS` | `${number} HOUR` | `${number} HRS` | `${number} HR` | `${number} MINUTES` | `${number} MINUTE` | `${number} MINS` | `${number} MIN` | `${number} SECONDS` | `${number} SECOND` | `${number} SECS` | `${number} SEC` | `${number} S` | `${number} MILLISECONDS` | `${number} MILLISECOND` | `${number} MSECS` | `${number} MSEC` | `${number} MS` | `${number} years` | `${number} year` | `${number} yrs` | `${number} yr` | `${number} y` | `${number} weeks` | `${number} week` | `${number} w` | `${number} days` | `${number} day` | `${number} d` | `${number} hours` | `${number} hour` | `${number} hrs` | `${number} hr` | `${number} h` | `${number} minutes` | `${number} minute` | `${number} mins` | `${number} min` | `${number} m` | `${number} seconds` | `${number} second` | `${number} secs` | `${number} sec` | `${number} milliseconds` | `${number} millisecond` | `${number} msecs` | `${number} msec` | `${number} ms` | undefined;
|
|
82
|
+
}, {
|
|
83
|
+
IDP_OWOX_CLIENT_BASE_URL: string;
|
|
84
|
+
IDP_OWOX_CLIENT_BACKCHANNEL_PREFIX: string;
|
|
85
|
+
IDP_OWOX_C2C_SERVICE_ACCOUNT: string;
|
|
86
|
+
IDP_OWOX_C2C_TARGET_AUDIENCE: string;
|
|
87
|
+
IDP_OWOX_DEFAULT_HEADERS?: string | undefined;
|
|
88
|
+
IDP_OWOX_TIMEOUT?: string | undefined;
|
|
89
|
+
}>, {
|
|
90
|
+
clientBaseUrl: string;
|
|
91
|
+
defaultHeaders: Record<string, string> | undefined;
|
|
92
|
+
clientTimeout: ms.StringValue;
|
|
93
|
+
clientBackchannelPrefix: string;
|
|
94
|
+
c2cServiceAccountEmail: string;
|
|
95
|
+
c2cTargetAudience: string;
|
|
96
|
+
}, {
|
|
97
|
+
IDP_OWOX_CLIENT_BASE_URL: string;
|
|
98
|
+
IDP_OWOX_CLIENT_BACKCHANNEL_PREFIX: string;
|
|
99
|
+
IDP_OWOX_C2C_SERVICE_ACCOUNT: string;
|
|
100
|
+
IDP_OWOX_C2C_TARGET_AUDIENCE: string;
|
|
101
|
+
IDP_OWOX_DEFAULT_HEADERS?: string | undefined;
|
|
102
|
+
IDP_OWOX_TIMEOUT?: string | undefined;
|
|
103
|
+
}>;
|
|
104
|
+
/** ---------- IDP (frontend/app) config ---------- */
|
|
105
|
+
declare const IdpEnvSchema: z.ZodEffects<z.ZodObject<{
|
|
106
|
+
IDP_OWOX_CLIENT_ID: z.ZodString;
|
|
107
|
+
IDP_OWOX_PLATFORM_SIGN_IN_URL: z.ZodString;
|
|
108
|
+
IDP_OWOX_PLATFORM_SIGN_UP_URL: z.ZodString;
|
|
109
|
+
IDP_OWOX_ALLOWED_REDIRECT_ORIGINS: z.ZodOptional<z.ZodString>;
|
|
110
|
+
IDP_OWOX_SIGN_OUT_REDIRECT_URL: z.ZodOptional<z.ZodString>;
|
|
111
|
+
}, "strip", z.ZodTypeAny, {
|
|
112
|
+
IDP_OWOX_PLATFORM_SIGN_IN_URL: string;
|
|
113
|
+
IDP_OWOX_PLATFORM_SIGN_UP_URL: string;
|
|
114
|
+
IDP_OWOX_CLIENT_ID: string;
|
|
115
|
+
IDP_OWOX_ALLOWED_REDIRECT_ORIGINS?: string | undefined;
|
|
116
|
+
IDP_OWOX_SIGN_OUT_REDIRECT_URL?: string | undefined;
|
|
117
|
+
}, {
|
|
118
|
+
IDP_OWOX_PLATFORM_SIGN_IN_URL: string;
|
|
119
|
+
IDP_OWOX_PLATFORM_SIGN_UP_URL: string;
|
|
120
|
+
IDP_OWOX_CLIENT_ID: string;
|
|
121
|
+
IDP_OWOX_ALLOWED_REDIRECT_ORIGINS?: string | undefined;
|
|
122
|
+
IDP_OWOX_SIGN_OUT_REDIRECT_URL?: string | undefined;
|
|
123
|
+
}>, {
|
|
124
|
+
clientId: string;
|
|
125
|
+
platformSignInUrl: string;
|
|
126
|
+
platformSignUpUrl: string;
|
|
127
|
+
signOutRedirectUrl: string | undefined;
|
|
128
|
+
allowedRedirectOrigins: string[];
|
|
129
|
+
}, {
|
|
130
|
+
IDP_OWOX_PLATFORM_SIGN_IN_URL: string;
|
|
131
|
+
IDP_OWOX_PLATFORM_SIGN_UP_URL: string;
|
|
132
|
+
IDP_OWOX_CLIENT_ID: string;
|
|
133
|
+
IDP_OWOX_ALLOWED_REDIRECT_ORIGINS?: string | undefined;
|
|
134
|
+
IDP_OWOX_SIGN_OUT_REDIRECT_URL?: string | undefined;
|
|
135
|
+
}>;
|
|
136
|
+
/** ---------- JWT config ---------- */
|
|
137
|
+
declare const JwtEnvSchema: z.ZodEffects<z.ZodObject<{
|
|
138
|
+
IDP_OWOX_JWT_CLOCK_TOLERANCE: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, `${number}` | `${number}Years` | `${number}Year` | `${number}Yrs` | `${number}Yr` | `${number}Y` | `${number}Weeks` | `${number}Week` | `${number}W` | `${number}Days` | `${number}Day` | `${number}D` | `${number}Hours` | `${number}Hour` | `${number}Hrs` | `${number}Hr` | `${number}H` | `${number}Minutes` | `${number}Minute` | `${number}Mins` | `${number}Min` | `${number}M` | `${number}Seconds` | `${number}Second` | `${number}Secs` | `${number}Sec` | `${number}s` | `${number}Milliseconds` | `${number}Millisecond` | `${number}Msecs` | `${number}Msec` | `${number}Ms` | `${number}YEARS` | `${number}YEAR` | `${number}YRS` | `${number}YR` | `${number}WEEKS` | `${number}WEEK` | `${number}DAYS` | `${number}DAY` | `${number}HOURS` | `${number}HOUR` | `${number}HRS` | `${number}HR` | `${number}MINUTES` | `${number}MINUTE` | `${number}MINS` | `${number}MIN` | `${number}SECONDS` | `${number}SECOND` | `${number}SECS` | `${number}SEC` | `${number}S` | `${number}MILLISECONDS` | `${number}MILLISECOND` | `${number}MSECS` | `${number}MSEC` | `${number}MS` | `${number}years` | `${number}year` | `${number}yrs` | `${number}yr` | `${number}y` | `${number}weeks` | `${number}week` | `${number}w` | `${number}days` | `${number}day` | `${number}d` | `${number}hours` | `${number}hour` | `${number}hrs` | `${number}hr` | `${number}h` | `${number}minutes` | `${number}minute` | `${number}mins` | `${number}min` | `${number}m` | `${number}seconds` | `${number}second` | `${number}secs` | `${number}sec` | `${number}milliseconds` | `${number}millisecond` | `${number}msecs` | `${number}msec` | `${number}ms` | `${number} Years` | `${number} Year` | `${number} Yrs` | `${number} Yr` | `${number} Y` | `${number} Weeks` | `${number} Week` | `${number} W` | `${number} Days` | `${number} Day` | `${number} D` | `${number} Hours` | `${number} Hour` | `${number} Hrs` | `${number} Hr` | `${number} H` | `${number} Minutes` | `${number} Minute` | `${number} Mins` | `${number} Min` | `${number} M` | `${number} Seconds` | `${number} Second` | `${number} Secs` | `${number} Sec` | `${number} s` | `${number} Milliseconds` | `${number} Millisecond` | `${number} Msecs` | `${number} Msec` | `${number} Ms` | `${number} YEARS` | `${number} YEAR` | `${number} YRS` | `${number} YR` | `${number} WEEKS` | `${number} WEEK` | `${number} DAYS` | `${number} DAY` | `${number} HOURS` | `${number} HOUR` | `${number} HRS` | `${number} HR` | `${number} MINUTES` | `${number} MINUTE` | `${number} MINS` | `${number} MIN` | `${number} SECONDS` | `${number} SECOND` | `${number} SECS` | `${number} SEC` | `${number} S` | `${number} MILLISECONDS` | `${number} MILLISECOND` | `${number} MSECS` | `${number} MSEC` | `${number} MS` | `${number} years` | `${number} year` | `${number} yrs` | `${number} yr` | `${number} y` | `${number} weeks` | `${number} week` | `${number} w` | `${number} days` | `${number} day` | `${number} d` | `${number} hours` | `${number} hour` | `${number} hrs` | `${number} hr` | `${number} h` | `${number} minutes` | `${number} minute` | `${number} mins` | `${number} min` | `${number} m` | `${number} seconds` | `${number} second` | `${number} secs` | `${number} sec` | `${number} milliseconds` | `${number} millisecond` | `${number} msecs` | `${number} msec` | `${number} ms`, string>>;
|
|
139
|
+
IDP_OWOX_JWT_ISSUER: z.ZodString;
|
|
140
|
+
IDP_OWOX_JWT_CACHE_TTL: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, `${number}` | `${number}Years` | `${number}Year` | `${number}Yrs` | `${number}Yr` | `${number}Y` | `${number}Weeks` | `${number}Week` | `${number}W` | `${number}Days` | `${number}Day` | `${number}D` | `${number}Hours` | `${number}Hour` | `${number}Hrs` | `${number}Hr` | `${number}H` | `${number}Minutes` | `${number}Minute` | `${number}Mins` | `${number}Min` | `${number}M` | `${number}Seconds` | `${number}Second` | `${number}Secs` | `${number}Sec` | `${number}s` | `${number}Milliseconds` | `${number}Millisecond` | `${number}Msecs` | `${number}Msec` | `${number}Ms` | `${number}YEARS` | `${number}YEAR` | `${number}YRS` | `${number}YR` | `${number}WEEKS` | `${number}WEEK` | `${number}DAYS` | `${number}DAY` | `${number}HOURS` | `${number}HOUR` | `${number}HRS` | `${number}HR` | `${number}MINUTES` | `${number}MINUTE` | `${number}MINS` | `${number}MIN` | `${number}SECONDS` | `${number}SECOND` | `${number}SECS` | `${number}SEC` | `${number}S` | `${number}MILLISECONDS` | `${number}MILLISECOND` | `${number}MSECS` | `${number}MSEC` | `${number}MS` | `${number}years` | `${number}year` | `${number}yrs` | `${number}yr` | `${number}y` | `${number}weeks` | `${number}week` | `${number}w` | `${number}days` | `${number}day` | `${number}d` | `${number}hours` | `${number}hour` | `${number}hrs` | `${number}hr` | `${number}h` | `${number}minutes` | `${number}minute` | `${number}mins` | `${number}min` | `${number}m` | `${number}seconds` | `${number}second` | `${number}secs` | `${number}sec` | `${number}milliseconds` | `${number}millisecond` | `${number}msecs` | `${number}msec` | `${number}ms` | `${number} Years` | `${number} Year` | `${number} Yrs` | `${number} Yr` | `${number} Y` | `${number} Weeks` | `${number} Week` | `${number} W` | `${number} Days` | `${number} Day` | `${number} D` | `${number} Hours` | `${number} Hour` | `${number} Hrs` | `${number} Hr` | `${number} H` | `${number} Minutes` | `${number} Minute` | `${number} Mins` | `${number} Min` | `${number} M` | `${number} Seconds` | `${number} Second` | `${number} Secs` | `${number} Sec` | `${number} s` | `${number} Milliseconds` | `${number} Millisecond` | `${number} Msecs` | `${number} Msec` | `${number} Ms` | `${number} YEARS` | `${number} YEAR` | `${number} YRS` | `${number} YR` | `${number} WEEKS` | `${number} WEEK` | `${number} DAYS` | `${number} DAY` | `${number} HOURS` | `${number} HOUR` | `${number} HRS` | `${number} HR` | `${number} MINUTES` | `${number} MINUTE` | `${number} MINS` | `${number} MIN` | `${number} SECONDS` | `${number} SECOND` | `${number} SECS` | `${number} SEC` | `${number} S` | `${number} MILLISECONDS` | `${number} MILLISECOND` | `${number} MSECS` | `${number} MSEC` | `${number} MS` | `${number} years` | `${number} year` | `${number} yrs` | `${number} yr` | `${number} y` | `${number} weeks` | `${number} week` | `${number} w` | `${number} days` | `${number} day` | `${number} d` | `${number} hours` | `${number} hour` | `${number} hrs` | `${number} hr` | `${number} h` | `${number} minutes` | `${number} minute` | `${number} mins` | `${number} min` | `${number} m` | `${number} seconds` | `${number} second` | `${number} secs` | `${number} sec` | `${number} milliseconds` | `${number} millisecond` | `${number} msecs` | `${number} msec` | `${number} ms`, string>>;
|
|
141
|
+
IDP_OWOX_JWT_ALGORITHM: z.ZodDefault<z.ZodEnum<["RS256"]>>;
|
|
142
|
+
}, "strip", z.ZodTypeAny, {
|
|
143
|
+
IDP_OWOX_JWT_CLOCK_TOLERANCE: `${number}` | `${number}Years` | `${number}Year` | `${number}Yrs` | `${number}Yr` | `${number}Y` | `${number}Weeks` | `${number}Week` | `${number}W` | `${number}Days` | `${number}Day` | `${number}D` | `${number}Hours` | `${number}Hour` | `${number}Hrs` | `${number}Hr` | `${number}H` | `${number}Minutes` | `${number}Minute` | `${number}Mins` | `${number}Min` | `${number}M` | `${number}Seconds` | `${number}Second` | `${number}Secs` | `${number}Sec` | `${number}s` | `${number}Milliseconds` | `${number}Millisecond` | `${number}Msecs` | `${number}Msec` | `${number}Ms` | `${number}YEARS` | `${number}YEAR` | `${number}YRS` | `${number}YR` | `${number}WEEKS` | `${number}WEEK` | `${number}DAYS` | `${number}DAY` | `${number}HOURS` | `${number}HOUR` | `${number}HRS` | `${number}HR` | `${number}MINUTES` | `${number}MINUTE` | `${number}MINS` | `${number}MIN` | `${number}SECONDS` | `${number}SECOND` | `${number}SECS` | `${number}SEC` | `${number}S` | `${number}MILLISECONDS` | `${number}MILLISECOND` | `${number}MSECS` | `${number}MSEC` | `${number}MS` | `${number}years` | `${number}year` | `${number}yrs` | `${number}yr` | `${number}y` | `${number}weeks` | `${number}week` | `${number}w` | `${number}days` | `${number}day` | `${number}d` | `${number}hours` | `${number}hour` | `${number}hrs` | `${number}hr` | `${number}h` | `${number}minutes` | `${number}minute` | `${number}mins` | `${number}min` | `${number}m` | `${number}seconds` | `${number}second` | `${number}secs` | `${number}sec` | `${number}milliseconds` | `${number}millisecond` | `${number}msecs` | `${number}msec` | `${number}ms` | `${number} Years` | `${number} Year` | `${number} Yrs` | `${number} Yr` | `${number} Y` | `${number} Weeks` | `${number} Week` | `${number} W` | `${number} Days` | `${number} Day` | `${number} D` | `${number} Hours` | `${number} Hour` | `${number} Hrs` | `${number} Hr` | `${number} H` | `${number} Minutes` | `${number} Minute` | `${number} Mins` | `${number} Min` | `${number} M` | `${number} Seconds` | `${number} Second` | `${number} Secs` | `${number} Sec` | `${number} s` | `${number} Milliseconds` | `${number} Millisecond` | `${number} Msecs` | `${number} Msec` | `${number} Ms` | `${number} YEARS` | `${number} YEAR` | `${number} YRS` | `${number} YR` | `${number} WEEKS` | `${number} WEEK` | `${number} DAYS` | `${number} DAY` | `${number} HOURS` | `${number} HOUR` | `${number} HRS` | `${number} HR` | `${number} MINUTES` | `${number} MINUTE` | `${number} MINS` | `${number} MIN` | `${number} SECONDS` | `${number} SECOND` | `${number} SECS` | `${number} SEC` | `${number} S` | `${number} MILLISECONDS` | `${number} MILLISECOND` | `${number} MSECS` | `${number} MSEC` | `${number} MS` | `${number} years` | `${number} year` | `${number} yrs` | `${number} yr` | `${number} y` | `${number} weeks` | `${number} week` | `${number} w` | `${number} days` | `${number} day` | `${number} d` | `${number} hours` | `${number} hour` | `${number} hrs` | `${number} hr` | `${number} h` | `${number} minutes` | `${number} minute` | `${number} mins` | `${number} min` | `${number} m` | `${number} seconds` | `${number} second` | `${number} secs` | `${number} sec` | `${number} milliseconds` | `${number} millisecond` | `${number} msecs` | `${number} msec` | `${number} ms`;
|
|
144
|
+
IDP_OWOX_JWT_ISSUER: string;
|
|
145
|
+
IDP_OWOX_JWT_ALGORITHM: "RS256";
|
|
146
|
+
IDP_OWOX_JWT_CACHE_TTL?: `${number}` | `${number}Years` | `${number}Year` | `${number}Yrs` | `${number}Yr` | `${number}Y` | `${number}Weeks` | `${number}Week` | `${number}W` | `${number}Days` | `${number}Day` | `${number}D` | `${number}Hours` | `${number}Hour` | `${number}Hrs` | `${number}Hr` | `${number}H` | `${number}Minutes` | `${number}Minute` | `${number}Mins` | `${number}Min` | `${number}M` | `${number}Seconds` | `${number}Second` | `${number}Secs` | `${number}Sec` | `${number}s` | `${number}Milliseconds` | `${number}Millisecond` | `${number}Msecs` | `${number}Msec` | `${number}Ms` | `${number}YEARS` | `${number}YEAR` | `${number}YRS` | `${number}YR` | `${number}WEEKS` | `${number}WEEK` | `${number}DAYS` | `${number}DAY` | `${number}HOURS` | `${number}HOUR` | `${number}HRS` | `${number}HR` | `${number}MINUTES` | `${number}MINUTE` | `${number}MINS` | `${number}MIN` | `${number}SECONDS` | `${number}SECOND` | `${number}SECS` | `${number}SEC` | `${number}S` | `${number}MILLISECONDS` | `${number}MILLISECOND` | `${number}MSECS` | `${number}MSEC` | `${number}MS` | `${number}years` | `${number}year` | `${number}yrs` | `${number}yr` | `${number}y` | `${number}weeks` | `${number}week` | `${number}w` | `${number}days` | `${number}day` | `${number}d` | `${number}hours` | `${number}hour` | `${number}hrs` | `${number}hr` | `${number}h` | `${number}minutes` | `${number}minute` | `${number}mins` | `${number}min` | `${number}m` | `${number}seconds` | `${number}second` | `${number}secs` | `${number}sec` | `${number}milliseconds` | `${number}millisecond` | `${number}msecs` | `${number}msec` | `${number}ms` | `${number} Years` | `${number} Year` | `${number} Yrs` | `${number} Yr` | `${number} Y` | `${number} Weeks` | `${number} Week` | `${number} W` | `${number} Days` | `${number} Day` | `${number} D` | `${number} Hours` | `${number} Hour` | `${number} Hrs` | `${number} Hr` | `${number} H` | `${number} Minutes` | `${number} Minute` | `${number} Mins` | `${number} Min` | `${number} M` | `${number} Seconds` | `${number} Second` | `${number} Secs` | `${number} Sec` | `${number} s` | `${number} Milliseconds` | `${number} Millisecond` | `${number} Msecs` | `${number} Msec` | `${number} Ms` | `${number} YEARS` | `${number} YEAR` | `${number} YRS` | `${number} YR` | `${number} WEEKS` | `${number} WEEK` | `${number} DAYS` | `${number} DAY` | `${number} HOURS` | `${number} HOUR` | `${number} HRS` | `${number} HR` | `${number} MINUTES` | `${number} MINUTE` | `${number} MINS` | `${number} MIN` | `${number} SECONDS` | `${number} SECOND` | `${number} SECS` | `${number} SEC` | `${number} S` | `${number} MILLISECONDS` | `${number} MILLISECOND` | `${number} MSECS` | `${number} MSEC` | `${number} MS` | `${number} years` | `${number} year` | `${number} yrs` | `${number} yr` | `${number} y` | `${number} weeks` | `${number} week` | `${number} w` | `${number} days` | `${number} day` | `${number} d` | `${number} hours` | `${number} hour` | `${number} hrs` | `${number} hr` | `${number} h` | `${number} minutes` | `${number} minute` | `${number} mins` | `${number} min` | `${number} m` | `${number} seconds` | `${number} second` | `${number} secs` | `${number} sec` | `${number} milliseconds` | `${number} millisecond` | `${number} msecs` | `${number} msec` | `${number} ms` | undefined;
|
|
147
|
+
}, {
|
|
148
|
+
IDP_OWOX_JWT_ISSUER: string;
|
|
149
|
+
IDP_OWOX_JWT_CLOCK_TOLERANCE?: string | undefined;
|
|
150
|
+
IDP_OWOX_JWT_CACHE_TTL?: string | undefined;
|
|
151
|
+
IDP_OWOX_JWT_ALGORITHM?: "RS256" | undefined;
|
|
152
|
+
}>, {
|
|
153
|
+
clockTolerance: `${number}` | `${number}Years` | `${number}Year` | `${number}Yrs` | `${number}Yr` | `${number}Y` | `${number}Weeks` | `${number}Week` | `${number}W` | `${number}Days` | `${number}Day` | `${number}D` | `${number}Hours` | `${number}Hour` | `${number}Hrs` | `${number}Hr` | `${number}H` | `${number}Minutes` | `${number}Minute` | `${number}Mins` | `${number}Min` | `${number}M` | `${number}Seconds` | `${number}Second` | `${number}Secs` | `${number}Sec` | `${number}s` | `${number}Milliseconds` | `${number}Millisecond` | `${number}Msecs` | `${number}Msec` | `${number}Ms` | `${number}YEARS` | `${number}YEAR` | `${number}YRS` | `${number}YR` | `${number}WEEKS` | `${number}WEEK` | `${number}DAYS` | `${number}DAY` | `${number}HOURS` | `${number}HOUR` | `${number}HRS` | `${number}HR` | `${number}MINUTES` | `${number}MINUTE` | `${number}MINS` | `${number}MIN` | `${number}SECONDS` | `${number}SECOND` | `${number}SECS` | `${number}SEC` | `${number}S` | `${number}MILLISECONDS` | `${number}MILLISECOND` | `${number}MSECS` | `${number}MSEC` | `${number}MS` | `${number}years` | `${number}year` | `${number}yrs` | `${number}yr` | `${number}y` | `${number}weeks` | `${number}week` | `${number}w` | `${number}days` | `${number}day` | `${number}d` | `${number}hours` | `${number}hour` | `${number}hrs` | `${number}hr` | `${number}h` | `${number}minutes` | `${number}minute` | `${number}mins` | `${number}min` | `${number}m` | `${number}seconds` | `${number}second` | `${number}secs` | `${number}sec` | `${number}milliseconds` | `${number}millisecond` | `${number}msecs` | `${number}msec` | `${number}ms` | `${number} Years` | `${number} Year` | `${number} Yrs` | `${number} Yr` | `${number} Y` | `${number} Weeks` | `${number} Week` | `${number} W` | `${number} Days` | `${number} Day` | `${number} D` | `${number} Hours` | `${number} Hour` | `${number} Hrs` | `${number} Hr` | `${number} H` | `${number} Minutes` | `${number} Minute` | `${number} Mins` | `${number} Min` | `${number} M` | `${number} Seconds` | `${number} Second` | `${number} Secs` | `${number} Sec` | `${number} s` | `${number} Milliseconds` | `${number} Millisecond` | `${number} Msecs` | `${number} Msec` | `${number} Ms` | `${number} YEARS` | `${number} YEAR` | `${number} YRS` | `${number} YR` | `${number} WEEKS` | `${number} WEEK` | `${number} DAYS` | `${number} DAY` | `${number} HOURS` | `${number} HOUR` | `${number} HRS` | `${number} HR` | `${number} MINUTES` | `${number} MINUTE` | `${number} MINS` | `${number} MIN` | `${number} SECONDS` | `${number} SECOND` | `${number} SECS` | `${number} SEC` | `${number} S` | `${number} MILLISECONDS` | `${number} MILLISECOND` | `${number} MSECS` | `${number} MSEC` | `${number} MS` | `${number} years` | `${number} year` | `${number} yrs` | `${number} yr` | `${number} y` | `${number} weeks` | `${number} week` | `${number} w` | `${number} days` | `${number} day` | `${number} d` | `${number} hours` | `${number} hour` | `${number} hrs` | `${number} hr` | `${number} h` | `${number} minutes` | `${number} minute` | `${number} mins` | `${number} min` | `${number} m` | `${number} seconds` | `${number} second` | `${number} secs` | `${number} sec` | `${number} milliseconds` | `${number} millisecond` | `${number} msecs` | `${number} msec` | `${number} ms`;
|
|
154
|
+
issuer: string;
|
|
155
|
+
jwtKeyCacheTtl: ms.StringValue;
|
|
156
|
+
algorithm: "RS256";
|
|
157
|
+
}, {
|
|
158
|
+
IDP_OWOX_JWT_ISSUER: string;
|
|
159
|
+
IDP_OWOX_JWT_CLOCK_TOLERANCE?: string | undefined;
|
|
160
|
+
IDP_OWOX_JWT_CACHE_TTL?: string | undefined;
|
|
161
|
+
IDP_OWOX_JWT_ALGORITHM?: "RS256" | undefined;
|
|
162
|
+
}>;
|
|
163
|
+
export type DbConfig = z.infer<typeof DbEnvSchema>;
|
|
164
|
+
export type MysqlConfig = Extract<DbConfig, {
|
|
165
|
+
type: 'mysql';
|
|
166
|
+
}>;
|
|
167
|
+
export type SqliteConfig = Extract<DbConfig, {
|
|
168
|
+
type: 'sqlite';
|
|
169
|
+
}>;
|
|
170
|
+
export type IdpConfig = z.infer<typeof IdpEnvSchema>;
|
|
171
|
+
export type JwtConfig = z.infer<typeof JwtEnvSchema>;
|
|
172
|
+
export type IdentityOwoxClientConfig = z.infer<typeof IdentityOwoxClientEnvSchema>;
|
|
173
|
+
export type IdpOwoxConfig = {
|
|
174
|
+
baseUrl: string;
|
|
175
|
+
idpConfig: IdpConfig;
|
|
176
|
+
identityOwoxClientConfig: IdentityOwoxClientConfig;
|
|
177
|
+
jwtConfig: JwtConfig;
|
|
178
|
+
dbConfig: DbConfig;
|
|
179
|
+
};
|
|
180
|
+
type Env = NodeJS.ProcessEnv;
|
|
181
|
+
export type BetterAuthProviderConfig = {
|
|
182
|
+
betterAuth: BetterAuthConfig;
|
|
183
|
+
idpOwox: IdpOwoxConfig;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Load the full IdpOwoxConfig from process env.
|
|
187
|
+
* Throws on validation errors; ensures JWT_ALGORITHM is RS256.
|
|
188
|
+
*/
|
|
189
|
+
export declare function loadIdpOwoxConfigFromEnv(env?: NodeJS.ProcessEnv): IdpOwoxConfig;
|
|
190
|
+
/**
|
|
191
|
+
* Loads Better Auth + IdP OWOX config from environment.
|
|
192
|
+
*/
|
|
193
|
+
export declare function loadBetterAuthProviderConfigFromEnv(env?: Env): BetterAuthProviderConfig;
|
|
194
|
+
export {};
|
|
195
|
+
//# sourceMappingURL=idp-owox-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"idp-owox-config.d.ts","sourceRoot":"","sources":["../../src/config/idp-owox-config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,IAAI,CAAC;AAGpB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAyB,MAAM,mBAAmB,CAAC;AAsFjG,QAAA,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0Bb,CAAC;AAEL,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAGxF;AAED,gDAAgD;AAEhD,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;mBAoBoB,EAAE,CAAC,WAAW;;;;;;;;;;;EAK/D,CAAC;AAEL,sDAAsD;AAEtD,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBb,CAAC;AAEN,uCAAuC;AAEvC,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;EAYb,CAAC;AAEN,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AACnD,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC;AAEjE,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACrD,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AACrD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEnF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;IACrB,wBAAwB,EAAE,wBAAwB,CAAC;IACnD,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC;AAgBF,KAAK,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC;AAkD7B,MAAM,MAAM,wBAAwB,GAAG;IACrC,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,aAAa,CAkB5F;AAED;;GAEG;AACH,wBAAgB,mCAAmC,CACjD,GAAG,GAAE,GAAiB,GACrB,wBAAwB,CAgB1B"}
|