@nestjs-kitchen/authz 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -0
- package/dist/authz.provider.d.ts +7 -0
- package/dist/authz.provider.js +34 -0
- package/dist/constants.d.ts +11 -0
- package/dist/constants.js +46 -0
- package/dist/errors.d.ts +12 -0
- package/dist/errors.js +60 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +43 -0
- package/dist/jwt/extract-jwt.d.ts +71 -0
- package/dist/jwt/extract-jwt.js +162 -0
- package/dist/jwt/index.d.ts +16 -0
- package/dist/jwt/index.js +30 -0
- package/dist/jwt/jwt-authz-als.middleware.d.ts +28 -0
- package/dist/jwt/jwt-authz-als.middleware.js +83 -0
- package/dist/jwt/jwt-authz.guard.d.ts +60 -0
- package/dist/jwt/jwt-authz.guard.js +182 -0
- package/dist/jwt/jwt-authz.interface.d.ts +58 -0
- package/dist/jwt/jwt-authz.interface.js +94 -0
- package/dist/jwt/jwt-authz.module.d.ts +80 -0
- package/dist/jwt/jwt-authz.module.js +244 -0
- package/dist/jwt/jwt-authz.service.d.ts +33 -0
- package/dist/jwt/jwt-authz.service.js +144 -0
- package/dist/jwt/jwt-authz.strategy.d.ts +40 -0
- package/dist/jwt/jwt-authz.strategy.js +194 -0
- package/dist/session/index.d.ts +12 -0
- package/dist/session/index.js +27 -0
- package/dist/session/session-authz-als.middleware.d.ts +25 -0
- package/dist/session/session-authz-als.middleware.js +134 -0
- package/dist/session/session-authz.guard.d.ts +43 -0
- package/dist/session/session-authz.guard.js +142 -0
- package/dist/session/session-authz.interface.d.ts +23 -0
- package/dist/session/session-authz.interface.js +43 -0
- package/dist/session/session-authz.module.d.ts +71 -0
- package/dist/session/session-authz.module.js +245 -0
- package/dist/session/session-authz.service.d.ts +20 -0
- package/dist/session/session-authz.service.js +93 -0
- package/dist/session/session-authz.strategy.d.ts +24 -0
- package/dist/session/session-authz.strategy.js +107 -0
- package/dist/user.decorator.d.ts +6 -0
- package/dist/user.decorator.js +36 -0
- package/dist/utils/cookie-parsers.d.ts +12 -0
- package/dist/utils/cookie-parsers.js +77 -0
- package/dist/utils/create-authz-decorator-factory.d.ts +9 -0
- package/dist/utils/create-authz-decorator-factory.js +56 -0
- package/dist/utils/create-set-cookie-fn.d.ts +9 -0
- package/dist/utils/create-set-cookie-fn.js +46 -0
- package/dist/utils/generics.d.ts +6 -0
- package/dist/utils/generics.js +66 -0
- package/dist/utils/get-allow-anonymous.d.ts +11 -0
- package/dist/utils/get-allow-anonymous.js +30 -0
- package/dist/utils/get-als-store.d.ts +5 -0
- package/dist/utils/get-als-store.js +35 -0
- package/dist/utils/get-context-authz-meta-params-list.d.ts +12 -0
- package/dist/utils/get-context-authz-meta-params-list.js +36 -0
- package/dist/utils/get-passport-property.d.ts +3 -0
- package/dist/utils/get-passport-property.js +31 -0
- package/dist/utils/index.d.ts +16 -0
- package/dist/utils/index.js +41 -0
- package/dist/utils/merge-dynamic-module-configs.d.ts +5 -0
- package/dist/utils/merge-dynamic-module-configs.js +50 -0
- package/dist/utils/msgpackrs.d.ts +4 -0
- package/dist/utils/msgpackrs.js +37 -0
- package/dist/utils/types.d.ts +56 -0
- package/dist/utils/types.js +15 -0
- package/package.json +68 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var create_authz_decorator_factory_exports = {};
|
|
20
|
+
__export(create_authz_decorator_factory_exports, {
|
|
21
|
+
createAuthzDecoratorFactory: () => createAuthzDecoratorFactory
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(create_authz_decorator_factory_exports);
|
|
24
|
+
var import_common = require("@nestjs/common");
|
|
25
|
+
const isOptions = /* @__PURE__ */ __name((val) => {
|
|
26
|
+
if (!val) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
const keySet = new Set(Object.keys(val));
|
|
30
|
+
if (keySet.size === 1) {
|
|
31
|
+
return keySet.has("override") || keySet.has("allowAnonymous");
|
|
32
|
+
}
|
|
33
|
+
if (keySet.size === 2) {
|
|
34
|
+
return keySet.has("override") && keySet.has("allowAnonymous");
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}, "isOptions");
|
|
38
|
+
const createAuthzDecoratorFactory = /* @__PURE__ */ __name((metaKey) => (...args) => {
|
|
39
|
+
const [metaDataOrOptions, optionsOrUndefined] = args;
|
|
40
|
+
let metaData;
|
|
41
|
+
let options;
|
|
42
|
+
if (isOptions(metaDataOrOptions)) {
|
|
43
|
+
options = metaDataOrOptions;
|
|
44
|
+
} else {
|
|
45
|
+
metaData = metaDataOrOptions;
|
|
46
|
+
options = optionsOrUndefined;
|
|
47
|
+
}
|
|
48
|
+
return (0, import_common.SetMetadata)(metaKey, {
|
|
49
|
+
metaData,
|
|
50
|
+
options
|
|
51
|
+
});
|
|
52
|
+
}, "createAuthzDecoratorFactory");
|
|
53
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
54
|
+
0 && (module.exports = {
|
|
55
|
+
createAuthzDecoratorFactory
|
|
56
|
+
});
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
2
|
+
import { CookieOptionsWithSecret } from './types.js';
|
|
3
|
+
import '@nestjs/common';
|
|
4
|
+
import '@nestjs/common/interfaces';
|
|
5
|
+
import '../authz.provider.js';
|
|
6
|
+
|
|
7
|
+
declare const createSetCookieFn: (req: Request, res: Response) => (name: string, value: string, options?: CookieOptionsWithSecret) => void;
|
|
8
|
+
|
|
9
|
+
export { createSetCookieFn };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var create_set_cookie_fn_exports = {};
|
|
20
|
+
__export(create_set_cookie_fn_exports, {
|
|
21
|
+
createSetCookieFn: () => createSetCookieFn
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(create_set_cookie_fn_exports);
|
|
24
|
+
var import_generics = require("./generics");
|
|
25
|
+
const createSetCookieFn = /* @__PURE__ */ __name((req, res) => (name, value, options = {}) => {
|
|
26
|
+
const { secret, signed: optSigned, ...restOpts } = options;
|
|
27
|
+
const secrets = (0, import_generics.normalizedArray)(secret) ?? [];
|
|
28
|
+
const signed = optSigned ?? Boolean(secrets.length);
|
|
29
|
+
const reqSecret = req.secret;
|
|
30
|
+
if (signed) {
|
|
31
|
+
if (secrets.length) {
|
|
32
|
+
req.secret = secrets[0];
|
|
33
|
+
}
|
|
34
|
+
} else {
|
|
35
|
+
req.secret = void 0;
|
|
36
|
+
}
|
|
37
|
+
res.cookie(name, value, {
|
|
38
|
+
signed,
|
|
39
|
+
...restOpts
|
|
40
|
+
});
|
|
41
|
+
req.secret = reqSecret;
|
|
42
|
+
}, "createSetCookieFn");
|
|
43
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
44
|
+
0 && (module.exports = {
|
|
45
|
+
createSetCookieFn
|
|
46
|
+
});
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
declare const isNotFalsy: <T>(val: T) => val is T;
|
|
2
|
+
declare const normalizedArray: <T>(val?: T | T[]) => undefined extends T ? T[] | undefined : NonNullable<T>[];
|
|
3
|
+
declare const normalizedObject: <T extends Record<string, any>>(obj?: T) => T | undefined;
|
|
4
|
+
declare const merge: <T extends Record<string, any>, U extends Record<string, any>>(obj1: T, obj2?: U) => T & U;
|
|
5
|
+
|
|
6
|
+
export { isNotFalsy, merge, normalizedArray, normalizedObject };
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var generics_exports = {};
|
|
20
|
+
__export(generics_exports, {
|
|
21
|
+
isNotFalsy: () => isNotFalsy,
|
|
22
|
+
merge: () => merge,
|
|
23
|
+
normalizedArray: () => normalizedArray,
|
|
24
|
+
normalizedObject: () => normalizedObject
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(generics_exports);
|
|
27
|
+
const isNotFalsy = /* @__PURE__ */ __name((val) => {
|
|
28
|
+
return val !== void 0 && val !== null && !Number.isNaN(val);
|
|
29
|
+
}, "isNotFalsy");
|
|
30
|
+
const normalizedArray = /* @__PURE__ */ __name((val) => {
|
|
31
|
+
if (!val) {
|
|
32
|
+
return void 0;
|
|
33
|
+
}
|
|
34
|
+
return (Array.isArray(val) ? val : [
|
|
35
|
+
val
|
|
36
|
+
]).filter(isNotFalsy);
|
|
37
|
+
}, "normalizedArray");
|
|
38
|
+
const normalizedObject = /* @__PURE__ */ __name((obj) => {
|
|
39
|
+
if (!obj) {
|
|
40
|
+
return void 0;
|
|
41
|
+
}
|
|
42
|
+
const entries = Object.entries(obj);
|
|
43
|
+
if (!entries.length) {
|
|
44
|
+
return void 0;
|
|
45
|
+
}
|
|
46
|
+
const filtered = entries.filter(([_, value]) => value !== void 0);
|
|
47
|
+
if (!filtered.length) {
|
|
48
|
+
return void 0;
|
|
49
|
+
}
|
|
50
|
+
return Object.fromEntries(filtered);
|
|
51
|
+
}, "normalizedObject");
|
|
52
|
+
const merge = /* @__PURE__ */ __name((obj1, obj2) => {
|
|
53
|
+
if (obj1 && obj2) {
|
|
54
|
+
for (var key in obj2) {
|
|
55
|
+
obj1[key] = obj2[key];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return obj1;
|
|
59
|
+
}, "merge");
|
|
60
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
61
|
+
0 && (module.exports = {
|
|
62
|
+
isNotFalsy,
|
|
63
|
+
merge,
|
|
64
|
+
normalizedArray,
|
|
65
|
+
normalizedObject
|
|
66
|
+
});
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AuthzMetaParams } from './types.js';
|
|
2
|
+
import '@nestjs/common';
|
|
3
|
+
import '@nestjs/common/interfaces';
|
|
4
|
+
import 'express';
|
|
5
|
+
import '../authz.provider.js';
|
|
6
|
+
|
|
7
|
+
declare const getAllowAnonymous: (authzMetaCollection: AuthzMetaParams[], options?: {
|
|
8
|
+
defaultAllowAnonymous?: boolean;
|
|
9
|
+
}) => boolean;
|
|
10
|
+
|
|
11
|
+
export { getAllowAnonymous };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var get_allow_anonymous_exports = {};
|
|
20
|
+
__export(get_allow_anonymous_exports, {
|
|
21
|
+
getAllowAnonymous: () => getAllowAnonymous
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(get_allow_anonymous_exports);
|
|
24
|
+
const getAllowAnonymous = /* @__PURE__ */ __name((authzMetaCollection, options) => {
|
|
25
|
+
return options?.defaultAllowAnonymous || Boolean(authzMetaCollection[authzMetaCollection.length - 1]?.options?.allowAnonymous);
|
|
26
|
+
}, "getAllowAnonymous");
|
|
27
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
28
|
+
0 && (module.exports = {
|
|
29
|
+
getAllowAnonymous
|
|
30
|
+
});
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var get_als_store_exports = {};
|
|
20
|
+
__export(get_als_store_exports, {
|
|
21
|
+
getAlsStore: () => getAlsStore
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(get_als_store_exports);
|
|
24
|
+
var import_errors = require("../errors");
|
|
25
|
+
const getAlsStore = /* @__PURE__ */ __name((als) => {
|
|
26
|
+
const store = als.getStore();
|
|
27
|
+
if (!store) {
|
|
28
|
+
throw new import_errors.AuthzError(`InternalError: Unable to retrieve user data`);
|
|
29
|
+
}
|
|
30
|
+
return store;
|
|
31
|
+
}, "getAlsStore");
|
|
32
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
33
|
+
0 && (module.exports = {
|
|
34
|
+
getAlsStore
|
|
35
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AuthzMetaParams } from './types.js';
|
|
2
|
+
import '@nestjs/common';
|
|
3
|
+
import '@nestjs/common/interfaces';
|
|
4
|
+
import 'express';
|
|
5
|
+
import '../authz.provider.js';
|
|
6
|
+
|
|
7
|
+
declare const getContextAuthzMetaParamsList: (authzMetaCollection: AuthzMetaParams[], options?: {
|
|
8
|
+
defaultOverride?: boolean;
|
|
9
|
+
skipFalsyMetadata?: boolean;
|
|
10
|
+
}) => AuthzMetaParams[];
|
|
11
|
+
|
|
12
|
+
export { getContextAuthzMetaParamsList };
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var get_context_authz_meta_params_list_exports = {};
|
|
20
|
+
__export(get_context_authz_meta_params_list_exports, {
|
|
21
|
+
getContextAuthzMetaParamsList: () => getContextAuthzMetaParamsList
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(get_context_authz_meta_params_list_exports);
|
|
24
|
+
var import_generics = require("./generics");
|
|
25
|
+
const getContextAuthzMetaParamsList = /* @__PURE__ */ __name((authzMetaCollection, options) => {
|
|
26
|
+
const lastOverrideIdx = options?.defaultOverride ? authzMetaCollection.length - 1 : authzMetaCollection.findLastIndex((ele) => ele?.options?.override);
|
|
27
|
+
const contextAuthzMetaCollection = authzMetaCollection.slice(lastOverrideIdx === -1 ? 0 : lastOverrideIdx).filter((ele) => !ele.options?.public);
|
|
28
|
+
if (options?.skipFalsyMetadata) {
|
|
29
|
+
return contextAuthzMetaCollection.filter((ele) => (0, import_generics.isNotFalsy)(ele.metaData));
|
|
30
|
+
}
|
|
31
|
+
return contextAuthzMetaCollection;
|
|
32
|
+
}, "getContextAuthzMetaParamsList");
|
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
+
0 && (module.exports = {
|
|
35
|
+
getContextAuthzMetaParamsList
|
|
36
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var get_passport_property_exports = {};
|
|
20
|
+
__export(get_passport_property_exports, {
|
|
21
|
+
getPassportProperty: () => getPassportProperty
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(get_passport_property_exports);
|
|
24
|
+
var import_constants = require("../constants");
|
|
25
|
+
const getPassportProperty = /* @__PURE__ */ __name((request) => {
|
|
26
|
+
return request[request[import_constants.PASSPORT_PROPERTY]];
|
|
27
|
+
}, "getPassportProperty");
|
|
28
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
29
|
+
0 && (module.exports = {
|
|
30
|
+
getPassportProperty
|
|
31
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export { customCookieParser, normalCookieParser } from './cookie-parsers.js';
|
|
2
|
+
export { createAuthzDecoratorFactory } from './create-authz-decorator-factory.js';
|
|
3
|
+
export { createSetCookieFn } from './create-set-cookie-fn.js';
|
|
4
|
+
export { isNotFalsy, merge, normalizedArray, normalizedObject } from './generics.js';
|
|
5
|
+
export { getAllowAnonymous } from './get-allow-anonymous.js';
|
|
6
|
+
export { getAlsStore } from './get-als-store.js';
|
|
7
|
+
export { getContextAuthzMetaParamsList } from './get-context-authz-meta-params-list.js';
|
|
8
|
+
export { getPassportProperty } from './get-passport-property.js';
|
|
9
|
+
export { mergeDynamicModuleConfigs } from './merge-dynamic-module-configs.js';
|
|
10
|
+
export { decodeMsgpackrString, encodeMsgpackrString } from './msgpackrs.js';
|
|
11
|
+
export { AbstractConstructor, ApplyDecorators, AuthzDecoBaseOptions, AuthzDecoOptions, AuthzDecoParams, AuthzMetaParams, AuthzModuleBaseOptions, AuthzModuleRoutesOptions, CookieOptionsWithSecret, IncludesUndefined, IsEqual, IsNull, IsUnknown, MethodParameters, OmitClassInstance, RoutesOptions, SetRequired, SingleOrArray } from './types.js';
|
|
12
|
+
import 'express';
|
|
13
|
+
import '../authz.provider.js';
|
|
14
|
+
import 'node:async_hooks';
|
|
15
|
+
import '@nestjs/common';
|
|
16
|
+
import '@nestjs/common/interfaces';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
15
|
+
var utils_exports = {};
|
|
16
|
+
module.exports = __toCommonJS(utils_exports);
|
|
17
|
+
__reExport(utils_exports, require("./cookie-parsers"), module.exports);
|
|
18
|
+
__reExport(utils_exports, require("./create-authz-decorator-factory"), module.exports);
|
|
19
|
+
__reExport(utils_exports, require("./create-set-cookie-fn"), module.exports);
|
|
20
|
+
__reExport(utils_exports, require("./generics"), module.exports);
|
|
21
|
+
__reExport(utils_exports, require("./get-allow-anonymous"), module.exports);
|
|
22
|
+
__reExport(utils_exports, require("./get-als-store"), module.exports);
|
|
23
|
+
__reExport(utils_exports, require("./get-context-authz-meta-params-list"), module.exports);
|
|
24
|
+
__reExport(utils_exports, require("./get-passport-property"), module.exports);
|
|
25
|
+
__reExport(utils_exports, require("./merge-dynamic-module-configs"), module.exports);
|
|
26
|
+
__reExport(utils_exports, require("./msgpackrs"), module.exports);
|
|
27
|
+
__reExport(utils_exports, require("./types"), module.exports);
|
|
28
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
29
|
+
0 && (module.exports = {
|
|
30
|
+
...require("./cookie-parsers"),
|
|
31
|
+
...require("./create-authz-decorator-factory"),
|
|
32
|
+
...require("./create-set-cookie-fn"),
|
|
33
|
+
...require("./generics"),
|
|
34
|
+
...require("./get-allow-anonymous"),
|
|
35
|
+
...require("./get-als-store"),
|
|
36
|
+
...require("./get-context-authz-meta-params-list"),
|
|
37
|
+
...require("./get-passport-property"),
|
|
38
|
+
...require("./merge-dynamic-module-configs"),
|
|
39
|
+
...require("./msgpackrs"),
|
|
40
|
+
...require("./types")
|
|
41
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var merge_dynamic_module_configs_exports = {};
|
|
20
|
+
__export(merge_dynamic_module_configs_exports, {
|
|
21
|
+
mergeDynamicModuleConfigs: () => mergeDynamicModuleConfigs
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(merge_dynamic_module_configs_exports);
|
|
24
|
+
const mergeDynamicModuleConfigs = /* @__PURE__ */ __name((...configs) => {
|
|
25
|
+
const merged = configs.reduce((acc, curr) => ({
|
|
26
|
+
global: acc?.global || curr?.global,
|
|
27
|
+
module: acc?.module || curr?.module,
|
|
28
|
+
imports: [
|
|
29
|
+
...acc?.imports || [],
|
|
30
|
+
...curr?.imports || []
|
|
31
|
+
],
|
|
32
|
+
controllers: [
|
|
33
|
+
...acc?.controllers || [],
|
|
34
|
+
...curr?.controllers || []
|
|
35
|
+
],
|
|
36
|
+
providers: [
|
|
37
|
+
...acc?.providers || [],
|
|
38
|
+
...curr?.providers || []
|
|
39
|
+
],
|
|
40
|
+
exports: [
|
|
41
|
+
...acc?.exports || [],
|
|
42
|
+
...curr?.exports || []
|
|
43
|
+
]
|
|
44
|
+
}), {});
|
|
45
|
+
return merged;
|
|
46
|
+
}, "mergeDynamicModuleConfigs");
|
|
47
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
48
|
+
0 && (module.exports = {
|
|
49
|
+
mergeDynamicModuleConfigs
|
|
50
|
+
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var msgpackrs_exports = {};
|
|
20
|
+
__export(msgpackrs_exports, {
|
|
21
|
+
decodeMsgpackrString: () => decodeMsgpackrString,
|
|
22
|
+
encodeMsgpackrString: () => encodeMsgpackrString
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(msgpackrs_exports);
|
|
25
|
+
var import_msgpackr = require("msgpackr");
|
|
26
|
+
const packr = new import_msgpackr.Packr();
|
|
27
|
+
const encodeMsgpackrString = /* @__PURE__ */ __name((payload) => {
|
|
28
|
+
return Buffer.from(packr.pack(payload)).toString("base64");
|
|
29
|
+
}, "encodeMsgpackrString");
|
|
30
|
+
const decodeMsgpackrString = /* @__PURE__ */ __name((msgpackrString) => {
|
|
31
|
+
return packr.unpack(Buffer.from(msgpackrString, "base64"));
|
|
32
|
+
}, "decodeMsgpackrString");
|
|
33
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
34
|
+
0 && (module.exports = {
|
|
35
|
+
decodeMsgpackrString,
|
|
36
|
+
encodeMsgpackrString
|
|
37
|
+
});
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { applyDecorators } from '@nestjs/common';
|
|
2
|
+
import { Type, RouteInfo } from '@nestjs/common/interfaces';
|
|
3
|
+
import { CookieOptions } from 'express';
|
|
4
|
+
import { AuthzProviderClass } from '../authz.provider.js';
|
|
5
|
+
|
|
6
|
+
type OmitClassInstance<T extends abstract new (...args: any) => any, K extends keyof any> = Type<Omit<InstanceType<T>, K>>;
|
|
7
|
+
type SetRequired<T, K extends keyof T> = T & {
|
|
8
|
+
[P in K]-?: NonNullable<T[P]>;
|
|
9
|
+
};
|
|
10
|
+
type IsEqual<A, B> = (<G>() => G extends A ? 1 : 2) extends <G>() => G extends B ? 1 : 2 ? true : false;
|
|
11
|
+
type IsNull<T> = [T] extends [null] ? true : false;
|
|
12
|
+
type IsUnknown<T> = unknown extends T ? IsNull<T> extends false ? true : false : false;
|
|
13
|
+
type CookieOptionsWithSecret = CookieOptions & {
|
|
14
|
+
/**
|
|
15
|
+
* a string or array used to sign cookies.
|
|
16
|
+
*/
|
|
17
|
+
secret?: string | string[];
|
|
18
|
+
};
|
|
19
|
+
interface AuthzDecoBaseOptions {
|
|
20
|
+
override?: boolean;
|
|
21
|
+
allowAnonymous?: boolean;
|
|
22
|
+
}
|
|
23
|
+
interface AuthzDecoOptions extends AuthzDecoBaseOptions {
|
|
24
|
+
public?: boolean;
|
|
25
|
+
}
|
|
26
|
+
interface AuthzMetaParams {
|
|
27
|
+
metaData?: unknown;
|
|
28
|
+
options?: AuthzDecoOptions;
|
|
29
|
+
}
|
|
30
|
+
type AuthzDecoParams<MetaData> = IsUnknown<MetaData> extends false ? IncludesUndefined<MetaData> extends false ? [metaData: MetaData, options?: AuthzDecoBaseOptions] : IsEqual<MetaData, undefined> extends false ? [metaData?: MetaData, options?: AuthzDecoBaseOptions] : [options?: AuthzDecoBaseOptions] : [options?: AuthzDecoBaseOptions];
|
|
31
|
+
type SingleOrArray<T> = T | T[];
|
|
32
|
+
type IncludesUndefined<T> = undefined extends T ? true : false;
|
|
33
|
+
type AbstractConstructor<T, T1, T2> = new (...args: any[]) => T & AuthzProviderClass<T1, T2>;
|
|
34
|
+
type MethodParameters<T, Method extends keyof T> = T[Method] extends (...args: infer P) => any ? P : never;
|
|
35
|
+
interface AuthzModuleBaseOptions {
|
|
36
|
+
passportProperty: string;
|
|
37
|
+
defaultOverride: boolean;
|
|
38
|
+
skipFalsyMetadata: boolean;
|
|
39
|
+
defaultAllowAnonymous: boolean;
|
|
40
|
+
}
|
|
41
|
+
type AuthzModuleRoutesOptions = {
|
|
42
|
+
global?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Note: DO NOT register the same controller in different modules, their middlewares will not work properly. This is an Nest.js design. Pleases use string instead if requires.
|
|
45
|
+
*/
|
|
46
|
+
routes?: SingleOrArray<string | Type | RouteInfo>;
|
|
47
|
+
excludes?: SingleOrArray<string | RouteInfo>;
|
|
48
|
+
};
|
|
49
|
+
type RoutesOptions = {
|
|
50
|
+
global: boolean;
|
|
51
|
+
routes: (string | Type | RouteInfo)[];
|
|
52
|
+
excludes: (string | RouteInfo)[];
|
|
53
|
+
};
|
|
54
|
+
type ApplyDecorators = ReturnType<typeof applyDecorators>;
|
|
55
|
+
|
|
56
|
+
export type { AbstractConstructor, ApplyDecorators, AuthzDecoBaseOptions, AuthzDecoOptions, AuthzDecoParams, AuthzMetaParams, AuthzModuleBaseOptions, AuthzModuleRoutesOptions, CookieOptionsWithSecret, IncludesUndefined, IsEqual, IsNull, IsUnknown, MethodParameters, OmitClassInstance, RoutesOptions, SetRequired, SingleOrArray };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __copyProps = (to, from, except, desc) => {
|
|
6
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
7
|
+
for (let key of __getOwnPropNames(from))
|
|
8
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
9
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
10
|
+
}
|
|
11
|
+
return to;
|
|
12
|
+
};
|
|
13
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
14
|
+
var types_exports = {};
|
|
15
|
+
module.exports = __toCommonJS(types_exports);
|