@restorecommerce/acs-client 0.6.11 → 0.6.12
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/CHANGELOG.md +8 -0
- package/lib/acs/cache.d.ts +1 -1
- package/lib/acs/cache.js +89 -107
- package/lib/acs/cache.js.map +1 -1
- package/package.json +4 -7
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.6.12](https://github.com/restorecommerce/libs/compare/@restorecommerce/acs-client@0.6.11...@restorecommerce/acs-client@0.6.12) (2022-02-14)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @restorecommerce/acs-client
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## [0.6.11](https://github.com/restorecommerce/libs/compare/@restorecommerce/acs-client@0.6.10...@restorecommerce/acs-client@0.6.11) (2022-02-14)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @restorecommerce/acs-client
|
package/lib/acs/cache.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export declare const get: (key: string) => Promise<any>;
|
|
|
23
23
|
*
|
|
24
24
|
* @param prefix An optional prefix to flush instead of entire cache
|
|
25
25
|
*/
|
|
26
|
-
export declare const flushCache: (prefix?: string) => Promise<
|
|
26
|
+
export declare const flushCache: (prefix?: string) => Promise<void>;
|
|
27
27
|
/**
|
|
28
28
|
* Enable / Disable ACS Caching
|
|
29
29
|
*
|
package/lib/acs/cache.js
CHANGED
|
@@ -8,12 +8,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
+
var m = o[Symbol.asyncIterator], i;
|
|
14
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
15
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
16
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
17
|
+
};
|
|
11
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
19
|
exports.setCacheStatus = exports.flushCache = exports.get = exports.getOrFill = exports.initializeCache = void 0;
|
|
13
20
|
const config_1 = require("../config");
|
|
14
21
|
const logger_1 = require("../logger");
|
|
15
22
|
const crypto = require("crypto");
|
|
16
|
-
const
|
|
23
|
+
const redis_1 = require("redis");
|
|
17
24
|
const _ = require("lodash");
|
|
18
25
|
let attempted = false;
|
|
19
26
|
let redisInstance;
|
|
@@ -38,14 +45,18 @@ const initializeCache = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
38
45
|
const redisConfig = config_1.cfg.get('authorization:cache');
|
|
39
46
|
const redisSubConfig = config_1.cfg.get('redis');
|
|
40
47
|
if (redisConfig) {
|
|
41
|
-
redisConfig.
|
|
42
|
-
redisInstance =
|
|
48
|
+
redisConfig.database = config_1.cfg.get('authorization:cache:db-index');
|
|
49
|
+
redisInstance = (0, redis_1.createClient)(redisConfig);
|
|
50
|
+
redisInstance.on('error', (err) => logger_1.default.error('Redis Client Error in ACS cache', err));
|
|
51
|
+
yield redisInstance.connect();
|
|
43
52
|
ttl = config_1.cfg.get('authorization:cache:ttl');
|
|
44
53
|
}
|
|
45
54
|
if (redisSubConfig) {
|
|
46
55
|
// init redis subject instance
|
|
47
|
-
redisSubConfig.
|
|
48
|
-
redisSubjectInstance =
|
|
56
|
+
redisSubConfig.database = redisSubConfig['db-indexes']['db-subject'];
|
|
57
|
+
redisSubjectInstance = (0, redis_1.createClient)(redisSubConfig);
|
|
58
|
+
redisSubjectInstance.on('error', (err) => logger_1.default.error('Redis Client Error in ACS cache', err));
|
|
59
|
+
yield redisSubjectInstance.connect();
|
|
49
60
|
}
|
|
50
61
|
}
|
|
51
62
|
});
|
|
@@ -66,56 +77,46 @@ const getOrFill = (keyData, filler, useCache, prefix) => __awaiter(void 0, void
|
|
|
66
77
|
if (prefix) {
|
|
67
78
|
redisKey = `${prefix}:` + redisKey;
|
|
68
79
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
evaluation_cacheable = rule.evaluation_cacheable;
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
else if (rule.evaluation_cacheable) {
|
|
88
|
-
evaluation_cacheable = rule.evaluation_cacheable;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
80
|
+
let redisKeyResponse = yield redisInstance.get(redisKey);
|
|
81
|
+
if (redisKeyResponse && useCache) {
|
|
82
|
+
const response = JSON.parse(redisKeyResponse);
|
|
83
|
+
let evaluation_cacheable = response.evaluation_cacheable;
|
|
84
|
+
if (response && !_.isEmpty(response.policy_sets)) {
|
|
85
|
+
const policies = response.policy_sets[0].policies;
|
|
86
|
+
if (policies && policies.length > 0) {
|
|
87
|
+
for (let policy of policies) {
|
|
88
|
+
for (let rule of policy.rules) {
|
|
89
|
+
if (!rule.evaluation_cacheable || (rule.evaluation_cacheable === false)) {
|
|
90
|
+
evaluation_cacheable = rule.evaluation_cacheable;
|
|
91
|
+
break;
|
|
92
|
+
}
|
|
93
|
+
else if (rule.evaluation_cacheable) {
|
|
94
|
+
evaluation_cacheable = rule.evaluation_cacheable;
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
97
|
}
|
|
94
|
-
if (evaluation_cacheable) {
|
|
95
|
-
logger_1.default.debug('Found key in cache: ' + redisKey);
|
|
96
|
-
return resolve(response);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
if (!useCache) {
|
|
100
|
-
return filler(keyData).then((data) => {
|
|
101
|
-
// when useCache is false, dont store in cache
|
|
102
|
-
resolve(data);
|
|
103
|
-
}).catch(reject);
|
|
104
98
|
}
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
99
|
+
}
|
|
100
|
+
if (evaluation_cacheable) {
|
|
101
|
+
logger_1.default.debug('Found key in cache: ' + redisKey);
|
|
102
|
+
return response;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
if (!useCache) {
|
|
106
|
+
// when useCache is false, dont store in cache
|
|
107
|
+
return yield filler(keyData);
|
|
108
|
+
}
|
|
109
|
+
logger_1.default.debug('Filling cache key: ' + redisKey);
|
|
110
|
+
const acsResponse = yield filler(keyData);
|
|
111
|
+
if (acsResponse) {
|
|
112
|
+
if (ttl) {
|
|
113
|
+
yield redisInstance.setEx(redisKey, ttl, JSON.stringify(acsResponse));
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
yield redisInstance.set(redisKey, JSON.stringify(acsResponse));
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
return acsResponse;
|
|
119
120
|
});
|
|
120
121
|
exports.getOrFill = getOrFill;
|
|
121
122
|
/**
|
|
@@ -129,23 +130,15 @@ const get = (key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
129
130
|
if (!redisSubjectInstance) {
|
|
130
131
|
return;
|
|
131
132
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
if (!err && !reply) {
|
|
144
|
-
logger_1.default.info('Key does not exist', { key });
|
|
145
|
-
resolve(0);
|
|
146
|
-
}
|
|
147
|
-
}));
|
|
148
|
-
});
|
|
133
|
+
const redisResponse = yield redisSubjectInstance.get(key);
|
|
134
|
+
if (!redisResponse) {
|
|
135
|
+
logger_1.default.info('Key does not exist', { key });
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
if (redisResponse) {
|
|
139
|
+
logger_1.default.debug('Found key in cache: ' + key);
|
|
140
|
+
return JSON.parse(redisResponse);
|
|
141
|
+
}
|
|
149
142
|
});
|
|
150
143
|
exports.get = get;
|
|
151
144
|
/**
|
|
@@ -154,54 +147,43 @@ exports.get = get;
|
|
|
154
147
|
* @param prefix An optional prefix to flush instead of entire cache
|
|
155
148
|
*/
|
|
156
149
|
const flushCache = (prefix) => __awaiter(void 0, void 0, void 0, function* () {
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
redisConfig.db = config_1.cfg.get('authorization:cache:db-index');
|
|
161
|
-
ioredisInstance = new Redis(redisConfig);
|
|
162
|
-
}
|
|
163
|
-
if (!ioredisInstance || !cacheEnabled) {
|
|
150
|
+
var e_1, _a;
|
|
151
|
+
if (!redisInstance || !cacheEnabled) {
|
|
152
|
+
logger_1.default.info('Redis client not initialized in acs-client');
|
|
164
153
|
return;
|
|
165
154
|
}
|
|
166
155
|
if (prefix != undefined) {
|
|
167
|
-
let
|
|
168
|
-
|
|
169
|
-
let
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
156
|
+
let flushPattern = `acs:${prefix}:*`;
|
|
157
|
+
logger_1.default.debug(`Flushing cache with pattern ${flushPattern}`);
|
|
158
|
+
let scanIterator;
|
|
159
|
+
try {
|
|
160
|
+
scanIterator = redisInstance.scanIterator({ MATCH: flushPattern, COUNT: 100 });
|
|
161
|
+
try {
|
|
162
|
+
for (var scanIterator_1 = __asyncValues(scanIterator), scanIterator_1_1; scanIterator_1_1 = yield scanIterator_1.next(), !scanIterator_1_1.done;) {
|
|
163
|
+
const key = scanIterator_1_1.value;
|
|
164
|
+
yield redisInstance.del(key);
|
|
165
|
+
}
|
|
175
166
|
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
167
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
168
|
+
finally {
|
|
169
|
+
try {
|
|
170
|
+
if (scanIterator_1_1 && !scanIterator_1_1.done && (_a = scanIterator_1.return)) yield _a.call(scanIterator_1);
|
|
171
|
+
}
|
|
172
|
+
finally { if (e_1) throw e_1.error; }
|
|
180
173
|
}
|
|
181
|
-
|
|
182
|
-
stream.on('end', () => {
|
|
183
|
-
pipeline.exec(() => { logger_1.default.info('final batch delete complete'); });
|
|
174
|
+
logger_1.default.debug(`Successfully flushed cache pattern ${flushPattern}`);
|
|
184
175
|
return;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
logger_1.default.error('
|
|
176
|
+
}
|
|
177
|
+
catch (err) {
|
|
178
|
+
logger_1.default.error('Error flushing ACS cache', { message: err.message });
|
|
188
179
|
return;
|
|
189
|
-
}
|
|
190
|
-
return;
|
|
180
|
+
}
|
|
191
181
|
}
|
|
192
182
|
logger_1.default.debug('Flushing ACS cache');
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
return reject();
|
|
198
|
-
}
|
|
199
|
-
if (reply) {
|
|
200
|
-
logger_1.default.debug('Flushed ACS cache');
|
|
201
|
-
return resolve(0);
|
|
202
|
-
}
|
|
203
|
-
}));
|
|
204
|
-
});
|
|
183
|
+
const reply = yield redisInstance.flushDb();
|
|
184
|
+
if (reply) {
|
|
185
|
+
logger_1.default.debug('Flushed ACS cache');
|
|
186
|
+
}
|
|
205
187
|
});
|
|
206
188
|
exports.flushCache = flushCache;
|
|
207
189
|
/**
|
package/lib/acs/cache.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/acs/cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/acs/cache.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@restorecommerce/acs-client",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.12",
|
|
4
4
|
"description": "Access Control Service Client",
|
|
5
5
|
"author": "n-fuse GmbH",
|
|
6
6
|
"repository": {
|
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
"@restorecommerce/logger": "^0.12.1",
|
|
23
23
|
"@restorecommerce/protos": "^0.6.3",
|
|
24
24
|
"@restorecommerce/service-config": "^0.4.25",
|
|
25
|
-
"ioredis": "^4.28.2",
|
|
26
25
|
"lodash": "^4.17.21",
|
|
27
|
-
"node-eval": "^2.0.0"
|
|
26
|
+
"node-eval": "^2.0.0",
|
|
27
|
+
"redis": "^4.0.3"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
30
|
"@types/koa": "^2.13.4",
|
|
@@ -49,9 +49,6 @@
|
|
|
49
49
|
"ts-node": "^10.4.0",
|
|
50
50
|
"typescript": "^4.5.2"
|
|
51
51
|
},
|
|
52
|
-
"optionalDependencies": {
|
|
53
|
-
"redis": "^2.8.0"
|
|
54
|
-
},
|
|
55
52
|
"scripts": {
|
|
56
53
|
"build:tsc": "tsc -d",
|
|
57
54
|
"build:tsc:watch": "tsc -d --watch",
|
|
@@ -65,5 +62,5 @@
|
|
|
65
62
|
"lcov-report": "nyc report --reporter=lcov",
|
|
66
63
|
"coveralls": "nyc report --reporter=text-lcov | coveralls"
|
|
67
64
|
},
|
|
68
|
-
"gitHead": "
|
|
65
|
+
"gitHead": "a0a2df9107933cab3b0c9d834fba8f3b8f034247"
|
|
69
66
|
}
|