@schemavaults/auth-server-sdk 0.17.2

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 (116) hide show
  1. package/README.md +3 -0
  2. package/dist/DatabaseResourceGroup/IDatabaseResourceGroup.d.ts +4 -0
  3. package/dist/DatabaseResourceGroup/IDatabaseResourceGroup.js +2 -0
  4. package/dist/DatabaseResourceGroup/IDatabaseResourceGroup.js.map +1 -0
  5. package/dist/DatabaseResourceGroup/index.d.ts +1 -0
  6. package/dist/DatabaseResourceGroup/index.js +2 -0
  7. package/dist/DatabaseResourceGroup/index.js.map +1 -0
  8. package/dist/JwtKeyManager/DatabaseConnectedJwtKeyManager.d.ts +12 -0
  9. package/dist/JwtKeyManager/DatabaseConnectedJwtKeyManager.js +17 -0
  10. package/dist/JwtKeyManager/DatabaseConnectedJwtKeyManager.js.map +1 -0
  11. package/dist/JwtKeyManager/IJwtKeyManager.d.ts +4 -0
  12. package/dist/JwtKeyManager/IJwtKeyManager.js +2 -0
  13. package/dist/JwtKeyManager/IJwtKeyManager.js.map +1 -0
  14. package/dist/JwtKeyManager/JsonWebKeySetsStore/AbstractJsonWebKeySetsStore.d.ts +16 -0
  15. package/dist/JwtKeyManager/JsonWebKeySetsStore/AbstractJsonWebKeySetsStore.js +14 -0
  16. package/dist/JwtKeyManager/JsonWebKeySetsStore/AbstractJsonWebKeySetsStore.js.map +1 -0
  17. package/dist/JwtKeyManager/JsonWebKeySetsStore/IJsonWebKeySetsStore.d.ts +12 -0
  18. package/dist/JwtKeyManager/JsonWebKeySetsStore/IJsonWebKeySetsStore.js +2 -0
  19. package/dist/JwtKeyManager/JsonWebKeySetsStore/IJsonWebKeySetsStore.js.map +1 -0
  20. package/dist/JwtKeyManager/JsonWebKeySetsStore/MockJwtKeySetsStore.d.ts +15 -0
  21. package/dist/JwtKeyManager/JsonWebKeySetsStore/MockJwtKeySetsStore.js +88 -0
  22. package/dist/JwtKeyManager/JsonWebKeySetsStore/MockJwtKeySetsStore.js.map +1 -0
  23. package/dist/JwtKeyManager/JsonWebKeySetsStore/index.d.ts +2 -0
  24. package/dist/JwtKeyManager/JsonWebKeySetsStore/index.js +2 -0
  25. package/dist/JwtKeyManager/JsonWebKeySetsStore/index.js.map +1 -0
  26. package/dist/JwtKeyManager/RemoteJwtKeyManager/RemoteJwtKeyManager.d.ts +11 -0
  27. package/dist/JwtKeyManager/RemoteJwtKeyManager/RemoteJwtKeyManager.js +21 -0
  28. package/dist/JwtKeyManager/RemoteJwtKeyManager/RemoteJwtKeyManager.js.map +1 -0
  29. package/dist/JwtKeyManager/RemoteJwtKeyManager/index.d.ts +2 -0
  30. package/dist/JwtKeyManager/RemoteJwtKeyManager/index.js +3 -0
  31. package/dist/JwtKeyManager/RemoteJwtKeyManager/index.js.map +1 -0
  32. package/dist/JwtKeyManager/RemoteJwtKeyManager/loadRemoteJwks.d.ts +7 -0
  33. package/dist/JwtKeyManager/RemoteJwtKeyManager/loadRemoteJwks.js +22 -0
  34. package/dist/JwtKeyManager/RemoteJwtKeyManager/loadRemoteJwks.js.map +1 -0
  35. package/dist/JwtKeyManager/index.d.ts +6 -0
  36. package/dist/JwtKeyManager/index.js +5 -0
  37. package/dist/JwtKeyManager/index.js.map +1 -0
  38. package/dist/JwtKeyManager/loadJwtDecodingKeys.d.ts +19 -0
  39. package/dist/JwtKeyManager/loadJwtDecodingKeys.js +52 -0
  40. package/dist/JwtKeyManager/loadJwtDecodingKeys.js.map +1 -0
  41. package/dist/index.d.ts +8 -0
  42. package/dist/index.js +5 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/middleware/index.d.ts +5 -0
  45. package/dist/middleware/index.js +3 -0
  46. package/dist/middleware/index.js.map +1 -0
  47. package/dist/middleware/middleware_chain/index.d.ts +2 -0
  48. package/dist/middleware/middleware_chain/index.js +2 -0
  49. package/dist/middleware/middleware_chain/index.js.map +1 -0
  50. package/dist/middleware/middleware_chain/middleware_chain.d.ts +13 -0
  51. package/dist/middleware/middleware_chain/middleware_chain.js +53 -0
  52. package/dist/middleware/middleware_chain/middleware_chain.js.map +1 -0
  53. package/dist/middleware/middleware_types.d.ts +21 -0
  54. package/dist/middleware/middleware_types.js +2 -0
  55. package/dist/middleware/middleware_types.js.map +1 -0
  56. package/dist/middleware/middlewares/BaseMiddleware.d.ts +24 -0
  57. package/dist/middleware/middlewares/BaseMiddleware.js +53 -0
  58. package/dist/middleware/middlewares/BaseMiddleware.js.map +1 -0
  59. package/dist/middleware/middlewares/default_middleware.d.ts +10 -0
  60. package/dist/middleware/middlewares/default_middleware.js +25 -0
  61. package/dist/middleware/middlewares/default_middleware.js.map +1 -0
  62. package/dist/middleware/middlewares/withAuthJwtValidation/index.d.ts +1 -0
  63. package/dist/middleware/middlewares/withAuthJwtValidation/index.js +2 -0
  64. package/dist/middleware/middlewares/withAuthJwtValidation/index.js.map +1 -0
  65. package/dist/middleware/middlewares/withAuthJwtValidation/withAuthJwtValidation.d.ts +32 -0
  66. package/dist/middleware/middlewares/withAuthJwtValidation/withAuthJwtValidation.js +245 -0
  67. package/dist/middleware/middlewares/withAuthJwtValidation/withAuthJwtValidation.js.map +1 -0
  68. package/dist/middleware/middlewares/withCorsSettings/applyCorsHeaders.d.ts +12 -0
  69. package/dist/middleware/middlewares/withCorsSettings/applyCorsHeaders.js +46 -0
  70. package/dist/middleware/middlewares/withCorsSettings/applyCorsHeaders.js.map +1 -0
  71. package/dist/middleware/middlewares/withCorsSettings/assertNoOriginSet.d.ts +1 -0
  72. package/dist/middleware/middlewares/withCorsSettings/assertNoOriginSet.js +7 -0
  73. package/dist/middleware/middlewares/withCorsSettings/assertNoOriginSet.js.map +1 -0
  74. package/dist/middleware/middlewares/withCorsSettings/cors-policies.d.ts +8 -0
  75. package/dist/middleware/middlewares/withCorsSettings/cors-policies.js +21 -0
  76. package/dist/middleware/middlewares/withCorsSettings/cors-policies.js.map +1 -0
  77. package/dist/middleware/middlewares/withCorsSettings/ensureHttpsInProd.d.ts +3 -0
  78. package/dist/middleware/middlewares/withCorsSettings/ensureHttpsInProd.js +22 -0
  79. package/dist/middleware/middlewares/withCorsSettings/ensureHttpsInProd.js.map +1 -0
  80. package/dist/middleware/middlewares/withCorsSettings/index.d.ts +4 -0
  81. package/dist/middleware/middlewares/withCorsSettings/index.js +3 -0
  82. package/dist/middleware/middlewares/withCorsSettings/index.js.map +1 -0
  83. package/dist/middleware/middlewares/withCorsSettings/isAllowedOrigin.d.ts +11 -0
  84. package/dist/middleware/middlewares/withCorsSettings/isAllowedOrigin.js +105 -0
  85. package/dist/middleware/middlewares/withCorsSettings/isAllowedOrigin.js.map +1 -0
  86. package/dist/middleware/middlewares/withCorsSettings/pretty-print-available-policies.d.ts +1 -0
  87. package/dist/middleware/middlewares/withCorsSettings/pretty-print-available-policies.js +32 -0
  88. package/dist/middleware/middlewares/withCorsSettings/pretty-print-available-policies.js.map +1 -0
  89. package/dist/middleware/middlewares/withCorsSettings/withCorsSettings.d.ts +25 -0
  90. package/dist/middleware/middlewares/withCorsSettings/withCorsSettings.js +231 -0
  91. package/dist/middleware/middlewares/withCorsSettings/withCorsSettings.js.map +1 -0
  92. package/dist/middleware/middlewares/withLogging.d.ts +6 -0
  93. package/dist/middleware/middlewares/withLogging.js +31 -0
  94. package/dist/middleware/middlewares/withLogging.js.map +1 -0
  95. package/dist/middleware/server-middleware.d.ts +23 -0
  96. package/dist/middleware/server-middleware.js +103 -0
  97. package/dist/middleware/server-middleware.js.map +1 -0
  98. package/dist/route_guards/admin.d.ts +5 -0
  99. package/dist/route_guards/admin.js +13 -0
  100. package/dist/route_guards/admin.js.map +1 -0
  101. package/dist/route_guards/authenticated.d.ts +5 -0
  102. package/dist/route_guards/authenticated.js +11 -0
  103. package/dist/route_guards/authenticated.js.map +1 -0
  104. package/dist/route_guards/base-route-guard.d.ts +15 -0
  105. package/dist/route_guards/base-route-guard.js +24 -0
  106. package/dist/route_guards/base-route-guard.js.map +1 -0
  107. package/dist/route_guards/index.d.ts +4 -0
  108. package/dist/route_guards/index.js +4 -0
  109. package/dist/route_guards/index.js.map +1 -0
  110. package/dist/route_guards/init_route_guard_check_options.d.ts +6 -0
  111. package/dist/route_guards/init_route_guard_check_options.js +2 -0
  112. package/dist/route_guards/init_route_guard_check_options.js.map +1 -0
  113. package/dist/route_guards/route-guard-factory.d.ts +25 -0
  114. package/dist/route_guards/route-guard-factory.js +155 -0
  115. package/dist/route_guards/route-guard-factory.js.map +1 -0
  116. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authenticated.js","sourceRoot":"","sources":["../../src/route_guards/authenticated.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAoB,MAAM,oBAAoB,CAAC;AAEtE,MAAM,OAAO,gCACX,SAAQ,cAAc;IAGf,eAAe;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAED,eAAe,gCAAgC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { UserData } from "@schemavaults/auth-common";
2
+ import type { InitRouteGuardCheckOptions } from "./init_route_guard_check_options";
3
+ export interface IRouteGuard {
4
+ isAccessAllowed: () => boolean;
5
+ user: UserData | null;
6
+ }
7
+ export declare abstract class BaseRouteGuard implements IRouteGuard {
8
+ protected _user: UserData | null;
9
+ private readonly environment;
10
+ constructor({ user, environment }: InitRouteGuardCheckOptions);
11
+ protected get isAuthenticated(): boolean;
12
+ protected get isAdmin(): boolean;
13
+ abstract isAccessAllowed(): boolean;
14
+ get user(): UserData | null;
15
+ }
@@ -0,0 +1,24 @@
1
+ export class BaseRouteGuard {
2
+ _user;
3
+ environment;
4
+ constructor({ user, environment }) {
5
+ this._user = user;
6
+ this.environment = environment;
7
+ }
8
+ get isAuthenticated() {
9
+ const isUserSet = !!this._user;
10
+ if (this.environment !== "production") {
11
+ console.debug("User is authenticated:", isUserSet, "User:", this._user);
12
+ }
13
+ return isUserSet;
14
+ }
15
+ get isAdmin() {
16
+ return (this.isAuthenticated &&
17
+ typeof this._user?.admin === "boolean" &&
18
+ this._user.admin);
19
+ }
20
+ get user() {
21
+ return this._user;
22
+ }
23
+ }
24
+ //# sourceMappingURL=base-route-guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-route-guard.js","sourceRoot":"","sources":["../../src/route_guards/base-route-guard.ts"],"names":[],"mappings":"AASA,MAAM,OAAgB,cAAc;IACxB,KAAK,CAAkB;IAChB,WAAW,CAA6B;IAEzD,YAAmB,EAAE,IAAI,EAAE,WAAW,EAA8B;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,IAAc,eAAe;QAC3B,MAAM,SAAS,GAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACxC,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YACtC,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAc,OAAO;QACnB,OAAO,CACL,IAAI,CAAC,eAAe;YACpB,OAAO,IAAI,CAAC,KAAK,EAAE,KAAK,KAAK,SAAS;YACtC,IAAI,CAAC,KAAK,CAAC,KAAK,CACjB,CAAC;IACJ,CAAC;IAID,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;CACF"}
@@ -0,0 +1,4 @@
1
+ export type { IRouteGuard } from "./base-route-guard";
2
+ export { AuthenticationRequiredRouteGuard } from "./authenticated";
3
+ export { AdminRequiredRouteGuard } from "./admin";
4
+ export { RouteGuardFactory, RouteGuardFactory as default, } from "./route-guard-factory";
@@ -0,0 +1,4 @@
1
+ export { AuthenticationRequiredRouteGuard } from "./authenticated";
2
+ export { AdminRequiredRouteGuard } from "./admin";
3
+ export { RouteGuardFactory, RouteGuardFactory as default, } from "./route-guard-factory";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/route_guards/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,IAAI,OAAO,GAC7B,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
2
+ import type { UserData } from "@schemavaults/auth-common";
3
+ export interface InitRouteGuardCheckOptions {
4
+ user: UserData | null;
5
+ environment: SchemaVaultsAppEnvironment;
6
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=init_route_guard_check_options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init_route_guard_check_options.js","sourceRoot":"","sources":["../../src/route_guards/init_route_guard_check_options.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import type { IRouteGuard } from "./base-route-guard";
2
+ import type { InitRouteGuardCheckOptions } from "./init_route_guard_check_options";
3
+ import { type PotentiallyValidTokenSource } from "@schemavaults/auth-common";
4
+ import { type SchemaVaultsAppEnvironment } from "@schemavaults/app-definitions";
5
+ import { type IJwtKeyManager } from "../JwtKeyManager";
6
+ export interface RouteGuardFactoryInitOptions {
7
+ environment: SchemaVaultsAppEnvironment;
8
+ jwt_keys_manager?: IJwtKeyManager;
9
+ is_auth_server?: boolean;
10
+ debug?: boolean;
11
+ }
12
+ declare const GUARD_TYPES: readonly ["authenticated", "admin"];
13
+ type RouteGuardType = (typeof GUARD_TYPES)[number];
14
+ export declare class RouteGuardFactory {
15
+ private readonly jwt_keys_manager;
16
+ private readonly environment;
17
+ private readonly debug;
18
+ private readonly is_auth_server;
19
+ constructor({ environment, ...opts }: RouteGuardFactoryInitOptions);
20
+ private static isValidRouteGuardType;
21
+ createGuardFromOptions(type: RouteGuardType, opts: InitRouteGuardCheckOptions): IRouteGuard;
22
+ createGuardFromTokenSources(type: RouteGuardType, token_sources: readonly PotentiallyValidTokenSource[], jwt_audience: string): Promise<IRouteGuard>;
23
+ createGuardFromAuthHeader(type: RouteGuardType, authHeader: string | null, jwt_audience: string): Promise<IRouteGuard>;
24
+ }
25
+ export default RouteGuardFactory;
@@ -0,0 +1,155 @@
1
+ import AdminRequiredRouteGuard from "./admin";
2
+ import AuthenticationRequiredRouteGuard from "./authenticated";
3
+ import { z } from "zod";
4
+ import { decodeFirstOfSeveralJwts, } from "@schemavaults/auth-common";
5
+ import { decodeJWT as decodeSchemavaultsJwt, getKeysetIdFromToken, } from "@schemavaults/jwt";
6
+ import { apiServerIdSchema, getAppEnvironment, getHardcodedClientWebAppDomain, SCHEMAVAULTS_AUTH_APP_DEFINITION, } from "@schemavaults/app-definitions";
7
+ import loadJwtDecodingKeys from "../JwtKeyManager/loadJwtDecodingKeys";
8
+ import { RemoteJwtKeyManager } from "../JwtKeyManager";
9
+ const GUARD_TYPES = [
10
+ "authenticated",
11
+ "admin",
12
+ ];
13
+ const validGuardTypeSchema = z.string().refine((str) => {
14
+ return GUARD_TYPES.includes(str);
15
+ });
16
+ const GUARDS = {
17
+ authenticated: (opts) => new AuthenticationRequiredRouteGuard(opts),
18
+ admin: (opts) => new AdminRequiredRouteGuard(opts),
19
+ };
20
+ export class RouteGuardFactory {
21
+ jwt_keys_manager;
22
+ environment;
23
+ debug;
24
+ is_auth_server;
25
+ constructor({ environment, ...opts }) {
26
+ this.environment = environment;
27
+ this.debug = opts.debug ?? false;
28
+ if (typeof opts.is_auth_server !== "boolean" &&
29
+ typeof opts.is_auth_server !== "undefined") {
30
+ throw new TypeError("Invalid value for 'is_auth_server'");
31
+ }
32
+ this.is_auth_server = opts.is_auth_server ?? false;
33
+ if (opts.jwt_keys_manager) {
34
+ this.jwt_keys_manager = opts.jwt_keys_manager;
35
+ }
36
+ else {
37
+ if (this.is_auth_server) {
38
+ throw new TypeError("An argument for 'jwt_keys_manager' is required when 'is_auth_server' is true");
39
+ }
40
+ this.jwt_keys_manager = new RemoteJwtKeyManager({
41
+ auth_server_uri: getHardcodedClientWebAppDomain(SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id, environment),
42
+ });
43
+ }
44
+ }
45
+ static isValidRouteGuardType(type) {
46
+ if (typeof type !== "string")
47
+ return false;
48
+ return validGuardTypeSchema.safeParse(type).success;
49
+ }
50
+ createGuardFromOptions(type, opts) {
51
+ if (!RouteGuardFactory.isValidRouteGuardType(type)) {
52
+ throw new Error(`Invalid route guard type, should be one of: ${GUARD_TYPES.join(", ")}`);
53
+ }
54
+ const GUARD_LOADER = GUARDS[type];
55
+ const GUARD = GUARD_LOADER(opts);
56
+ return GUARD;
57
+ }
58
+ async createGuardFromTokenSources(type, token_sources, jwt_audience) {
59
+ const environment = this.environment;
60
+ const debug = this.debug;
61
+ if (debug) {
62
+ console.log(`[RouteGuardFactory] Initializing route guard from token sources: `, token_sources);
63
+ }
64
+ if (!apiServerIdSchema.safeParse(jwt_audience).success) {
65
+ throw new TypeError(`Invalid API server ID for 'jwt_audience': ${jwt_audience}`);
66
+ }
67
+ let user = null;
68
+ try {
69
+ user = await decodeFirstOfSeveralJwts({
70
+ token_sources,
71
+ jwt_audience,
72
+ decodeJWT: async (opts) => {
73
+ if (environment !== "production") {
74
+ console.log(`[RouteGuardFactory] Attempting to decode JWT...`);
75
+ }
76
+ let keyset_id;
77
+ try {
78
+ keyset_id = getKeysetIdFromToken(opts.token);
79
+ }
80
+ catch (e) {
81
+ console.error("Failed to load 'keyset_id' from auth token: ", e);
82
+ throw new Error("Failed to load 'keyset_id' from auth token!");
83
+ }
84
+ const keys_manager = this.jwt_keys_manager;
85
+ if (!keys_manager) {
86
+ throw new Error("Failed to resolve reference to JWT keys manager to operate this route guard!");
87
+ }
88
+ let decodingKeys;
89
+ try {
90
+ decodingKeys = await loadJwtDecodingKeys({
91
+ keyset_id,
92
+ keys_manager,
93
+ audience_id: jwt_audience,
94
+ debug,
95
+ });
96
+ if (decodingKeys.keyset_id !== keyset_id) {
97
+ throw new Error("Mismatch between the keyset ID of result and what was requested!");
98
+ }
99
+ }
100
+ catch (e) {
101
+ console.error(`Failed to load keys associated with token-associated keyset '${keyset_id}': `, e);
102
+ throw new Error("Failed to load keys associated with token-associated keyset!");
103
+ }
104
+ const { decryption_key, verification_key } = decodingKeys;
105
+ try {
106
+ return (await decodeSchemavaultsJwt({
107
+ jwt: opts.token,
108
+ type: opts.type,
109
+ audience: opts.jwt_audience,
110
+ decryption_key,
111
+ verification_key,
112
+ keyset_id,
113
+ env: environment,
114
+ }));
115
+ }
116
+ catch (e) {
117
+ console.error("Failed to decode JSON web token: ", e);
118
+ throw new Error("Failed to decode JSON web token!");
119
+ }
120
+ },
121
+ }, debug);
122
+ }
123
+ catch (e) {
124
+ console.error("No-op error creating route-guard... Failed to decode JWTs, setting user = null", e);
125
+ user = null;
126
+ }
127
+ const init_opts = {
128
+ user,
129
+ environment: getAppEnvironment(),
130
+ };
131
+ if (this.environment !== "production") {
132
+ console.log(`[RouteGuardFactory] Creating route guard with init options: `, init_opts);
133
+ }
134
+ return this.createGuardFromOptions(type, init_opts);
135
+ }
136
+ async createGuardFromAuthHeader(type, authHeader, jwt_audience) {
137
+ if (!authHeader || typeof authHeader !== "string") {
138
+ throw new Error("No auth header found");
139
+ }
140
+ const bearerPrefix = "Bearer ";
141
+ if (!authHeader.startsWith(bearerPrefix)) {
142
+ throw new Error("Auth header should have a 'Bearer' prefix");
143
+ }
144
+ const token = authHeader.slice(bearerPrefix.length);
145
+ return await this.createGuardFromTokenSources(type, [
146
+ {
147
+ sourceHint: "Auth Header Access Token",
148
+ token,
149
+ type: "access",
150
+ },
151
+ ], jwt_audience);
152
+ }
153
+ }
154
+ export default RouteGuardFactory;
155
+ //# sourceMappingURL=route-guard-factory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route-guard-factory.js","sourceRoot":"","sources":["../../src/route_guards/route-guard-factory.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@schemavaults/auth-server-sdk",
3
+ "description": "TypeScript SDK for building authenticated endpoints/middlewares for the Auth Server and Resource Servers",
4
+ "version": "0.17.2",
5
+ "license": "UNLICENSED",
6
+ "private": false,
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/schemavaults/auth.git",
10
+ "directory": "packages/auth-server-sdk"
11
+ },
12
+ "type": "module",
13
+ "main": "dist/index.js",
14
+ "module": "dist/index.js",
15
+ "types": "dist/index.d.ts",
16
+ "dependencies": {
17
+ "zod": "3.23.8",
18
+ "@schemavaults/jwt": "0.6.13",
19
+ "@schemavaults/auth-common": "0.7.27",
20
+ "@schemavaults/app-definitions": "0.6.1"
21
+ },
22
+ "scripts": {
23
+ "build": "tsc --project tsconfig.json && tsc-alias --project tsconfig.json",
24
+ "test": "NODE_ENV=test bun test",
25
+ "cleanup:compiled-tests-output": "find ./dist -type f \\( -name \"*.test.js\" -o -name \"*.test.js.map\" -o -name \"*.test.d.ts\" \\) -delete",
26
+ "cleanup": "bun run cleanup:compiled-tests-output",
27
+ "postbuild": "bun run cleanup",
28
+ "lint": "eslint src --ext .ts,.tsx"
29
+ },
30
+ "devDependencies": {
31
+ "typescript": "5.9.3",
32
+ "bun-types": "1.3.6",
33
+ "tsc-alias": "1.8.15",
34
+ "next": "16.0.10",
35
+ "eslint": "9.39.1",
36
+ "@eslint/js": "9.39.1",
37
+ "globals": "16.5.0",
38
+ "@typescript-eslint/eslint-plugin": "8.48.1",
39
+ "@typescript-eslint/parser": "8.48.1"
40
+ },
41
+ "publishConfig": {
42
+ "access": "public"
43
+ },
44
+ "packageManager": "bun@1.3.6"
45
+ }