@alanszp/jwt 14.4.1 → 15.0.3
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/dist/JWTUser.d.ts +14 -1
- package/dist/JWTUser.js +12 -1
- package/dist/JWTUser.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/package.json +6 -6
package/dist/JWTUser.d.ts
CHANGED
|
@@ -8,7 +8,14 @@ export declare class JWTUser implements IJWTUser {
|
|
|
8
8
|
originalOrganizationReference: string | null;
|
|
9
9
|
originalId: string | null;
|
|
10
10
|
originalEmployeeReference: string | null;
|
|
11
|
+
/**
|
|
12
|
+
* Old role codes to maintain backwards compatibility
|
|
13
|
+
*/
|
|
11
14
|
roles: string[];
|
|
15
|
+
/**
|
|
16
|
+
* Role ids
|
|
17
|
+
*/
|
|
18
|
+
roleReferences: string[];
|
|
12
19
|
permissions: string;
|
|
13
20
|
segmentReference: string | null;
|
|
14
21
|
expirationTime?: number;
|
|
@@ -20,7 +27,7 @@ export declare class JWTUser implements IJWTUser {
|
|
|
20
27
|
* @throws {PermissionServiceNotInstantiated}
|
|
21
28
|
*/
|
|
22
29
|
static getPermissionService(): IPermissionService;
|
|
23
|
-
constructor({ id, employeeReference, organizationReference, roles, permissions, segmentReference, originalOrganizationReference, originalId, originalEmployeeReference, expirationTime, }: IJWTUser);
|
|
30
|
+
constructor({ id, employeeReference, organizationReference, roles, roleReferences, permissions, segmentReference, originalOrganizationReference, originalId, originalEmployeeReference, expirationTime, }: IJWTUser);
|
|
24
31
|
static fromPayload(payload: JWTPayload): JWTUser;
|
|
25
32
|
toTokenPayload(): JWTPayload;
|
|
26
33
|
/**
|
|
@@ -34,6 +41,12 @@ export declare class JWTUser implements IJWTUser {
|
|
|
34
41
|
* Will be replaced by permission checks
|
|
35
42
|
*/
|
|
36
43
|
hasRoles(validateRoles: string | string[]): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Get current role reference
|
|
46
|
+
* (only the first role is returned for now, as we are not using multiple roles yet)
|
|
47
|
+
* @returns role reference
|
|
48
|
+
*/
|
|
49
|
+
getRoleReference(): string;
|
|
37
50
|
/**
|
|
38
51
|
* Check if user has permission to perform an action
|
|
39
52
|
* @param permissionCode - permission code to check
|
package/dist/JWTUser.js
CHANGED
|
@@ -27,10 +27,11 @@ const PermissionNotFound_1 = require("./errors/PermissionNotFound");
|
|
|
27
27
|
const PermissionServiceNotInstantiated_1 = require("./errors/PermissionServiceNotInstantiated");
|
|
28
28
|
const NoPermissionError_1 = require("./errors/NoPermissionError");
|
|
29
29
|
class JWTUser {
|
|
30
|
-
constructor({ id, employeeReference, organizationReference, roles, permissions, segmentReference, originalOrganizationReference, originalId, originalEmployeeReference, expirationTime, }) {
|
|
30
|
+
constructor({ id, employeeReference, organizationReference, roles, roleReferences, permissions, segmentReference, originalOrganizationReference, originalId, originalEmployeeReference, expirationTime, }) {
|
|
31
31
|
this.id = id;
|
|
32
32
|
this.employeeReference = employeeReference;
|
|
33
33
|
this.organizationReference = organizationReference;
|
|
34
|
+
this.roleReferences = roleReferences;
|
|
34
35
|
this.roles = roles;
|
|
35
36
|
this.permissions = permissions;
|
|
36
37
|
this.segmentReference = segmentReference;
|
|
@@ -62,6 +63,7 @@ class JWTUser {
|
|
|
62
63
|
employeeReference: payload.ref,
|
|
63
64
|
organizationReference: payload.org,
|
|
64
65
|
roles: payload.rls,
|
|
66
|
+
roleReferences: payload.rl,
|
|
65
67
|
permissions: payload.prms,
|
|
66
68
|
segmentReference: payload.seg || null,
|
|
67
69
|
originalOrganizationReference: payload.oorg,
|
|
@@ -76,6 +78,7 @@ class JWTUser {
|
|
|
76
78
|
ref: this.employeeReference,
|
|
77
79
|
org: this.organizationReference,
|
|
78
80
|
rls: this.roles,
|
|
81
|
+
rl: this.roleReferences,
|
|
79
82
|
prms: this.permissions,
|
|
80
83
|
seg: this.segmentReference,
|
|
81
84
|
oorg: this.originalOrganizationReference,
|
|
@@ -101,6 +104,14 @@ class JWTUser {
|
|
|
101
104
|
}
|
|
102
105
|
return validateRoles.some((role) => this.hasRole(role));
|
|
103
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Get current role reference
|
|
109
|
+
* (only the first role is returned for now, as we are not using multiple roles yet)
|
|
110
|
+
* @returns role reference
|
|
111
|
+
*/
|
|
112
|
+
getRoleReference() {
|
|
113
|
+
return this.roleReferences[0];
|
|
114
|
+
}
|
|
104
115
|
/**
|
|
105
116
|
* Check if user has permission to perform an action
|
|
106
117
|
* @param permissionCode - permission code to check
|
package/dist/JWTUser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JWTUser.js","sourceRoot":"","sources":["../src/JWTUser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAA8C;AAE9C,oEAA2E;AAC3E,gGAA6F;AAE7F,kEAA+D;AAE/D,MAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"JWTUser.js","sourceRoot":"","sources":["../src/JWTUser.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export interface JWTPayload extends LibPayload {
|
|
|
4
4
|
ref: string | null;
|
|
5
5
|
org: string;
|
|
6
6
|
rls: string[];
|
|
7
|
+
rl: string[];
|
|
7
8
|
prms: string;
|
|
8
9
|
oorg: string | null;
|
|
9
10
|
osub: string | null;
|
|
@@ -14,6 +15,7 @@ export interface IJWTUser {
|
|
|
14
15
|
id: string;
|
|
15
16
|
employeeReference: string | null;
|
|
16
17
|
organizationReference: string;
|
|
18
|
+
roleReferences: string[];
|
|
17
19
|
roles: string[];
|
|
18
20
|
permissions: string;
|
|
19
21
|
segmentReference: string | null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alanszp/jwt",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.0.3",
|
|
4
4
|
"description": "Alan's jwt validator & signer.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
"typescript": "^4.3.4"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@alanszp/axios-node": "^
|
|
32
|
-
"@alanszp/core": "^
|
|
33
|
-
"@alanszp/errors": "^
|
|
34
|
-
"@alanszp/logger": "^
|
|
31
|
+
"@alanszp/axios-node": "^15.0.0",
|
|
32
|
+
"@alanszp/core": "^15.0.0",
|
|
33
|
+
"@alanszp/errors": "^15.0.0",
|
|
34
|
+
"@alanszp/logger": "^15.0.0",
|
|
35
35
|
"jose": "^5.2.2"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "fd661c2623820ca428e05bfe9091a5e3b94fe465"
|
|
38
38
|
}
|