@spinajs/rbac-http 2.0.502 → 2.0.505
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/lib/cjs/decorators.d.ts +10 -1
- package/lib/cjs/decorators.d.ts.map +1 -1
- package/lib/cjs/decorators.js +9 -2
- package/lib/cjs/decorators.js.map +1 -1
- package/lib/cjs/interfaces.d.ts +14 -0
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +19 -0
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/mjs/decorators.d.ts +10 -1
- package/lib/mjs/decorators.d.ts.map +1 -1
- package/lib/mjs/decorators.js +9 -2
- package/lib/mjs/decorators.js.map +1 -1
- package/lib/mjs/interfaces.d.ts +14 -0
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +19 -0
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +10 -10
package/lib/cjs/decorators.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { IRbacDescriptor } from './interfaces.js';
|
|
2
|
+
import { BasePolicy } from '@spinajs/http';
|
|
2
3
|
import { PermissionType } from '@spinajs/rbac';
|
|
4
|
+
import { Constructor } from '@spinajs/di';
|
|
3
5
|
/**
|
|
4
6
|
* Global symbol so external packages (e.g. http-swagger) can read the RBAC
|
|
5
7
|
* descriptor via Reflect metadata without importing rbac-http.
|
|
@@ -20,9 +22,16 @@ export declare function Resource(resource: string, permission?: PermissionType[]
|
|
|
20
22
|
*
|
|
21
23
|
* Assigns permission for controller route
|
|
22
24
|
*
|
|
25
|
+
* `also` policies join `RbacPolicy` in the SAME policy group, so they are
|
|
26
|
+
* combined with AND: the caller must pass the permission check and every extra
|
|
27
|
+
* policy. Declaring them with a separate `@Policy()` would put them in their
|
|
28
|
+
* own group, which `@spinajs/http` combines with OR at the same scope - and
|
|
29
|
+
* `RbacPolicy` passing on its own would then be enough to open the route.
|
|
30
|
+
*
|
|
23
31
|
* @param permission - permission to set
|
|
32
|
+
* @param also - additional policies this route requires alongside the permission check
|
|
24
33
|
*/
|
|
25
|
-
export declare function Permission(permission?: PermissionType[]): any;
|
|
34
|
+
export declare function Permission(permission?: PermissionType[], ...also: Constructor<BasePolicy>[]): any;
|
|
26
35
|
/**
|
|
27
36
|
* Disables RbacModelPermissionMiddleware for controller action ( or whole controller when applied to class ).
|
|
28
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,UAAU,EAA6G,MAAM,eAAe,CAAC;AAEtJ,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAA0B,MAAM,aAAa,CAAC;AAGlE;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eAAiD,CAAC;AAuFxF,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,QAMrF;AAYD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,EAAE,OAevE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,cAAc,EAAgB,EAAE,GAAG,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,OAgBxG;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,0GAalC;AAED;;GAEG;AACH,wBAAgB,IAAI,0GAEnB;AAED;;GAEG;AACH,wBAAgB,WAAW,0GAE1B;AAED,wBAAgB,OAAO,0GAEtB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,0GAExB"}
|
package/lib/cjs/decorators.js
CHANGED
|
@@ -132,9 +132,16 @@ function Resource(resource, permission) {
|
|
|
132
132
|
*
|
|
133
133
|
* Assigns permission for controller route
|
|
134
134
|
*
|
|
135
|
+
* `also` policies join `RbacPolicy` in the SAME policy group, so they are
|
|
136
|
+
* combined with AND: the caller must pass the permission check and every extra
|
|
137
|
+
* policy. Declaring them with a separate `@Policy()` would put them in their
|
|
138
|
+
* own group, which `@spinajs/http` combines with OR at the same scope - and
|
|
139
|
+
* `RbacPolicy` passing on its own would then be enough to open the route.
|
|
140
|
+
*
|
|
135
141
|
* @param permission - permission to set
|
|
142
|
+
* @param also - additional policies this route requires alongside the permission check
|
|
136
143
|
*/
|
|
137
|
-
function Permission(permission = ['readOwn']) {
|
|
144
|
+
function Permission(permission = ['readOwn'], ...also) {
|
|
138
145
|
return descriptor((metadata, target, propertyKey) => {
|
|
139
146
|
if (propertyKey) {
|
|
140
147
|
// Always set, never guarded by `has()`: routes are inherited per member
|
|
@@ -147,7 +154,7 @@ function Permission(permission = ['readOwn']) {
|
|
|
147
154
|
Permission: permission,
|
|
148
155
|
});
|
|
149
156
|
}
|
|
150
|
-
(0, http_1.Policy)(RbacPolicy_js_1.RbacPolicy)(target, propertyKey, undefined);
|
|
157
|
+
(0, http_1.Policy)([RbacPolicy_js_1.RbacPolicy, ...also])(target, propertyKey, undefined);
|
|
151
158
|
});
|
|
152
159
|
}
|
|
153
160
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/interfaces.d.ts
CHANGED
|
@@ -166,6 +166,20 @@ export declare abstract class TwoFactorAuthProvider {
|
|
|
166
166
|
* generate secret key if this provider use is needs it or null
|
|
167
167
|
*/
|
|
168
168
|
abstract initialize(user: User): Promise<any | null>;
|
|
169
|
+
/**
|
|
170
|
+
* Generate and store the secret WITHOUT switching 2fa on. The account is left
|
|
171
|
+
* pending: it has a device to verify against, but the login check does not
|
|
172
|
+
* demand a code yet.
|
|
173
|
+
*
|
|
174
|
+
* Providers that cannot express a pending state may leave this unimplemented;
|
|
175
|
+
* only the routes that confirm enrolment call it.
|
|
176
|
+
*/
|
|
177
|
+
beginEnrolment(_user: User): Promise<any | null>;
|
|
178
|
+
/**
|
|
179
|
+
* Switch 2fa on for an account whose secret was already stored by
|
|
180
|
+
* {@link beginEnrolment}.
|
|
181
|
+
*/
|
|
182
|
+
activate(_user: User): Promise<void>;
|
|
169
183
|
/**
|
|
170
184
|
* Disable for user 2fa
|
|
171
185
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/interfaces.js
CHANGED
|
@@ -1,7 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FingerprintProvider = exports.TwoFactorAuthProvider = void 0;
|
|
4
|
+
const exceptions_1 = require("@spinajs/exceptions");
|
|
4
5
|
class TwoFactorAuthProvider {
|
|
6
|
+
/**
|
|
7
|
+
* Generate and store the secret WITHOUT switching 2fa on. The account is left
|
|
8
|
+
* pending: it has a device to verify against, but the login check does not
|
|
9
|
+
* demand a code yet.
|
|
10
|
+
*
|
|
11
|
+
* Providers that cannot express a pending state may leave this unimplemented;
|
|
12
|
+
* only the routes that confirm enrolment call it.
|
|
13
|
+
*/
|
|
14
|
+
beginEnrolment(_user) {
|
|
15
|
+
throw new exceptions_1.MethodNotImplemented('this 2fa provider does not support pending enrolment');
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Switch 2fa on for an account whose secret was already stored by
|
|
19
|
+
* {@link beginEnrolment}.
|
|
20
|
+
*/
|
|
21
|
+
activate(_user) {
|
|
22
|
+
throw new exceptions_1.MethodNotImplemented('this 2fa provider does not support pending enrolment');
|
|
23
|
+
}
|
|
5
24
|
}
|
|
6
25
|
exports.TwoFactorAuthProvider = TwoFactorAuthProvider;
|
|
7
26
|
class FingerprintProvider {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":";;;AACA,oDAA2D;AAmM3D;IAME;;;;;;;OAOG;IACI,cAAc,CAAC,KAAW;QAC/B,MAAM,IAAI,iCAAoB,CAAC,sDAAsD,CAAC,CAAC;IACzF,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAW;QACzB,MAAM,IAAI,iCAAoB,CAAC,sDAAsD,CAAC,CAAC;IACzF,CAAC;CAsCF;;AAED;CAA4C"}
|
package/lib/mjs/decorators.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { IRbacDescriptor } from './interfaces.js';
|
|
2
|
+
import { BasePolicy } from '@spinajs/http';
|
|
2
3
|
import { PermissionType } from '@spinajs/rbac';
|
|
4
|
+
import { Constructor } from '@spinajs/di';
|
|
3
5
|
/**
|
|
4
6
|
* Global symbol so external packages (e.g. http-swagger) can read the RBAC
|
|
5
7
|
* descriptor via Reflect metadata without importing rbac-http.
|
|
@@ -20,9 +22,16 @@ export declare function Resource(resource: string, permission?: PermissionType[]
|
|
|
20
22
|
*
|
|
21
23
|
* Assigns permission for controller route
|
|
22
24
|
*
|
|
25
|
+
* `also` policies join `RbacPolicy` in the SAME policy group, so they are
|
|
26
|
+
* combined with AND: the caller must pass the permission check and every extra
|
|
27
|
+
* policy. Declaring them with a separate `@Policy()` would put them in their
|
|
28
|
+
* own group, which `@spinajs/http` combines with OR at the same scope - and
|
|
29
|
+
* `RbacPolicy` passing on its own would then be enough to open the route.
|
|
30
|
+
*
|
|
23
31
|
* @param permission - permission to set
|
|
32
|
+
* @param also - additional policies this route requires alongside the permission check
|
|
24
33
|
*/
|
|
25
|
-
export declare function Permission(permission?: PermissionType[]): any;
|
|
34
|
+
export declare function Permission(permission?: PermissionType[], ...also: Constructor<BasePolicy>[]): any;
|
|
26
35
|
/**
|
|
27
36
|
* Disables RbacModelPermissionMiddleware for controller action ( or whole controller when applied to class ).
|
|
28
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"decorators.d.ts","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAkC,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,UAAU,EAA6G,MAAM,eAAe,CAAC;AAEtJ,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,WAAW,EAA0B,MAAM,aAAa,CAAC;AAGlE;;;GAGG;AACH,eAAO,MAAM,yBAAyB,eAAiD,CAAC;AAuFxF,wBAAgB,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,IAAI,QAMrF;AAYD;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,EAAE,OAevE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,UAAU,GAAE,cAAc,EAAgB,EAAE,GAAG,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,EAAE,OAgBxG;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,0GAalC;AAED;;GAEG;AACH,wBAAgB,IAAI,0GAEnB;AAED;;GAEG;AACH,wBAAgB,WAAW,0GAE1B;AAED,wBAAgB,OAAO,0GAEtB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,0GAExB"}
|
package/lib/mjs/decorators.js
CHANGED
|
@@ -121,9 +121,16 @@ export function Resource(resource, permission) {
|
|
|
121
121
|
*
|
|
122
122
|
* Assigns permission for controller route
|
|
123
123
|
*
|
|
124
|
+
* `also` policies join `RbacPolicy` in the SAME policy group, so they are
|
|
125
|
+
* combined with AND: the caller must pass the permission check and every extra
|
|
126
|
+
* policy. Declaring them with a separate `@Policy()` would put them in their
|
|
127
|
+
* own group, which `@spinajs/http` combines with OR at the same scope - and
|
|
128
|
+
* `RbacPolicy` passing on its own would then be enough to open the route.
|
|
129
|
+
*
|
|
124
130
|
* @param permission - permission to set
|
|
131
|
+
* @param also - additional policies this route requires alongside the permission check
|
|
125
132
|
*/
|
|
126
|
-
export function Permission(permission = ['readOwn']) {
|
|
133
|
+
export function Permission(permission = ['readOwn'], ...also) {
|
|
127
134
|
return descriptor((metadata, target, propertyKey) => {
|
|
128
135
|
if (propertyKey) {
|
|
129
136
|
// Always set, never guarded by `has()`: routes are inherited per member
|
|
@@ -136,7 +143,7 @@ export function Permission(permission = ['readOwn']) {
|
|
|
136
143
|
Permission: permission,
|
|
137
144
|
});
|
|
138
145
|
}
|
|
139
|
-
Policy(RbacPolicy)(target, propertyKey, undefined);
|
|
146
|
+
Policy([RbacPolicy, ...also])(target, propertyKey, undefined);
|
|
140
147
|
});
|
|
141
148
|
}
|
|
142
149
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/interfaces.d.ts
CHANGED
|
@@ -166,6 +166,20 @@ export declare abstract class TwoFactorAuthProvider {
|
|
|
166
166
|
* generate secret key if this provider use is needs it or null
|
|
167
167
|
*/
|
|
168
168
|
abstract initialize(user: User): Promise<any | null>;
|
|
169
|
+
/**
|
|
170
|
+
* Generate and store the secret WITHOUT switching 2fa on. The account is left
|
|
171
|
+
* pending: it has a device to verify against, but the login check does not
|
|
172
|
+
* demand a code yet.
|
|
173
|
+
*
|
|
174
|
+
* Providers that cannot express a pending state may leave this unimplemented;
|
|
175
|
+
* only the routes that confirm enrolment call it.
|
|
176
|
+
*/
|
|
177
|
+
beginEnrolment(_user: User): Promise<any | null>;
|
|
178
|
+
/**
|
|
179
|
+
* Switch 2fa on for an account whose secret was already stored by
|
|
180
|
+
* {@link beginEnrolment}.
|
|
181
|
+
*/
|
|
182
|
+
activate(_user: User): Promise<void>;
|
|
169
183
|
/**
|
|
170
184
|
* Disable for user 2fa
|
|
171
185
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
|
package/lib/mjs/interfaces.js
CHANGED
|
@@ -1,4 +1,23 @@
|
|
|
1
|
+
import { MethodNotImplemented } from '@spinajs/exceptions';
|
|
1
2
|
export class TwoFactorAuthProvider {
|
|
3
|
+
/**
|
|
4
|
+
* Generate and store the secret WITHOUT switching 2fa on. The account is left
|
|
5
|
+
* pending: it has a device to verify against, but the login check does not
|
|
6
|
+
* demand a code yet.
|
|
7
|
+
*
|
|
8
|
+
* Providers that cannot express a pending state may leave this unimplemented;
|
|
9
|
+
* only the routes that confirm enrolment call it.
|
|
10
|
+
*/
|
|
11
|
+
beginEnrolment(_user) {
|
|
12
|
+
throw new MethodNotImplemented('this 2fa provider does not support pending enrolment');
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Switch 2fa on for an account whose secret was already stored by
|
|
16
|
+
* {@link beginEnrolment}.
|
|
17
|
+
*/
|
|
18
|
+
activate(_user) {
|
|
19
|
+
throw new MethodNotImplemented('this 2fa provider does not support pending enrolment');
|
|
20
|
+
}
|
|
2
21
|
}
|
|
3
22
|
export class FingerprintProvider {
|
|
4
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAmM3D,MAAM,OAAgB,qBAAqB;IAMzC;;;;;;;OAOG;IACI,cAAc,CAAC,KAAW;QAC/B,MAAM,IAAI,oBAAoB,CAAC,sDAAsD,CAAC,CAAC;IACzF,CAAC;IAED;;;OAGG;IACI,QAAQ,CAAC,KAAW;QACzB,MAAM,IAAI,oBAAoB,CAAC,sDAAsD,CAAC,CAAC;IACzF,CAAC;CAsCF;AAED,MAAM,OAAgB,mBAAmB;CAAG"}
|