@axinom/mosaic-id-guard 0.19.1-rc.9 → 0.20.0-rc.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/common/helpers/parse-jwt-token-error-handler.js +7 -4
- package/dist/common/helpers/parse-jwt-token-error-handler.js.map +1 -1
- package/dist/common/jwt-verify-options.d.ts +1 -1
- package/dist/common/jwt-verify-options.d.ts.map +1 -1
- package/dist/common/parse-jwt-token.js +7 -4
- package/dist/common/parse-jwt-token.js.map +1 -1
- package/package.json +6 -6
- package/src/common/helpers/parse-jwt-token-error-handler.ts +1 -1
- package/src/common/jwt-verify-options.ts +1 -1
- package/src/common/parse-jwt-token.spec.ts +4 -14
- package/src/common/parse-jwt-token.ts +1 -1
|
@@ -18,10 +18,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
21
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
25
|
exports.handleJwtParseError = void 0;
|
|
23
26
|
const mosaic_service_common_1 = require("@axinom/mosaic-service-common");
|
|
24
|
-
const
|
|
27
|
+
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
25
28
|
const jwks = __importStar(require("jwks-rsa"));
|
|
26
29
|
const id_guard_errors_1 = require("../id-guard-errors");
|
|
27
30
|
/**
|
|
@@ -37,14 +40,14 @@ const buildJwtErrorMessage = (errorCode, authType, token) => {
|
|
|
37
40
|
let message = '';
|
|
38
41
|
switch (errorCode) {
|
|
39
42
|
case id_guard_errors_1.IdGuardErrors.SigningKeyNotFound.code: {
|
|
40
|
-
const decodedToken =
|
|
43
|
+
const decodedToken = jsonwebtoken_1.default.decode(token);
|
|
41
44
|
message = `Could not find a matching signing key to verify the access token. The signing key used to create the token may have been revoked or the Tenant(${decodedToken.tenantId})/Environment(${decodedToken.environmentId})${authType === 'END_USER'
|
|
42
45
|
? `/Application(${decodedToken.applicationId})`
|
|
43
46
|
: ''} configuration is erroneous.`;
|
|
44
47
|
break;
|
|
45
48
|
}
|
|
46
49
|
case id_guard_errors_1.IdGuardErrors.JwksError.code: {
|
|
47
|
-
const decodedToken =
|
|
50
|
+
const decodedToken = jsonwebtoken_1.default.decode(token);
|
|
48
51
|
message = `Error occurred while trying to fetch signing keys from the JWKS endpoint for the Tenant(${decodedToken.tenantId})/Environment(${decodedToken.environmentId})${authType === 'END_USER'
|
|
49
52
|
? `/Application(${decodedToken.applicationId}).`
|
|
50
53
|
: '.'}`;
|
|
@@ -89,7 +92,7 @@ const handleJwtParseError = (err, authType, token) => {
|
|
|
89
92
|
let code;
|
|
90
93
|
let message;
|
|
91
94
|
let originalError;
|
|
92
|
-
if (err instanceof
|
|
95
|
+
if (err instanceof jsonwebtoken_1.default.TokenExpiredError) {
|
|
93
96
|
code = id_guard_errors_1.IdGuardErrors.AccessTokenExpired.code;
|
|
94
97
|
message = buildJwtErrorMessage(code, authType, token);
|
|
95
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-jwt-token-error-handler.js","sourceRoot":"","sources":["../../../src/common/helpers/parse-jwt-token-error-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-jwt-token-error-handler.js","sourceRoot":"","sources":["../../../src/common/helpers/parse-jwt-token-error-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt-verify-options.d.ts","sourceRoot":"","sources":["../../src/common/jwt-verify-options.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"jwt-verify-options.d.ts","sourceRoot":"","sources":["../../src/common/jwt-verify-options.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAC;AAE/B;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,IAAI,aAK1C,CAAC;AAEF,yDAAyD;AACzD,eAAO,MAAM,iBAAiB,UAAU,CAAC;AAEzC,qCAAqC;AACrC,eAAO,MAAM,uBAAuB,kBAAkB,CAAC;AACvD,eAAO,MAAM,yBAAyB,oBAAoB,CAAC"}
|
|
@@ -18,11 +18,14 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
21
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
25
|
exports.decodeEndUserAccessToken = exports.decodeManagementAccessToken = exports.parseJwtToken = void 0;
|
|
23
26
|
const mosaic_service_common_1 = require("@axinom/mosaic-service-common");
|
|
24
27
|
const fs = __importStar(require("fs"));
|
|
25
|
-
const
|
|
28
|
+
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
|
|
26
29
|
const get_authenticated_subject_1 = require("./get-authenticated-subject");
|
|
27
30
|
const helpers_1 = require("./helpers");
|
|
28
31
|
const id_guard_errors_1 = require("./id-guard-errors");
|
|
@@ -53,7 +56,7 @@ const parseJwtToken = async (token, authConfig, authType) => {
|
|
|
53
56
|
else {
|
|
54
57
|
const publicKeyPath = authConfig;
|
|
55
58
|
const publicKey = fs.readFileSync(publicKeyPath, 'utf8');
|
|
56
|
-
const decoded =
|
|
59
|
+
const decoded = jsonwebtoken_1.default.verify(token, publicKey, (0, jwt_verify_options_1.getJwtVerifyOptions)());
|
|
57
60
|
subject = decoded;
|
|
58
61
|
}
|
|
59
62
|
}
|
|
@@ -118,7 +121,7 @@ exports.parseJwtToken = parseJwtToken;
|
|
|
118
121
|
* @returns An object of type `AuthenticatedManagementSubject`
|
|
119
122
|
*/
|
|
120
123
|
const decodeManagementAccessToken = (token) => {
|
|
121
|
-
return
|
|
124
|
+
return jsonwebtoken_1.default.decode(token);
|
|
122
125
|
};
|
|
123
126
|
exports.decodeManagementAccessToken = decodeManagementAccessToken;
|
|
124
127
|
/**
|
|
@@ -127,7 +130,7 @@ exports.decodeManagementAccessToken = decodeManagementAccessToken;
|
|
|
127
130
|
* @returns An object of type `AuthenticatedEndUser`
|
|
128
131
|
*/
|
|
129
132
|
const decodeEndUserAccessToken = (token) => {
|
|
130
|
-
return
|
|
133
|
+
return jsonwebtoken_1.default.decode(token);
|
|
131
134
|
};
|
|
132
135
|
exports.decodeEndUserAccessToken = decodeEndUserAccessToken;
|
|
133
136
|
//# sourceMappingURL=parse-jwt-token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-jwt-token.js","sourceRoot":"","sources":["../../src/common/parse-jwt-token.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-jwt-token.js","sourceRoot":"","sources":["../../src/common/parse-jwt-token.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axinom/mosaic-id-guard",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0-rc.0",
|
|
4
4
|
"description": "Authentication and authorization helpers for Axinom Mosaic services",
|
|
5
5
|
"author": "Axinom",
|
|
6
6
|
"license": "PROPRIETARY",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
"lint": "eslint . --ext .ts,.tsx,.js --color --cache"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@axinom/mosaic-id-utils": "^0.13.1-rc.
|
|
32
|
-
"@axinom/mosaic-message-bus": "^0.14.1-rc.
|
|
33
|
-
"@axinom/mosaic-service-common": "^0.30.0-rc.
|
|
31
|
+
"@axinom/mosaic-id-utils": "^0.13.1-rc.10",
|
|
32
|
+
"@axinom/mosaic-message-bus": "^0.14.1-rc.10",
|
|
33
|
+
"@axinom/mosaic-service-common": "^0.30.0-rc.1",
|
|
34
34
|
"amqplib": "^0.6.0",
|
|
35
35
|
"express": "^4.17.1",
|
|
36
36
|
"express-bearer-token": "^2.4.0",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"graphql": "^15.4.0",
|
|
40
40
|
"graphql-tag": "^2.11.0",
|
|
41
41
|
"graphql-ws": "^5.11.2",
|
|
42
|
-
"jsonwebtoken": "^
|
|
42
|
+
"jsonwebtoken": "^9.0.0",
|
|
43
43
|
"jwks-rsa": "^1.8.1",
|
|
44
44
|
"pg": "^8.5.1",
|
|
45
45
|
"postgraphile": "^4.13.0",
|
|
@@ -60,5 +60,5 @@
|
|
|
60
60
|
"publishConfig": {
|
|
61
61
|
"access": "public"
|
|
62
62
|
},
|
|
63
|
-
"gitHead": "
|
|
63
|
+
"gitHead": "faba09f22dabb7aaa6b392d8c47fd11446826c7c"
|
|
64
64
|
}
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
NonMosaicError,
|
|
3
3
|
UnreachableCaseError,
|
|
4
4
|
} from '@axinom/mosaic-service-common';
|
|
5
|
-
import
|
|
5
|
+
import jwt from 'jsonwebtoken';
|
|
6
6
|
import * as jwks from 'jwks-rsa';
|
|
7
7
|
import { IdGuardErrors } from '../id-guard-errors';
|
|
8
8
|
import { AuthenticatedEndUser, AuthenticatedManagementSubject } from '../types';
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { MosaicErrors } from '@axinom/mosaic-service-common';
|
|
2
1
|
import * as fs from 'fs';
|
|
3
|
-
import
|
|
4
|
-
import { TokenExpiredError } from 'jsonwebtoken';
|
|
2
|
+
import jwt, { TokenExpiredError } from 'jsonwebtoken';
|
|
5
3
|
import { JwksError, SigningKeyNotFoundError } from 'jwks-rsa';
|
|
6
4
|
import * as getAuthenticatedSubject from './get-authenticated-subject';
|
|
7
5
|
import { parseJwtToken } from './parse-jwt-token';
|
|
@@ -154,17 +152,9 @@ describe('parse-jwt-token', () => {
|
|
|
154
152
|
code: 'ACCESS_TOKEN_VERIFICATION_FAILED',
|
|
155
153
|
message: 'Access token verification failed',
|
|
156
154
|
error: {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
originalError: {
|
|
161
|
-
code: 'ERR_OSSL_PEM_NO_START_LINE',
|
|
162
|
-
function: 'get_name',
|
|
163
|
-
library: 'PEM routines',
|
|
164
|
-
reason: 'no start line',
|
|
165
|
-
},
|
|
166
|
-
},
|
|
167
|
-
},
|
|
155
|
+
name: 'JsonWebTokenError',
|
|
156
|
+
message:
|
|
157
|
+
'secretOrPublicKey must be an asymmetric key when using RS256',
|
|
168
158
|
},
|
|
169
159
|
});
|
|
170
160
|
});
|