@schemavaults/auth-server-sdk 0.22.84 → 0.26.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 (61) hide show
  1. package/dist/JwtKeyManager/RemoteJwtKeyManager/RemoteJwtKeyManager.d.ts +3 -3
  2. package/dist/JwtKeyManager/RemoteJwtKeyManager/RemoteJwtKeyManager.js +8 -8
  3. package/dist/JwtKeyManager/RemoteJwtKeyManager/RemoteJwtKeyManager.js.map +1 -1
  4. package/dist/JwtKeyManager/RemoteJwtKeyManager/jwksEndpoint.js +3 -3
  5. package/dist/JwtKeyManager/RemoteJwtKeyManager/jwksEndpoint.js.map +1 -1
  6. package/dist/JwtKeyManager/RemoteJwtKeyManager/loadRemoteJwks.d.ts +2 -2
  7. package/dist/JwtKeyManager/RemoteJwtKeyManager/loadRemoteJwks.js +9 -7
  8. package/dist/JwtKeyManager/RemoteJwtKeyManager/loadRemoteJwks.js.map +1 -1
  9. package/dist/cli.cjs +2 -2
  10. package/dist/decode-jwts-with-key-manager.js +6 -2
  11. package/dist/decode-jwts-with-key-manager.js.map +1 -1
  12. package/dist/env/get-schemavaults-auth-server-url.d.ts +1 -0
  13. package/dist/env/get-schemavaults-auth-server-url.js +6 -0
  14. package/dist/env/get-schemavaults-auth-server-url.js.map +1 -0
  15. package/dist/index.d.ts +4 -4
  16. package/dist/index.js +4 -4
  17. package/dist/index.js.map +1 -1
  18. package/dist/isUserInOrganization.js +3 -2
  19. package/dist/isUserInOrganization.js.map +1 -1
  20. package/dist/middleware/index.d.ts +2 -0
  21. package/dist/middleware/index.js +1 -0
  22. package/dist/middleware/index.js.map +1 -1
  23. package/dist/middleware/middlewares/withAuthJwtValidation/withAuthJwtValidation.js +7 -5
  24. package/dist/middleware/middlewares/withAuthJwtValidation/withAuthJwtValidation.js.map +1 -1
  25. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/IAllowedOriginsResolver.d.ts +11 -0
  26. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/IAllowedOriginsResolver.js +9 -0
  27. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/IAllowedOriginsResolver.js.map +1 -0
  28. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/RemoteAllowedOriginsResolver.d.ts +22 -0
  29. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/RemoteAllowedOriginsResolver.js +106 -0
  30. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/RemoteAllowedOriginsResolver.js.map +1 -0
  31. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/allowedOriginsEndpoint.d.ts +2 -0
  32. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/allowedOriginsEndpoint.js +11 -0
  33. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/allowedOriginsEndpoint.js.map +1 -0
  34. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/index.d.ts +6 -0
  35. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/index.js +4 -0
  36. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/index.js.map +1 -0
  37. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/loadRemoteAllowedOrigins.d.ts +9 -0
  38. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/loadRemoteAllowedOrigins.js +56 -0
  39. package/dist/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/loadRemoteAllowedOrigins.js.map +1 -0
  40. package/dist/middleware/middlewares/withCorsSettings/index.d.ts +2 -0
  41. package/dist/middleware/middlewares/withCorsSettings/index.js +1 -0
  42. package/dist/middleware/middlewares/withCorsSettings/index.js.map +1 -1
  43. package/dist/middleware/middlewares/withCorsSettings/isAllowedOrigin.d.ts +3 -0
  44. package/dist/middleware/middlewares/withCorsSettings/isAllowedOrigin.js +46 -55
  45. package/dist/middleware/middlewares/withCorsSettings/isAllowedOrigin.js.map +1 -1
  46. package/dist/middleware/middlewares/withCorsSettings/withCorsSettings.d.ts +7 -0
  47. package/dist/middleware/middlewares/withCorsSettings/withCorsSettings.js +12 -0
  48. package/dist/middleware/middlewares/withCorsSettings/withCorsSettings.js.map +1 -1
  49. package/dist/middleware/server-middleware.d.ts +3 -1
  50. package/dist/middleware/server-middleware.js +9 -5
  51. package/dist/middleware/server-middleware.js.map +1 -1
  52. package/dist/route_guards/route-guard-factory.js +2 -2
  53. package/dist/route_guards/withAuthenticatedRouteGuard/initDefaultJwtKeyManagerForAuthenticatedRouteGuard.js +5 -5
  54. package/dist/route_guards/withAuthenticatedRouteGuard/withAuthenticatedApiRouteGuard.js +7 -6
  55. package/dist/route_guards/withAuthenticatedRouteGuard/withAuthenticatedApiRouteGuard.js.map +1 -1
  56. package/dist/route_guards/withAuthenticatedRouteGuard/withAuthenticatedServerComponentRouteGuard.js +7 -6
  57. package/dist/route_guards/withAuthenticatedRouteGuard/withAuthenticatedServerComponentRouteGuard.js.map +1 -1
  58. package/package.json +8 -8
  59. package/dist/env/get-schemavaults-auth-server-uri.d.ts +0 -1
  60. package/dist/env/get-schemavaults-auth-server-uri.js +0 -21
  61. package/dist/env/get-schemavaults-auth-server-uri.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ import { type ApiServerId } from "@schemavaults/app-definitions";
2
+ export default function allowedOriginsEndpoint<T extends ApiServerId>(api_server_id: T): `/api/resource-server/apis/${T}/allowed-origins`;
@@ -0,0 +1,11 @@
1
+ import { apiServerIdSchema, getAuthServerAppId, } from "@schemavaults/app-definitions";
2
+ export default function allowedOriginsEndpoint(api_server_id) {
3
+ if (!apiServerIdSchema.safeParse(api_server_id).success) {
4
+ throw new TypeError("Invalid 'api_server_id' to load allowed-origins endpoint URL for!");
5
+ }
6
+ if (api_server_id === getAuthServerAppId()) {
7
+ throw new TypeError("The auth server does not load allowed origins via remote connection!");
8
+ }
9
+ return `/api/resource-server/apis/${api_server_id}/allowed-origins`;
10
+ }
11
+ //# sourceMappingURL=allowedOriginsEndpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowedOriginsEndpoint.js","sourceRoot":"","sources":["../../../../../src/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/allowedOriginsEndpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,aAAgB;IAEhB,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CACjB,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,IAAI,aAAa,KAAK,kBAAkB,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,SAAS,CACjB,sEAAsE,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,6BAA6B,aAAa,kBAAkB,CAAC;AACtE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { RemoteAllowedOriginsResolver, RemoteAllowedOriginsResolver as default, } from "./RemoteAllowedOriginsResolver";
2
+ export type { IRemoteAllowedOriginsResolverConstructorOpts } from "./RemoteAllowedOriginsResolver";
3
+ export type { IAllowedOriginsResolver } from "./IAllowedOriginsResolver";
4
+ export { isAllowedOriginsResolver } from "./IAllowedOriginsResolver";
5
+ export { loadRemoteAllowedOrigins } from "./loadRemoteAllowedOrigins";
6
+ export type { ILoadRemoteAllowedOriginsOpts } from "./loadRemoteAllowedOrigins";
@@ -0,0 +1,4 @@
1
+ export { RemoteAllowedOriginsResolver, RemoteAllowedOriginsResolver as default, } from "./RemoteAllowedOriginsResolver";
2
+ export { isAllowedOriginsResolver } from "./IAllowedOriginsResolver";
3
+ export { loadRemoteAllowedOrigins } from "./loadRemoteAllowedOrigins";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,IAAI,OAAO,GACxC,MAAM,gCAAgC,CAAC;AAKxC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAErE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { type ApiServerId } from "@schemavaults/app-definitions";
2
+ export interface ILoadRemoteAllowedOriginsOpts {
3
+ auth_server_url: string;
4
+ api_server_id: ApiServerId;
5
+ jwks_access_private_key: CryptoKey;
6
+ debug?: boolean;
7
+ }
8
+ export declare function loadRemoteAllowedOrigins({ auth_server_url, api_server_id, jwks_access_private_key, ...opts }: ILoadRemoteAllowedOriginsOpts): Promise<readonly string[]>;
9
+ export default loadRemoteAllowedOrigins;
@@ -0,0 +1,56 @@
1
+ import { createJwksAccessProofToken } from "@schemavaults/jwt";
2
+ import { z } from "zod";
3
+ import allowedOriginsEndpoint from "./allowedOriginsEndpoint";
4
+ import { apiServerIdSchema, } from "@schemavaults/app-definitions";
5
+ const allowedOriginsResponseSchema = z.object({
6
+ success: z.literal(true),
7
+ data: z.object({
8
+ origins: z.array(z.string()),
9
+ }),
10
+ });
11
+ export async function loadRemoteAllowedOrigins({ auth_server_url, api_server_id, jwks_access_private_key, ...opts }) {
12
+ const debug = typeof opts.debug === "boolean" ? opts.debug : false;
13
+ if (typeof auth_server_url !== "string") {
14
+ throw new TypeError("Expected 'auth_server_url' to be a string!");
15
+ }
16
+ else if (!auth_server_url.startsWith("http://") &&
17
+ !auth_server_url.startsWith("https://")) {
18
+ throw new TypeError("Expected 'auth_server_url' to start with http:// or https://");
19
+ }
20
+ if (!apiServerIdSchema.safeParse(api_server_id).success) {
21
+ throw new TypeError("Invalid API server ID to load remote allowed origins for!");
22
+ }
23
+ let jwks_access_proof_token;
24
+ try {
25
+ jwks_access_proof_token = await createJwksAccessProofToken({
26
+ api_server_id,
27
+ auth_server_url,
28
+ private_key: jwks_access_private_key,
29
+ });
30
+ }
31
+ catch (e) {
32
+ console.error(e);
33
+ throw new Error("Failed to create JWKS Access Proof Token!");
34
+ }
35
+ const endpoint = new URL(`${allowedOriginsEndpoint(api_server_id)}`, auth_server_url);
36
+ const response = await fetch(endpoint, {
37
+ method: "GET",
38
+ headers: new Headers({
39
+ Authorization: `Bearer ${jwks_access_proof_token}`,
40
+ }),
41
+ });
42
+ if (!response.ok || response.status !== 200) {
43
+ throw new Error(`Failed to load allowed origins from auth server: ${response.status} ${response.statusText}`);
44
+ }
45
+ const body = await response.json();
46
+ const parsed = allowedOriginsResponseSchema.safeParse(body);
47
+ if (!parsed.success) {
48
+ if (debug) {
49
+ console.error("Bad allowed-origins response body that caused error: ", body);
50
+ }
51
+ throw new Error("Unexpected response body shape when loading allowed origins from auth server!");
52
+ }
53
+ return parsed.data.data.origins;
54
+ }
55
+ export default loadRemoteAllowedOrigins;
56
+ //# sourceMappingURL=loadRemoteAllowedOrigins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadRemoteAllowedOrigins.js","sourceRoot":"","sources":["../../../../../src/middleware/middlewares/withCorsSettings/RemoteAllowedOriginsResolver/loadRemoteAllowedOrigins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,sBAAsB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAEL,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AASvC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KAC7B,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAAC,EAC7C,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,GAAG,IAAI,EACuB;IAC9B,MAAM,KAAK,GAAY,OAAO,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAE5E,IAAI,OAAO,eAAe,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAC;IACpE,CAAC;SAAM,IACL,CAAC,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC;QACtC,CAAC,eAAe,CAAC,UAAU,CAAC,UAAU,CAAC,EACvC,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,8DAA8D,CAC/D,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,IAAI,SAAS,CACjB,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IAED,IAAI,uBAA+B,CAAC;IACpC,IAAI,CAAC;QACH,uBAAuB,GAAG,MAAM,0BAA0B,CAAC;YACzD,aAAa;YACb,eAAe;YACf,WAAW,EAAE,uBAAuB;SACrC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAQ,IAAI,GAAG,CAC3B,GAAG,sBAAsB,CAAC,aAAa,CAAC,EAAE,EAC1C,eAAe,CAChB,CAAC;IACF,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,QAAQ,EAAE;QAC/C,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,IAAI,OAAO,CAAC;YACnB,aAAa,EAAE,UAAU,uBAAuB,EAAE;SACnD,CAAC;KACH,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,oDAAoD,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CAC7F,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC5C,MAAM,MAAM,GAAG,4BAA4B,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,KAAK,CACX,uDAAuD,EACvD,IAAI,CACL,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;AAClC,CAAC;AAED,eAAe,wBAAwB,CAAC"}
@@ -2,3 +2,5 @@ export { CorsMiddlewareFactory, CorsMiddlewareFactory as default } from "./withC
2
2
  export type * from "./withCorsSettings";
3
3
  export type { SchemaVaultsCORSEnforcementPolicy } from "./cors-policies";
4
4
  export { SchemaVaultsCORSEnforcementPolicies } from "./cors-policies";
5
+ export { RemoteAllowedOriginsResolver } from "./RemoteAllowedOriginsResolver";
6
+ export type { IAllowedOriginsResolver, IRemoteAllowedOriginsResolverConstructorOpts, } from "./RemoteAllowedOriginsResolver";
@@ -1,3 +1,4 @@
1
1
  export { CorsMiddlewareFactory, CorsMiddlewareFactory as default } from "./withCorsSettings";
2
2
  export { SchemaVaultsCORSEnforcementPolicies } from "./cors-policies";
3
+ export { RemoteAllowedOriginsResolver } from "./RemoteAllowedOriginsResolver";
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/middlewares/withCorsSettings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7F,OAAO,EAAE,mCAAmC,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/middleware/middlewares/withCorsSettings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7F,OAAO,EAAE,mCAAmC,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { type SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
2
2
  import { type SchemaVaultsCORSEnforcementPolicy } from "./cors-policies";
3
+ import type { IAllowedOriginsResolver } from "./RemoteAllowedOriginsResolver";
3
4
  interface CheckIfIsAllowedOriginOptions {
4
5
  origin: string | null | undefined;
5
6
  policy: SchemaVaultsCORSEnforcementPolicy;
6
7
  audience: string;
7
8
  environment: SchemaVaultsAppEnvironment;
9
+ auth_server_url: string;
10
+ allowed_origins_resolver?: IAllowedOriginsResolver;
8
11
  debug?: boolean;
9
12
  }
10
13
  export declare function isAllowedOrigin(opts: CheckIfIsAllowedOriginOptions): Promise<boolean>;
@@ -1,84 +1,75 @@
1
- import { getHardcodedClientWebAppDomain, SCHEMAVAULTS_AUTH_APP_DEFINITION, SCHEMAVAULTS_MAIL_APP_DEFINITION, SCHEMAVAULTS_REGISTRY_SERVER, SCHEMAVAULTS_WEB, } from "@schemavaults/app-definitions";
1
+ import { getAuthServerAppId, } from "@schemavaults/app-definitions";
2
+ import { isOriginInAllowedList } from "@schemavaults/auth-common";
2
3
  import { SchemaVaultsCORSEnforcementPolicies as policies, } from "./cors-policies";
4
+ import { JWKS_ACCESS_PRIVATE_KEY_ENV_VAR_NAME } from "../../../env/loadJwksAccessPrivateKey";
3
5
  async function enforceValidAppIfOriginApplied(opts) {
4
- const { origin, audience, environment, debug } = opts;
6
+ const { origin, audience, allowed_origins_resolver, debug } = opts;
5
7
  if (!origin) {
6
8
  return true;
7
9
  }
8
10
  origin;
9
- const auth_app_id = SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id;
10
- const auth_server_uri = getHardcodedClientWebAppDomain(auth_app_id, environment);
11
- if (origin === auth_server_uri && audience === auth_app_id) {
11
+ const auth_app_id = getAuthServerAppId();
12
+ const auth_server_url = opts.auth_server_url;
13
+ if (audience === auth_app_id &&
14
+ isOriginInAllowedList(origin, [auth_server_url])) {
12
15
  if (debug) {
13
16
  console.log("[isAllowedOrigin] Ensuring that auth client application can reach auth server backend...");
14
17
  }
15
18
  return true;
16
19
  }
17
- const web_app_id = SCHEMAVAULTS_WEB.app_id;
18
- const web_app_uri = getHardcodedClientWebAppDomain(web_app_id, environment);
19
- // Allow https://schemavaults.com to reach https://auth.schemavaults.com
20
- if (origin === web_app_uri && audience === auth_app_id) {
21
- if (debug) {
22
- console.log("[isAllowedOrigin] Ensuring that @schemavaults/web application can reach auth server backend...");
23
- }
24
- return true;
20
+ if (audience === auth_app_id) {
21
+ // The auth server validates client-app origins itself with database
22
+ // access (see auth-server's cors-for-client-app); the remote
23
+ // allowed-origins lookup rejects the auth app id.
24
+ console.warn(`[isAllowedOrigin] Origin "${origin}" is not the auth server's own origin; denying for audience '${auth_app_id}'.`);
25
+ return false;
25
26
  }
26
- // Ensure that https://registry.schemavaults.com can be accessed by the registry frontend
27
- const registry_app_id = SCHEMAVAULTS_REGISTRY_SERVER.api_server_id;
28
- if (origin === web_app_uri && audience === registry_app_id) {
29
- if (debug) {
30
- console.log("[isAllowedOrigin] Ensuring that @schemavaults/registry-server frontend application can reach registry API server backend...");
31
- }
32
- return true;
27
+ if (!allowed_origins_resolver) {
28
+ console.error("[isAllowedOrigin] No allowed-origins resolver available to validate origin against the auth server; denying. " +
29
+ "Pass 'allowed_origins_resolver' or use the default RemoteAllowedOriginsResolver.");
30
+ return false;
33
31
  }
34
- // Ensure that https://mail.schemavaults.com can be accessed by the core web app
35
- const mail_app_id = SCHEMAVAULTS_MAIL_APP_DEFINITION.app_id;
36
- if (origin === web_app_uri && audience === mail_app_id) {
37
- if (debug) {
38
- console.log("[isAllowedOrigin] Ensuring that @schemavaults/web application can reach mail API server backend...");
39
- }
40
- return true;
32
+ if (!allowed_origins_resolver.isConfigured()) {
33
+ console.error(`[isAllowedOrigin] Allowed-origins resolver is not configured (is the '${JWKS_ACCESS_PRIVATE_KEY_ENV_VAR_NAME}' environment variable set?); denying origin "${origin}".`);
34
+ return false;
41
35
  }
42
- const mail_app_uri = getHardcodedClientWebAppDomain(mail_app_id, environment);
43
- // Allow https://mail.schemavaults.com to reach https://auth.schemavaults.com
44
- if (origin === mail_app_uri && audience === auth_app_id) {
36
+ try {
37
+ const allowedOrigins = await allowed_origins_resolver.loadAllowedOrigins(audience);
38
+ const allowed = isOriginInAllowedList(origin, allowedOrigins);
45
39
  if (debug) {
46
- console.log("[isAllowedOrigin] Ensuring that @schemavaults/mail-server application can reach auth server backend...");
40
+ console.log(`[isAllowedOrigin] Origin "${origin}" ${allowed ? "is" : "is not"} in the allowed-origins list for audience '${audience}' (${allowedOrigins.length} allowed origin${allowedOrigins.length === 1 ? "" : "s"})`);
47
41
  }
48
- return true;
42
+ return allowed;
43
+ }
44
+ catch (e) {
45
+ // Fail closed: if the allowed origins can't be determined, deny.
46
+ console.error(`[isAllowedOrigin] Failed to load allowed origins for audience '${audience}'; denying origin "${origin}". Error: `, e);
47
+ return false;
49
48
  }
50
- console.warn("[isAllowedOrigin] This is only half implemented-- need to check if origin is valid for non-hardcoded API servers!");
51
- return false;
52
49
  }
53
50
  async function sameOriginIfOriginApplied(opts) {
54
- const { origin, audience, environment, debug } = opts;
51
+ const { origin, audience, debug } = opts;
55
52
  if (!origin) {
56
53
  return true;
57
54
  }
58
- if (origin.startsWith("https://") && audience.startsWith("https://")) {
59
- if (origin === audience) {
60
- return true;
61
- }
62
- }
63
- let hardcoded_app_uri;
55
+ let parsedOrigin;
56
+ let parsedAudience;
64
57
  try {
65
- hardcoded_app_uri = getHardcodedClientWebAppDomain(audience, environment);
58
+ parsedOrigin = new URL(origin);
59
+ parsedAudience = new URL(audience);
66
60
  }
67
- catch (e) {
68
- void e; /** no-op, this app may not be a hardcoded app */
61
+ catch {
62
+ // "Same origin" is only meaningful when the audience is itself a URL
63
+ // (e.g. the auth server); an api_server_id audience can't match.
64
+ console.warn(`[isAllowedOrigin] Cannot compare origin "${origin}" to non-URL audience '${audience}' for same-origin policy; denying.`);
65
+ return false;
69
66
  }
70
- if (typeof hardcoded_app_uri === "string") {
71
- if (origin === hardcoded_app_uri) {
72
- return true;
73
- }
74
- else {
75
- if (debug) {
76
- console.warn(`[isAllowedOrigin] Denying due to mismatch between request origin and hardcoded app domain on record: ('${hardcoded_app_uri}')`);
77
- }
78
- return false;
79
- }
67
+ // Comparing URL.origin normalizes casing and default ports.
68
+ const sameOrigin = parsedOrigin.origin === parsedAudience.origin;
69
+ if (debug) {
70
+ console.log(`[isAllowedOrigin] Origin "${origin}" ${sameOrigin ? "matches" : "does not match"} audience origin "${parsedAudience.origin}"`);
80
71
  }
81
- throw new Error("Unimplemented, need to do more thorough check to see if this origin is the same as this server audience");
72
+ return sameOrigin;
82
73
  }
83
74
  export async function isAllowedOrigin(opts) {
84
75
  const { policy, environment, debug } = opts;
@@ -1 +1 @@
1
- {"version":3,"file":"isAllowedOrigin.js","sourceRoot":"","sources":["../../../../src/middleware/middlewares/withCorsSettings/isAllowedOrigin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"isAllowedOrigin.js","sourceRoot":"","sources":["../../../../src/middleware/middlewares/withCorsSettings/isAllowedOrigin.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,16 @@
1
1
  import type { NextResponse } from "next/server";
2
+ import type { SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
2
3
  import { type SchemaVaultsCORSEnforcementPolicy } from "./cors-policies";
4
+ import { type IAllowedOriginsResolver } from "./RemoteAllowedOriginsResolver";
3
5
  import type { ISchemaVaultsMiddleware, ISchemaVaultsMiddlewareFactory, ISchemaVaultsMiddlewareFnInputs } from "../../middleware_types";
4
6
  import { BaseMiddleware, type IBaseMiddlewareInitOptions } from "../BaseMiddleware";
5
7
  export interface CorsSettings {
6
8
  debug?: boolean;
7
9
  policy: SchemaVaultsCORSEnforcementPolicy;
8
10
  audience: string;
11
+ auth_server_url: string;
12
+ environment?: SchemaVaultsAppEnvironment;
13
+ allowed_origins_resolver?: IAllowedOriginsResolver;
9
14
  }
10
15
  interface CorsMiddlewareSettings extends CorsSettings, Omit<IBaseMiddlewareInitOptions, "name"> {
11
16
  next: ISchemaVaultsMiddleware;
@@ -13,6 +18,8 @@ interface CorsMiddlewareSettings extends CorsSettings, Omit<IBaseMiddlewareInitO
13
18
  declare class CorsMiddleware extends BaseMiddleware implements ISchemaVaultsMiddleware {
14
19
  private readonly policy;
15
20
  private readonly audience;
21
+ private readonly auth_server_url;
22
+ private readonly allowed_origins_resolver;
16
23
  constructor(settings: CorsMiddlewareSettings);
17
24
  handle({ req, json, ...inputs }: ISchemaVaultsMiddlewareFnInputs): Promise<NextResponse | Response>;
18
25
  }
@@ -1,6 +1,7 @@
1
1
  import { applyCorsHeaders } from "./applyCorsHeaders";
2
2
  import { isValidCORSEnforcementPolicy, SchemaVaultsCORSEnforcementPolicies as policies, } from "./cors-policies";
3
3
  import { isAllowedOrigin } from "./isAllowedOrigin";
4
+ import { RemoteAllowedOriginsResolver, } from "./RemoteAllowedOriginsResolver";
4
5
  import { ensureHttpsInProduction } from "./ensureHttpsInProd";
5
6
  import { BaseMiddleware, } from "../BaseMiddleware";
6
7
  import { assertNoOriginSet } from "./assertNoOriginSet";
@@ -8,6 +9,8 @@ import { prettyPrintAvailablePolicies } from "./pretty-print-available-policies"
8
9
  class CorsMiddleware extends BaseMiddleware {
9
10
  policy;
10
11
  audience;
12
+ auth_server_url;
13
+ allowed_origins_resolver;
11
14
  constructor(settings) {
12
15
  super({
13
16
  ...settings,
@@ -19,6 +22,13 @@ class CorsMiddleware extends BaseMiddleware {
19
22
  }
20
23
  this.policy = settings.policy;
21
24
  this.audience = settings.audience;
25
+ this.auth_server_url = settings.auth_server_url;
26
+ this.allowed_origins_resolver =
27
+ settings.allowed_origins_resolver ??
28
+ new RemoteAllowedOriginsResolver({
29
+ auth_server_url: settings.auth_server_url,
30
+ debug: settings.debug,
31
+ });
22
32
  }
23
33
  async handle({ req, json, ...inputs }) {
24
34
  const DEBUG = this.debug;
@@ -39,6 +49,8 @@ class CorsMiddleware extends BaseMiddleware {
39
49
  audience,
40
50
  debug: DEBUG,
41
51
  environment: this.environment,
52
+ auth_server_url: this.auth_server_url,
53
+ allowed_origins_resolver: this.allowed_origins_resolver,
42
54
  });
43
55
  if (DEBUG) {
44
56
  console.log(`[withCorsSettings] ${isOriginSet ? "An" : "No"} origin is set. ${isOriginSet ? `Origin "${origin}"` : "Not having an origin"} ${isAllowed ? "is" : "is not"} allowed for audience "${audience}"`);
@@ -1 +1 @@
1
- {"version":3,"file":"withCorsSettings.js","sourceRoot":"","sources":["../../../../src/middleware/middlewares/withCorsSettings/withCorsSettings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"withCorsSettings.js","sourceRoot":"","sources":["../../../../src/middleware/middlewares/withCorsSettings/withCorsSettings.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,19 @@
1
1
  import type { AuthMiddlewareRules } from "@schemavaults/auth-common";
2
2
  import type { NextResponse } from "next/server";
3
3
  import { type SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
4
- import { type SchemaVaultsCORSEnforcementPolicy } from "./middlewares/withCorsSettings";
4
+ import { type IAllowedOriginsResolver, type SchemaVaultsCORSEnforcementPolicy } from "./middlewares/withCorsSettings";
5
5
  import type { ISchemaVaultsMiddleware, ISchemaVaultsMiddlewareFnInputs } from "./middleware_types";
6
6
  import BaseMiddleware from "./middlewares/BaseMiddleware";
7
7
  import type { IJwtKeyManager } from "../JwtKeyManager";
8
8
  export interface IServerMiddlewareInitializationOptions {
9
+ auth_server_url: string;
9
10
  api_server_id?: string;
10
11
  auth_middleware_rules?: AuthMiddlewareRules;
11
12
  debug?: boolean;
12
13
  cors_policy?: SchemaVaultsCORSEnforcementPolicy;
13
14
  environment?: SchemaVaultsAppEnvironment;
14
15
  jwt_keys_manager?: IJwtKeyManager;
16
+ allowed_origins_resolver?: IAllowedOriginsResolver;
15
17
  }
16
18
  export declare class SchemaVaultsServerMiddleware extends BaseMiddleware implements ISchemaVaultsMiddleware {
17
19
  readonly options: IServerMiddlewareInitializationOptions;
@@ -1,6 +1,6 @@
1
1
  // server-middleware.ts
2
2
  import { MiddlewareChain, } from "./middleware_chain";
3
- import { apiServerIdSchema, getAppEnvironment, getHardcodedClientWebAppDomain, SCHEMAVAULTS_AUTH_APP_DEFINITION, } from "@schemavaults/app-definitions";
3
+ import { apiServerIdSchema, getAppEnvironment, getAuthServerAppId, } from "@schemavaults/app-definitions";
4
4
  /** Middlewares Imports */
5
5
  import AuthJwtValidationMiddlewareFactory from "./middlewares/withAuthJwtValidation";
6
6
  import CorsMiddlewareFactory, { SchemaVaultsCORSEnforcementPolicies as cors_policies, } from "./middlewares/withCorsSettings";
@@ -33,7 +33,8 @@ export class SchemaVaultsServerMiddleware extends BaseMiddleware {
33
33
  }
34
34
  const audience = opts.api_server_id;
35
35
  const environment = opts.environment ?? getAppEnvironment();
36
- const isAuthServer = audience === SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id;
36
+ const isAuthServer = audience === opts.auth_server_url ||
37
+ audience === getAuthServerAppId();
37
38
  let jwt_keys_manager;
38
39
  if (isAuthServer) {
39
40
  if (!opts.jwt_keys_manager) {
@@ -42,15 +43,15 @@ export class SchemaVaultsServerMiddleware extends BaseMiddleware {
42
43
  jwt_keys_manager = opts.jwt_keys_manager;
43
44
  }
44
45
  else {
45
- if (audience === SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id) {
46
- throw new Error("Expected this to not be the auth server if this point was reached!");
46
+ if (audience === opts.auth_server_url) {
47
+ throw new TypeError("Expected this to not be the auth server if this point was reached!");
47
48
  }
48
49
  if (opts.jwt_keys_manager) {
49
50
  jwt_keys_manager = opts.jwt_keys_manager;
50
51
  }
51
52
  else {
52
53
  jwt_keys_manager = new RemoteJwtKeyManager({
53
- auth_server_uri: getHardcodedClientWebAppDomain(SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id, environment),
54
+ auth_server_url: opts.auth_server_url,
54
55
  });
55
56
  }
56
57
  }
@@ -68,6 +69,9 @@ export class SchemaVaultsServerMiddleware extends BaseMiddleware {
68
69
  debug: debug,
69
70
  audience,
70
71
  policy: cors_policy,
72
+ auth_server_url: opts.auth_server_url,
73
+ environment,
74
+ allowed_origins_resolver: opts.allowed_origins_resolver,
71
75
  }),
72
76
  new AuthJwtValidationMiddlewareFactory({
73
77
  audience,
@@ -1 +1 @@
1
- {"version":3,"file":"server-middleware.js","sourceRoot":"","sources":["../../src/middleware/server-middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-middleware.js","sourceRoot":"","sources":["../../src/middleware/server-middleware.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import AuthenticationRequiredRouteGuard from "./authenticated";
4
4
  import { z } from "zod";
5
5
  import { apiServerIdSchema, getAppEnvironment, } from "@schemavaults/app-definitions";
6
6
  import { RemoteJwtKeyManager } from "../JwtKeyManager";
7
- import getSchemaVaultsAuthServerUri from "../env/get-schemavaults-auth-server-uri";
7
+ import getSchemaVaultsAuthServerUri from "../env/get-schemavaults-auth-server-url";
8
8
  import decodeJWTsWithKeyManager from "../decode-jwts-with-key-manager";
9
9
  const GUARD_TYPES = [
10
10
  "authenticated",
@@ -62,7 +62,7 @@ export class RouteGuardFactory {
62
62
  console.log("[RouteGuardFactory] Creating default 'jwt_keys_manager' for remote resource server (loads keys from auth server)!");
63
63
  }
64
64
  this.jwt_keys_manager = new RemoteJwtKeyManager({
65
- auth_server_uri: getSchemaVaultsAuthServerUri(),
65
+ auth_server_url: getSchemaVaultsAuthServerUri(),
66
66
  debug: this.debug,
67
67
  });
68
68
  }
@@ -1,13 +1,13 @@
1
- import getSchemaVaultsAuthServerUri from "../../env/get-schemavaults-auth-server-uri";
1
+ import getSchemaVaultsAuthServerUrl from "../../env/get-schemavaults-auth-server-url";
2
2
  import RemoteJwtKeyManager from "../../JwtKeyManager/RemoteJwtKeyManager";
3
3
  // default key manager is RemoteJwtKeyManager-- makes it easier for external apps, we can overwrite this once for the auth server
4
4
  export function initDefaultJwtKeyManagerForAuthenticatedRouteGuard(debug = process.env.NODE_ENV === "development") {
5
- let auth_server_uri;
5
+ let auth_server_url;
6
6
  try {
7
- auth_server_uri = getSchemaVaultsAuthServerUri();
7
+ auth_server_url = getSchemaVaultsAuthServerUrl();
8
8
  }
9
9
  catch (e) {
10
- // getSchemaVaultsAuthServerUri() throws when SCHEMAVAULTS_AUTH_SERVER_URI
10
+ // getSchemaVaultsAuthServerUrl() throws when SCHEMAVAULTS_AUTH_SERVER_URI
11
11
  // is set to an invalid value (wrong protocol, or http:// in
12
12
  // production/staging). Surface this in the logs before letting the
13
13
  // exception propagate up to the route guard.
@@ -15,7 +15,7 @@ export function initDefaultJwtKeyManagerForAuthenticatedRouteGuard(debug = proce
15
15
  throw e;
16
16
  }
17
17
  return new RemoteJwtKeyManager({
18
- auth_server_uri,
18
+ auth_server_url,
19
19
  debug,
20
20
  });
21
21
  }
@@ -1,7 +1,7 @@
1
- import { SCHEMAVAULTS_AUTH_APP_ID, getAppEnvironment, } from "@schemavaults/app-definitions";
1
+ import { getAppEnvironment, getAuthServerAppId, } from "@schemavaults/app-definitions";
2
2
  import { accessTokenDataSchema, isValidOrganizationID, organizationIdSchema, userDataSchema, } from "@schemavaults/auth-common";
3
3
  import isUserInOrganizationFromAuthServer from "../../isUserInOrganization";
4
- import getSchemaVaultsAuthServerUri from "../../env/get-schemavaults-auth-server-uri";
4
+ import getSchemaVaultsAuthServerUri from "../../env/get-schemavaults-auth-server-url";
5
5
  import loadJwksAccessPrivateKey from "../../env/loadJwksAccessPrivateKey/loadJwksAccessPrivateKey";
6
6
  import RouteGuardFactory from "../../route_guards/route-guard-factory";
7
7
  import getStringByteSize from "../../getStringByteSize";
@@ -65,9 +65,10 @@ export function withAuthenticatedApiRouteGuard(api_route_handler, additional_cus
65
65
  const token_sources = [
66
66
  ...(opts?.additional_token_sources ?? []),
67
67
  ];
68
+ const auth_server_app_id = getAuthServerAppId();
68
69
  // Load refresh token cookie for auth server
69
- if (api_server_id === SCHEMAVAULTS_AUTH_APP_ID) {
70
- const refresh_token_cookie = req.cookies.get(RefreshTokenCookieName(SCHEMAVAULTS_AUTH_APP_ID));
70
+ if (api_server_id === auth_server_app_id) {
71
+ const refresh_token_cookie = req.cookies.get(RefreshTokenCookieName(auth_server_app_id));
71
72
  if (typeof refresh_token_cookie?.value === "string" &&
72
73
  refresh_token_cookie.value.length > 64 &&
73
74
  getStringByteSize(refresh_token_cookie.value) <=
@@ -154,7 +155,7 @@ export function withAuthenticatedApiRouteGuard(api_route_handler, additional_cus
154
155
  }
155
156
  const route_guard = await new RouteGuardFactory({
156
157
  environment,
157
- is_auth_server: api_server_id === SCHEMAVAULTS_AUTH_APP_ID,
158
+ is_auth_server: api_server_id === auth_server_app_id,
158
159
  jwt_keys_manager,
159
160
  }).createGuardFromTokenSources(route_guard_type, token_sources, api_server_id);
160
161
  if (!route_guard.user) {
@@ -194,7 +195,7 @@ export function withAuthenticatedApiRouteGuard(api_route_handler, additional_cus
194
195
  throw new TypeError("Invalid organization ID to check user's role for!");
195
196
  }
196
197
  const custom_is_user_in_organization = opts?.custom_is_user_in_organization;
197
- if (api_server_id === SCHEMAVAULTS_AUTH_APP_ID &&
198
+ if (api_server_id === auth_server_app_id &&
198
199
  typeof custom_is_user_in_organization !== "function") {
199
200
  throw new TypeError("A 'custom_is_user_in_organization' method must be passed to route guard when used for @schemavaults/auth-server!");
200
201
  }