@alanszp/jwt 16.0.3 → 16.4.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/dist/JWTUser.d.ts +2 -1
- package/dist/JWTUser.js +28 -26
- package/dist/JWTUser.js.map +1 -1
- package/dist/PermissionService.js +5 -5
- package/dist/PermissionService.js.map +1 -1
- package/dist/axiosPermissionsResolutionFactory.d.ts +1 -1
- package/dist/axiosPermissionsResolutionFactory.js +5 -6
- package/dist/axiosPermissionsResolutionFactory.js.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/jwt.d.ts +0 -1
- package/dist/jwt.js +9 -7
- package/dist/jwt.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +8 -7
package/dist/JWTUser.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { IPermissionService } from "./PermissionService";
|
|
|
2
2
|
import { IJWTUser, JWTPayload, Permission } from "./types";
|
|
3
3
|
export declare class JWTUser implements IJWTUser {
|
|
4
4
|
#private;
|
|
5
|
+
jwtId: string | null;
|
|
5
6
|
id: string;
|
|
6
7
|
employeeReference: string | null;
|
|
7
8
|
organizationReference: string;
|
|
@@ -32,7 +33,7 @@ export declare class JWTUser implements IJWTUser {
|
|
|
32
33
|
* @throws {PermissionServiceNotInstantiated}
|
|
33
34
|
*/
|
|
34
35
|
static getPermissionDefinition(permissionCode: string): Promise<Permission>;
|
|
35
|
-
constructor({ id, employeeReference, organizationReference, roles, roleReferences, permissions, segmentReference, originalOrganizationReference, originalId, originalEmployeeReference, expirationTime, }: IJWTUser);
|
|
36
|
+
constructor({ jwtId, id, employeeReference, organizationReference, roles, roleReferences, permissions, segmentReference, originalOrganizationReference, originalId, originalEmployeeReference, expirationTime, }: IJWTUser);
|
|
36
37
|
/**
|
|
37
38
|
* Set the raw token from the original request
|
|
38
39
|
* @description Do not include the Bearer prefix
|
package/dist/JWTUser.js
CHANGED
|
@@ -27,36 +27,20 @@ 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, roleReferences, permissions, segmentReference, originalOrganizationReference, originalId, originalEmployeeReference, expirationTime, }) {
|
|
31
|
-
_JWTUser_rawToken.set(this, void 0);
|
|
32
|
-
this.id = id;
|
|
33
|
-
this.employeeReference = employeeReference;
|
|
34
|
-
this.organizationReference = organizationReference;
|
|
35
|
-
this.roleReferences = roleReferences;
|
|
36
|
-
this.roles = roles;
|
|
37
|
-
this.permissions = permissions;
|
|
38
|
-
this.segmentReference = segmentReference;
|
|
39
|
-
this.originalOrganizationReference =
|
|
40
|
-
originalOrganizationReference !== null && originalOrganizationReference !== void 0 ? originalOrganizationReference : organizationReference;
|
|
41
|
-
this.originalId = originalId !== null && originalId !== void 0 ? originalId : id;
|
|
42
|
-
this.originalEmployeeReference =
|
|
43
|
-
originalEmployeeReference !== null && originalEmployeeReference !== void 0 ? originalEmployeeReference : employeeReference;
|
|
44
|
-
this.expirationTime = expirationTime;
|
|
45
|
-
}
|
|
46
30
|
/**
|
|
47
31
|
* Instantiate the permission service for all instances of JWTUser
|
|
48
32
|
*/
|
|
49
33
|
static setPermissionService(service) {
|
|
50
|
-
__classPrivateFieldSet(
|
|
34
|
+
__classPrivateFieldSet(_a, _a, service, "f", _JWTUser_permissionService);
|
|
51
35
|
}
|
|
52
36
|
/**
|
|
53
37
|
* @throws {PermissionServiceNotInstantiated}
|
|
54
38
|
*/
|
|
55
39
|
static getPermissionService() {
|
|
56
|
-
if (!__classPrivateFieldGet(
|
|
40
|
+
if (!__classPrivateFieldGet(_a, _a, "f", _JWTUser_permissionService)) {
|
|
57
41
|
throw new PermissionServiceNotInstantiated_1.PermissionServiceNotInstantiated();
|
|
58
42
|
}
|
|
59
|
-
return __classPrivateFieldGet(
|
|
43
|
+
return __classPrivateFieldGet(_a, _a, "f", _JWTUser_permissionService);
|
|
60
44
|
}
|
|
61
45
|
/**
|
|
62
46
|
* @throws {PermissionDefinitionNotFound}
|
|
@@ -64,13 +48,30 @@ class JWTUser {
|
|
|
64
48
|
*/
|
|
65
49
|
static getPermissionDefinition(permissionCode) {
|
|
66
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
-
const definition = yield
|
|
51
|
+
const definition = yield _a.getPermissionService().getPermission(permissionCode);
|
|
68
52
|
if (!definition) {
|
|
69
53
|
throw new PermissionNotFound_1.PermissionDefinitionNotFound(permissionCode);
|
|
70
54
|
}
|
|
71
55
|
return definition;
|
|
72
56
|
});
|
|
73
57
|
}
|
|
58
|
+
constructor({ jwtId, id, employeeReference, organizationReference, roles, roleReferences, permissions, segmentReference, originalOrganizationReference, originalId, originalEmployeeReference, expirationTime, }) {
|
|
59
|
+
_JWTUser_rawToken.set(this, void 0);
|
|
60
|
+
this.jwtId = jwtId !== null && jwtId !== void 0 ? jwtId : null;
|
|
61
|
+
this.id = id;
|
|
62
|
+
this.employeeReference = employeeReference;
|
|
63
|
+
this.organizationReference = organizationReference;
|
|
64
|
+
this.roleReferences = roleReferences;
|
|
65
|
+
this.roles = roles;
|
|
66
|
+
this.permissions = permissions;
|
|
67
|
+
this.segmentReference = segmentReference;
|
|
68
|
+
this.originalOrganizationReference =
|
|
69
|
+
originalOrganizationReference !== null && originalOrganizationReference !== void 0 ? originalOrganizationReference : organizationReference;
|
|
70
|
+
this.originalId = originalId !== null && originalId !== void 0 ? originalId : id;
|
|
71
|
+
this.originalEmployeeReference =
|
|
72
|
+
originalEmployeeReference !== null && originalEmployeeReference !== void 0 ? originalEmployeeReference : employeeReference;
|
|
73
|
+
this.expirationTime = expirationTime;
|
|
74
|
+
}
|
|
74
75
|
/**
|
|
75
76
|
* Set the raw token from the original request
|
|
76
77
|
* @description Do not include the Bearer prefix
|
|
@@ -87,8 +88,9 @@ class JWTUser {
|
|
|
87
88
|
return __classPrivateFieldGet(this, _JWTUser_rawToken, "f") ? `Bearer ${__classPrivateFieldGet(this, _JWTUser_rawToken, "f")}` : undefined;
|
|
88
89
|
}
|
|
89
90
|
static fromPayload(payload) {
|
|
90
|
-
var _b, _c, _d;
|
|
91
|
-
return new
|
|
91
|
+
var _b, _c, _d, _e;
|
|
92
|
+
return new _a({
|
|
93
|
+
jwtId: (_b = payload.jti) !== null && _b !== void 0 ? _b : null,
|
|
92
94
|
id: payload.sub,
|
|
93
95
|
employeeReference: payload.ref,
|
|
94
96
|
organizationReference: payload.org,
|
|
@@ -96,9 +98,9 @@ class JWTUser {
|
|
|
96
98
|
roleReferences: payload.rl,
|
|
97
99
|
permissions: payload.prms,
|
|
98
100
|
segmentReference: payload.seg || null,
|
|
99
|
-
originalOrganizationReference: (
|
|
100
|
-
originalId: (
|
|
101
|
-
originalEmployeeReference: (
|
|
101
|
+
originalOrganizationReference: (_c = payload.oorg) !== null && _c !== void 0 ? _c : payload.org,
|
|
102
|
+
originalId: (_d = payload.osub) !== null && _d !== void 0 ? _d : payload.sub,
|
|
103
|
+
originalEmployeeReference: (_e = payload.oref) !== null && _e !== void 0 ? _e : payload.ref,
|
|
102
104
|
expirationTime: payload.exp,
|
|
103
105
|
});
|
|
104
106
|
}
|
|
@@ -151,7 +153,7 @@ class JWTUser {
|
|
|
151
153
|
*/
|
|
152
154
|
hasPermission(permissionCode) {
|
|
153
155
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
|
-
const definition = yield
|
|
156
|
+
const definition = yield _a.getPermissionDefinition(permissionCode);
|
|
155
157
|
const checkBitmask = BitmaskUtils_1.BitmaskUtils.encodeFromPosition(definition.position);
|
|
156
158
|
const permissionsBitmask = BitmaskUtils_1.BitmaskUtils.decodeFromBase64(this.permissions);
|
|
157
159
|
return BitmaskUtils_1.BitmaskUtils.checkBitmask(permissionsBitmask, checkBitmask);
|
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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"}
|
|
@@ -41,8 +41,8 @@ class PermissionService {
|
|
|
41
41
|
* Retrieve all pages from a paginated {@link ListResult} request
|
|
42
42
|
* @todo this could be generalized, but tricky to do so because of the binding of the fetcher function
|
|
43
43
|
*/
|
|
44
|
-
getAllPagesFromPaginatedRequest(
|
|
45
|
-
return __awaiter(this,
|
|
44
|
+
getAllPagesFromPaginatedRequest(fetcher_1) {
|
|
45
|
+
return __awaiter(this, arguments, void 0, function* (fetcher, pageSize = 500) {
|
|
46
46
|
const fetcherBound = fetcher.bind(this);
|
|
47
47
|
const acc = [];
|
|
48
48
|
const firstPage = yield fetcherBound(1, pageSize);
|
|
@@ -64,8 +64,8 @@ class PermissionService {
|
|
|
64
64
|
* Retrieve the permissions definitions
|
|
65
65
|
* @returns {Promise<Permission[]>}
|
|
66
66
|
*/
|
|
67
|
-
getPermissions(
|
|
68
|
-
return __awaiter(this,
|
|
67
|
+
getPermissions() {
|
|
68
|
+
return __awaiter(this, arguments, void 0, function* (checkCache = true) {
|
|
69
69
|
if (checkCache) {
|
|
70
70
|
if (__classPrivateFieldGet(this, _PermissionService_cachedPermissions, "f")) {
|
|
71
71
|
this.logger.debug("auth.permission_service.get_permissions.cache_hit");
|
|
@@ -84,8 +84,8 @@ class PermissionService {
|
|
|
84
84
|
});
|
|
85
85
|
}
|
|
86
86
|
getPermission(code) {
|
|
87
|
-
var _a;
|
|
88
87
|
return __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
var _a;
|
|
89
89
|
if (!__classPrivateFieldGet(this, _PermissionService_cachedPermissionMap, "f")) {
|
|
90
90
|
yield this.getPermissions(false);
|
|
91
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionService.js","sourceRoot":"","sources":["../src/PermissionService.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,mCAAmC,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM;AAElE,MAAa,iBAAiB;IAa5B,YACE,MAAe,EACf,uBAAsD;
|
|
1
|
+
{"version":3,"file":"PermissionService.js","sourceRoot":"","sources":["../src/PermissionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Permission } from "./types";
|
|
2
2
|
import { ListResult } from "@alanszp/core";
|
|
3
3
|
import { ILogger } from "@alanszp/logger";
|
|
4
|
-
export
|
|
4
|
+
export type PermissionsResolutionFunction = (page: number, pageSize: number) => Promise<ListResult<Permission>>;
|
|
5
5
|
export declare function axiosPermissionsResolutionFactory(organizationReference: string, baseUrl: string, accessToken: string, logger: ILogger): () => PermissionsResolutionFunction;
|
|
@@ -9,11 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.axiosPermissionsResolutionFactory =
|
|
12
|
+
exports.axiosPermissionsResolutionFactory = axiosPermissionsResolutionFactory;
|
|
13
13
|
const axios_node_1 = require("@alanszp/axios-node");
|
|
14
14
|
const PermissionServiceRequestError_1 = require("./errors/PermissionServiceRequestError");
|
|
15
|
-
function makeRequest(
|
|
16
|
-
return __awaiter(this,
|
|
15
|
+
function makeRequest(logger_1, axios_1, baseURL_1, accessToken_1, method_1, url_1, params_1) {
|
|
16
|
+
return __awaiter(this, arguments, void 0, function* (logger, axios, baseURL, accessToken, method, url, params, retries = 5) {
|
|
17
17
|
try {
|
|
18
18
|
const request = yield axios.request({
|
|
19
19
|
baseURL,
|
|
@@ -41,12 +41,11 @@ function makeRequest(logger, axios, baseURL, accessToken, method, url, params, r
|
|
|
41
41
|
function axiosPermissionsResolutionFactory(organizationReference, baseUrl, accessToken, logger) {
|
|
42
42
|
const axios = (0, axios_node_1.createAxios)();
|
|
43
43
|
return function axiosPermissionsResolution() {
|
|
44
|
-
return function getPermissionsPageFromApi(
|
|
45
|
-
return __awaiter(this,
|
|
44
|
+
return function getPermissionsPageFromApi() {
|
|
45
|
+
return __awaiter(this, arguments, void 0, function* (page = 1, pageSize = 500) {
|
|
46
46
|
return makeRequest(logger, axios, baseUrl, accessToken, "GET", `${organizationReference}/v1/permissions`, { page, pageSize });
|
|
47
47
|
});
|
|
48
48
|
};
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
exports.axiosPermissionsResolutionFactory = axiosPermissionsResolutionFactory;
|
|
52
51
|
//# sourceMappingURL=axiosPermissionsResolutionFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axiosPermissionsResolutionFactory.js","sourceRoot":"","sources":["../src/axiosPermissionsResolutionFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"axiosPermissionsResolutionFactory.js","sourceRoot":"","sources":["../src/axiosPermissionsResolutionFactory.ts"],"names":[],"mappings":";;;;;;;;;;;AAsDA,8EAuBC;AA7ED,oDAAkD;AAElD,0FAAuF;AASvF,SAAe,WAAW;yDACxB,MAAe,EACf,KAAqC,EACrC,OAAe,EACf,WAAmB,EACnB,MAAa,EACb,GAAW,EACX,MAAgC,EAChC,UAAkB,CAAC;QAEnB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAI;gBACrC,OAAO;gBACP,GAAG;gBACH,MAAM;gBACN,MAAM;gBACN,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,WAAW,EAAE;iBACvC;aACF,CAAC,CAAC;YAEH,OAAO,OAAO,CAAC,IAAI,CAAC;QACtB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;oBACzD,WAAW,EAAE,OAAO;iBACrB,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,MAAM,EACN,KAAK,EACL,OAAO,EACP,WAAW,EACX,MAAM,EACN,GAAG,EACH,MAAM,EACN,OAAO,GAAG,CAAC,CACZ,CAAC;gBACF,OAAO,QAAQ,CAAC;YAClB,CAAC;YACD,MAAM,IAAI,6DAA6B,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;CAAA;AAED,SAAgB,iCAAiC,CAC/C,qBAA6B,EAC7B,OAAe,EACf,WAAmB,EACnB,MAAe;IAEf,MAAM,KAAK,GAAG,IAAA,wBAAW,GAAE,CAAC;IAC5B,OAAO,SAAS,0BAA0B;QACxC,OAAO,SAAe,yBAAyB;iEAC7C,OAAe,CAAC,EAChB,QAAQ,GAAG,GAAG;gBAEd,OAAO,WAAW,CAChB,MAAM,EACN,KAAK,EACL,OAAO,EACP,WAAW,EACX,KAAK,EACL,GAAG,qBAAqB,iBAAiB,EACzC,EAAE,IAAI,EAAE,QAAQ,EAAE,CACnB,CAAC;YACJ,CAAC;SAAA,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,wCAAsB;AACtB,sDAAoC;AACpC,iDAA+B;AAC/B,6DAA2C;AAC3C,8DAA4C;AAC5C,4EAA0D;AAC1D,yEAAuD;AACvD,sEAAoD"}
|
package/dist/jwt.d.ts
CHANGED
package/dist/jwt.js
CHANGED
|
@@ -9,7 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.JWT_ALGORITHM = void 0;
|
|
13
|
+
exports.privateKeyFromPem = privateKeyFromPem;
|
|
14
|
+
exports.publicKeyFromPem = publicKeyFromPem;
|
|
15
|
+
exports.withDefaultSignOptions = withDefaultSignOptions;
|
|
16
|
+
exports.withDefaultVerifyOptions = withDefaultVerifyOptions;
|
|
17
|
+
exports.generateJWT = generateJWT;
|
|
18
|
+
exports.verifyJWT = verifyJWT;
|
|
19
|
+
const uuid_1 = require("uuid");
|
|
13
20
|
const crypto_1 = require("crypto");
|
|
14
21
|
const jose_1 = require("jose");
|
|
15
22
|
const JWTUser_1 = require("./JWTUser");
|
|
@@ -20,22 +27,18 @@ function privateKeyFromPem(key) {
|
|
|
20
27
|
format: "pem",
|
|
21
28
|
});
|
|
22
29
|
}
|
|
23
|
-
exports.privateKeyFromPem = privateKeyFromPem;
|
|
24
30
|
function publicKeyFromPem(key) {
|
|
25
31
|
return (0, crypto_1.createPublicKey)({
|
|
26
32
|
key,
|
|
27
33
|
format: "pem",
|
|
28
34
|
});
|
|
29
35
|
}
|
|
30
|
-
exports.publicKeyFromPem = publicKeyFromPem;
|
|
31
36
|
function withDefaultSignOptions(options) {
|
|
32
37
|
return Object.assign({ issuer: "hodor", audience: "web", expiration: "24h" }, options);
|
|
33
38
|
}
|
|
34
|
-
exports.withDefaultSignOptions = withDefaultSignOptions;
|
|
35
39
|
function withDefaultVerifyOptions(options) {
|
|
36
40
|
return Object.assign({ issuer: ["hodor", "long:1"], audience: "web" }, options);
|
|
37
41
|
}
|
|
38
|
-
exports.withDefaultVerifyOptions = withDefaultVerifyOptions;
|
|
39
42
|
function generateJWT(privateKey, user, options) {
|
|
40
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
41
44
|
const key = typeof privateKey === "string" ? privateKeyFromPem(privateKey) : privateKey;
|
|
@@ -46,10 +49,10 @@ function generateJWT(privateKey, user, options) {
|
|
|
46
49
|
.setIssuer(opts.issuer)
|
|
47
50
|
.setAudience(opts.audience)
|
|
48
51
|
.setExpirationTime(opts.expiration)
|
|
52
|
+
.setJti((0, uuid_1.v4)())
|
|
49
53
|
.sign(key);
|
|
50
54
|
});
|
|
51
55
|
}
|
|
52
|
-
exports.generateJWT = generateJWT;
|
|
53
56
|
function verifyJWT(publicKey, token, options) {
|
|
54
57
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
58
|
const key = typeof publicKey === "string" ? publicKeyFromPem(publicKey) : publicKey;
|
|
@@ -65,5 +68,4 @@ function verifyJWT(publicKey, token, options) {
|
|
|
65
68
|
return user;
|
|
66
69
|
});
|
|
67
70
|
}
|
|
68
|
-
exports.verifyJWT = verifyJWT;
|
|
69
71
|
//# sourceMappingURL=jwt.js.map
|
package/dist/jwt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":";;;;;;;;;;;;AAQA,8CAKC;AAED,4CAKC;AAED,wDASC;AAED,4DAQC;AAED,kCAkBC;AAED,8BAuBC;AAtFD,+BAAoC;AACpC,mCAAsE;AACtE,+BAA0C;AAE1C,uCAAoC;AAEvB,QAAA,aAAa,GAAG,OAAO,CAAC;AAErC,SAAgB,iBAAiB,CAAC,GAAW;IAC3C,OAAO,IAAA,yBAAgB,EAAC;QACtB,GAAG;QACH,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,OAAO,IAAA,wBAAe,EAAC;QACrB,GAAG;QACH,MAAM,EAAE,KAAK;KACd,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,sBAAsB,CACpC,OAA8B;IAE9B,uBACE,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,KAAK,EACf,UAAU,EAAE,KAAK,IACd,OAAO,EACV;AACJ,CAAC;AAED,SAAgB,wBAAwB,CACtC,OAAgC;IAEhC,uBACE,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAC3B,QAAQ,EAAE,KAAK,IACZ,OAAO,EACV;AACJ,CAAC;AAED,SAAsB,WAAW,CAC/B,UAA8B,EAC9B,IAAa,EACb,OAA8B;;QAE9B,MAAM,GAAG,GACP,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE9E,MAAM,IAAI,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAE7C,OAAO,IAAI,cAAO,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;aACtC,kBAAkB,CAAC,EAAE,GAAG,EAAE,qBAAa,EAAE,CAAC;aAC1C,WAAW,EAAE;aACb,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aACtB,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC1B,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC;aAClC,MAAM,CAAC,IAAA,SAAM,GAAE,CAAC;aAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CAAA;AAED,SAAsB,SAAS,CAC7B,SAA6B,EAC7B,KAAa,EACb,OAAgC;;QAEhC,MAAM,GAAG,GACP,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1E,MAAM,IAAI,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;QAE/C,MAAM,MAAM,GAAG,MAAM,IAAA,gBAAS,EAAC,KAAK,EAAE,GAAG,EAAE;YACzC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,CAAC,qBAAa,CAAC;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAqB,CAAC;QAE7C,MAAM,IAAI,GAAG,iBAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QAE1C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC;CAAA"}
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alanszp/jwt",
|
|
3
|
-
"version": "16.0
|
|
3
|
+
"version": "16.4.0",
|
|
4
4
|
"description": "Alan's jwt validator & signer.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -24,15 +24,16 @@
|
|
|
24
24
|
"@types/node": "^20.11.17",
|
|
25
25
|
"babel-jest": "^29.7.0",
|
|
26
26
|
"jest": "^29.7.0",
|
|
27
|
-
"ts-node": "^10.
|
|
28
|
-
"typescript": "^
|
|
27
|
+
"ts-node": "^10.9.2",
|
|
28
|
+
"typescript": "^5.7.3"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@alanszp/axios-node": "^16.
|
|
31
|
+
"@alanszp/axios-node": "^16.3.2",
|
|
32
32
|
"@alanszp/core": "^16.0.0",
|
|
33
33
|
"@alanszp/errors": "^16.0.0",
|
|
34
|
-
"@alanszp/logger": "^16.
|
|
35
|
-
"jose": "^5.2.2"
|
|
34
|
+
"@alanszp/logger": "^16.3.2",
|
|
35
|
+
"jose": "^5.2.2",
|
|
36
|
+
"uuid": "^11.0.5"
|
|
36
37
|
},
|
|
37
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "f8b201ae045b045453b976557f6acef2d3076357"
|
|
38
39
|
}
|