@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.
Files changed (156) hide show
  1. package/README.md +119 -0
  2. package/dist/client/IdentityOwoxClient.d.ts +41 -0
  3. package/dist/client/IdentityOwoxClient.d.ts.map +1 -0
  4. package/dist/client/IdentityOwoxClient.js +128 -0
  5. package/dist/client/dto/authFlowDto.d.ts +27 -0
  6. package/dist/client/dto/authFlowDto.d.ts.map +1 -0
  7. package/dist/client/dto/authFlowDto.js +5 -0
  8. package/dist/client/dto/idpOwoxPayloadDto.d.ts +29 -0
  9. package/dist/client/dto/idpOwoxPayloadDto.d.ts.map +1 -0
  10. package/dist/client/dto/idpOwoxPayloadDto.js +28 -0
  11. package/dist/client/dto/index.d.ts +11 -0
  12. package/dist/client/dto/index.d.ts.map +1 -0
  13. package/dist/client/dto/index.js +10 -0
  14. package/dist/client/dto/introspectionDto.d.ts +70 -0
  15. package/dist/client/dto/introspectionDto.d.ts.map +1 -0
  16. package/dist/client/dto/introspectionDto.js +15 -0
  17. package/dist/client/dto/jwksDto.d.ts +102 -0
  18. package/dist/client/dto/jwksDto.d.ts.map +1 -0
  19. package/dist/client/dto/jwksDto.js +18 -0
  20. package/dist/client/dto/revocationDto.d.ts +11 -0
  21. package/dist/client/dto/revocationDto.d.ts.map +1 -0
  22. package/dist/client/dto/revocationDto.js +1 -0
  23. package/dist/client/dto/tokenDto.d.ts +33 -0
  24. package/dist/client/dto/tokenDto.d.ts.map +1 -0
  25. package/dist/client/dto/tokenDto.js +9 -0
  26. package/dist/client/dto/tokenType.d.ts +5 -0
  27. package/dist/client/dto/tokenType.d.ts.map +1 -0
  28. package/dist/client/dto/tokenType.js +1 -0
  29. package/dist/client/index.d.ts +6 -0
  30. package/dist/client/index.d.ts.map +1 -0
  31. package/dist/client/index.js +5 -0
  32. package/dist/config/idp-better-auth-config.d.ts +9 -0
  33. package/dist/config/idp-better-auth-config.d.ts.map +1 -0
  34. package/dist/config/idp-better-auth-config.js +101 -0
  35. package/dist/config/idp-owox-config.d.ts +195 -0
  36. package/dist/config/idp-owox-config.d.ts.map +1 -0
  37. package/dist/config/idp-owox-config.js +252 -0
  38. package/dist/config/index.d.ts +6 -0
  39. package/dist/config/index.d.ts.map +1 -0
  40. package/dist/config/index.js +5 -0
  41. package/dist/core/constants.d.ts +14 -0
  42. package/dist/core/constants.d.ts.map +1 -0
  43. package/dist/core/constants.js +13 -0
  44. package/dist/core/exceptions.d.ts +27 -0
  45. package/dist/core/exceptions.d.ts.map +1 -0
  46. package/dist/core/exceptions.js +36 -0
  47. package/dist/core/logger.d.ts +17 -0
  48. package/dist/core/logger.d.ts.map +1 -0
  49. package/dist/core/logger.js +66 -0
  50. package/dist/core/pkce.d.ts +21 -0
  51. package/dist/core/pkce.d.ts.map +1 -0
  52. package/dist/core/pkce.js +27 -0
  53. package/dist/facades/owox-token-facade.d.ts +27 -0
  54. package/dist/facades/owox-token-facade.d.ts.map +1 -0
  55. package/dist/facades/owox-token-facade.js +117 -0
  56. package/dist/index.d.ts +13 -0
  57. package/dist/index.d.ts.map +1 -0
  58. package/dist/index.js +13 -0
  59. package/dist/jwt/jwksCache.d.ts +24 -0
  60. package/dist/jwt/jwksCache.d.ts.map +1 -0
  61. package/dist/jwt/jwksCache.js +41 -0
  62. package/dist/jwt/parseToken.d.ts +15 -0
  63. package/dist/jwt/parseToken.d.ts.map +1 -0
  64. package/dist/jwt/parseToken.js +26 -0
  65. package/dist/jwt/verifyJwt.d.ts +13 -0
  66. package/dist/jwt/verifyJwt.d.ts.map +1 -0
  67. package/dist/jwt/verifyJwt.js +23 -0
  68. package/dist/mappers/client-payload-mapper.d.ts +6 -0
  69. package/dist/mappers/client-payload-mapper.d.ts.map +1 -0
  70. package/dist/mappers/client-payload-mapper.js +17 -0
  71. package/dist/mappers/user-info-payload-builder.d.ts +11 -0
  72. package/dist/mappers/user-info-payload-builder.d.ts.map +1 -0
  73. package/dist/mappers/user-info-payload-builder.js +28 -0
  74. package/dist/owox-better-auth-idp.d.ts +40 -0
  75. package/dist/owox-better-auth-idp.d.ts.map +1 -0
  76. package/dist/owox-better-auth-idp.js +239 -0
  77. package/dist/resources/templates/layouts/auth.ejs +29 -0
  78. package/dist/resources/templates/pages/sign-in.ejs +66 -0
  79. package/dist/resources/templates/pages/sign-up.ejs +65 -0
  80. package/dist/resources/templates/partials/brand-panel.ejs +24 -0
  81. package/dist/resources/templates/partials/footer.ejs +10 -0
  82. package/dist/resources/templates/partials/head.ejs +64 -0
  83. package/dist/resources/templates/partials/header.ejs +7 -0
  84. package/dist/services/auth/better-auth-session-service.d.ts +28 -0
  85. package/dist/services/auth/better-auth-session-service.d.ts.map +1 -0
  86. package/dist/services/auth/better-auth-session-service.js +121 -0
  87. package/dist/services/auth/pkce-flow-orchestrator.d.ts +33 -0
  88. package/dist/services/auth/pkce-flow-orchestrator.d.ts.map +1 -0
  89. package/dist/services/auth/pkce-flow-orchestrator.js +134 -0
  90. package/dist/services/auth/platform-auth-flow-client.d.ts +16 -0
  91. package/dist/services/auth/platform-auth-flow-client.d.ts.map +1 -0
  92. package/dist/services/auth/platform-auth-flow-client.js +32 -0
  93. package/dist/services/core/token-service.d.ts +25 -0
  94. package/dist/services/core/token-service.d.ts.map +1 -0
  95. package/dist/services/core/token-service.js +56 -0
  96. package/dist/services/core/user-context-service.d.ts +23 -0
  97. package/dist/services/core/user-context-service.d.ts.map +1 -0
  98. package/dist/services/core/user-context-service.js +54 -0
  99. package/dist/services/middleware/middleware-service.d.ts +19 -0
  100. package/dist/services/middleware/middleware-service.d.ts.map +1 -0
  101. package/dist/services/middleware/middleware-service.js +62 -0
  102. package/dist/services/middleware/request-handler-service.d.ts +18 -0
  103. package/dist/services/middleware/request-handler-service.d.ts.map +1 -0
  104. package/dist/services/middleware/request-handler-service.js +131 -0
  105. package/dist/services/rendering/page-service.d.ts +11 -0
  106. package/dist/services/rendering/page-service.d.ts.map +1 -0
  107. package/dist/services/rendering/page-service.js +26 -0
  108. package/dist/services/rendering/template-service.d.ts +17 -0
  109. package/dist/services/rendering/template-service.d.ts.map +1 -0
  110. package/dist/services/rendering/template-service.js +52 -0
  111. package/dist/social/google-provider.d.ts +35 -0
  112. package/dist/social/google-provider.d.ts.map +1 -0
  113. package/dist/social/google-provider.js +55 -0
  114. package/dist/social/social-provider.d.ts +23 -0
  115. package/dist/social/social-provider.d.ts.map +1 -0
  116. package/dist/social/social-provider.js +1 -0
  117. package/dist/store/database-store-factory.d.ts +8 -0
  118. package/dist/store/database-store-factory.d.ts.map +1 -0
  119. package/dist/store/database-store-factory.js +38 -0
  120. package/dist/store/database-store.d.ts +20 -0
  121. package/dist/store/database-store.d.ts.map +1 -0
  122. package/dist/store/database-store.js +1 -0
  123. package/dist/store/mysql-database-store.d.ts +40 -0
  124. package/dist/store/mysql-database-store.d.ts.map +1 -0
  125. package/dist/store/mysql-database-store.js +213 -0
  126. package/dist/store/sqlite-database-store.d.ts +32 -0
  127. package/dist/store/sqlite-database-store.d.ts.map +1 -0
  128. package/dist/store/sqlite-database-store.js +205 -0
  129. package/dist/store/store-result.d.ts +16 -0
  130. package/dist/store/store-result.d.ts.map +1 -0
  131. package/dist/store/store-result.js +25 -0
  132. package/dist/types/auth-request-context.d.ts +15 -0
  133. package/dist/types/auth-request-context.d.ts.map +1 -0
  134. package/dist/types/auth-request-context.js +12 -0
  135. package/dist/types/auth-session.d.ts +25 -0
  136. package/dist/types/auth-session.d.ts.map +1 -0
  137. package/dist/types/auth-session.js +1 -0
  138. package/dist/types/database-models.d.ts +39 -0
  139. package/dist/types/database-models.d.ts.map +1 -0
  140. package/dist/types/database-models.js +1 -0
  141. package/dist/types/index.d.ts +45 -0
  142. package/dist/types/index.d.ts.map +1 -0
  143. package/dist/types/index.js +2 -0
  144. package/dist/utils/cookie-policy.d.ts +16 -0
  145. package/dist/utils/cookie-policy.d.ts.map +1 -0
  146. package/dist/utils/cookie-policy.js +27 -0
  147. package/dist/utils/platform-redirect-builder.d.ts +29 -0
  148. package/dist/utils/platform-redirect-builder.d.ts.map +1 -0
  149. package/dist/utils/platform-redirect-builder.js +86 -0
  150. package/dist/utils/request-utils.d.ts +87 -0
  151. package/dist/utils/request-utils.d.ts.map +1 -0
  152. package/dist/utils/request-utils.js +171 -0
  153. package/dist/utils/string-utils.d.ts +13 -0
  154. package/dist/utils/string-utils.d.ts.map +1 -0
  155. package/dist/utils/string-utils.js +21 -0
  156. 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,5 @@
1
+ /**
2
+ * Supported token types for Identity OWOX.
3
+ */
4
+ export type TokenType = 'access_token' | 'refresh_token';
5
+ //# sourceMappingURL=tokenType.d.ts.map
@@ -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,6 @@
1
+ /**
2
+ * Client exports for Identity OWOX API.
3
+ */
4
+ export * from './IdentityOwoxClient.js';
5
+ export * from './dto/index.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -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,5 @@
1
+ /**
2
+ * Client exports for Identity OWOX API.
3
+ */
4
+ export * from './IdentityOwoxClient.js';
5
+ export * from './dto/index.js';
@@ -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"}