sentinel-nestjs-core 0.1.4 → 0.1.6
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.
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { SentinelPermissionOptions } from '../../interfaces/sentinel-permission-options.interface';
|
|
2
|
+
import { LoggerAppService } from "../../../logger/logger.service";
|
|
2
3
|
export declare class KeyService {
|
|
3
4
|
private readonly options;
|
|
5
|
+
private logger;
|
|
4
6
|
private cache;
|
|
5
7
|
private readonly publicDir;
|
|
6
|
-
constructor(options: SentinelPermissionOptions);
|
|
8
|
+
constructor(options: SentinelPermissionOptions, logger: LoggerAppService);
|
|
7
9
|
private getLocalPublicKey;
|
|
8
10
|
getPublicKey(kid?: string): Promise<string>;
|
|
9
11
|
}
|
|
@@ -21,15 +21,19 @@ const path_1 = __importDefault(require("path"));
|
|
|
21
21
|
const axios_1 = __importDefault(require("axios"));
|
|
22
22
|
const jwk_to_pem_1 = __importDefault(require("jwk-to-pem"));
|
|
23
23
|
const node_fs_1 = __importDefault(require("node:fs"));
|
|
24
|
+
const logger_service_1 = require("../../../logger/logger.service");
|
|
24
25
|
let KeyService = class KeyService {
|
|
25
|
-
constructor(options) {
|
|
26
|
+
constructor(options, logger) {
|
|
26
27
|
this.options = options;
|
|
28
|
+
this.logger = logger;
|
|
27
29
|
this.cache = new Map();
|
|
28
30
|
this.publicDir = path_1.default.join(process.cwd(), 'public');
|
|
29
31
|
}
|
|
30
32
|
async getLocalPublicKey() {
|
|
31
|
-
const jwksPath = path_1.default.join(
|
|
33
|
+
const jwksPath = path_1.default.join(this.publicDir, '.well-known', 'jwks.json');
|
|
34
|
+
this.logger.log(`jwksPath : ${jwksPath}`);
|
|
32
35
|
const jwksRaw = node_fs_1.default.readFileSync(jwksPath, 'utf8');
|
|
36
|
+
this.logger.log(`jwksRaw : ${jwksRaw}`);
|
|
33
37
|
return JSON.parse(jwksRaw);
|
|
34
38
|
}
|
|
35
39
|
async getPublicKey(kid) {
|
|
@@ -49,13 +53,16 @@ let KeyService = class KeyService {
|
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
if (!((_a = jwks === null || jwks === void 0 ? void 0 : jwks.keys) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
56
|
+
this.logger.warn('Aucune clé trouvée dans le JWKS');
|
|
52
57
|
throw new Error('Aucune clé trouvée dans le JWKS');
|
|
53
58
|
}
|
|
54
59
|
const key = kid ? jwks.keys.find(k => k.kid === kid) : jwks.keys[0];
|
|
55
60
|
if (!key) {
|
|
61
|
+
this.logger.warn(`Aucune clé correspondant au kid "${kid}"`);
|
|
56
62
|
throw new Error(`Aucune clé correspondant au kid "${kid}"`);
|
|
57
63
|
}
|
|
58
64
|
if (!key.n || !key.e) {
|
|
65
|
+
this.logger.error('Clé JWK incomplète (n ou e manquant)');
|
|
59
66
|
throw new Error('Clé JWK incomplète (n ou e manquant)');
|
|
60
67
|
}
|
|
61
68
|
const pem = (0, jwk_to_pem_1.default)({
|
|
@@ -74,6 +81,6 @@ exports.KeyService = KeyService;
|
|
|
74
81
|
exports.KeyService = KeyService = __decorate([
|
|
75
82
|
(0, common_1.Injectable)(),
|
|
76
83
|
__param(0, (0, common_1.Inject)('SENTINEL_PERMISSION_OPTIONS')),
|
|
77
|
-
__metadata("design:paramtypes", [Object])
|
|
84
|
+
__metadata("design:paramtypes", [Object, logger_service_1.LoggerAppService])
|
|
78
85
|
], KeyService);
|
|
79
86
|
//# sourceMappingURL=key.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key.service.js","sourceRoot":"","sources":["../../../../src/permission/services/key/key.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAAkF;AAClF,gDAAwB;AAExB,kDAA0B;AAC1B,4DAA2C;AAG3C,sDAAyB;
|
|
1
|
+
{"version":3,"file":"key.service.js","sourceRoot":"","sources":["../../../../src/permission/services/key/key.service.ts"],"names":[],"mappings":"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"}
|