@tellescope/sdk 1.255.17 → 1.255.19
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/lib/cjs/sdk.d.ts +7 -2
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +1 -0
- package/lib/cjs/sdk.js.map +1 -1
- package/lib/cjs/tests/api_tests/auto_merge_form_submission.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/auto_merge_form_submission.test.js +18 -8
- package/lib/cjs/tests/api_tests/auto_merge_form_submission.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/healthie_multi_integration.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/healthie_multi_integration.test.js +203 -72
- package/lib/cjs/tests/api_tests/healthie_multi_integration.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts +6 -0
- package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js +102 -0
- package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/scoped_api_keys.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/scoped_api_keys.test.js +215 -112
- package/lib/cjs/tests/api_tests/scoped_api_keys.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js +121 -78
- package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/F-0166-allowed-paths-wildcard-bypass.test.d.ts +6 -0
- package/lib/cjs/tests/api_tests/security/F-0166-allowed-paths-wildcard-bypass.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/F-0166-allowed-paths-wildcard-bypass.test.js +773 -0
- package/lib/cjs/tests/api_tests/security/F-0166-allowed-paths-wildcard-bypass.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +17 -0
- package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +215 -0
- package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts +6 -0
- package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js +1200 -0
- package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/public_endpoint_auth_field_lock.test.d.ts +6 -0
- package/lib/cjs/tests/api_tests/security/public_endpoint_auth_field_lock.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/security/public_endpoint_auth_field_lock.test.js +2330 -0
- package/lib/cjs/tests/api_tests/security/public_endpoint_auth_field_lock.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -0
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js +204 -0
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -0
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +211 -178
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/esm/enduser.d.ts +1 -0
- package/lib/esm/enduser.d.ts.map +1 -1
- package/lib/esm/sdk.d.ts +10 -4
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +1 -0
- package/lib/esm/sdk.js.map +1 -1
- package/lib/esm/session.d.ts +1 -0
- package/lib/esm/session.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/auto_merge_form_submission.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/auto_merge_form_submission.test.js +18 -8
- package/lib/esm/tests/api_tests/auto_merge_form_submission.test.js.map +1 -1
- package/lib/esm/tests/api_tests/healthie_multi_integration.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/healthie_multi_integration.test.js +205 -74
- package/lib/esm/tests/api_tests/healthie_multi_integration.test.js.map +1 -1
- package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts +6 -0
- package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js +98 -0
- package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -0
- package/lib/esm/tests/api_tests/scoped_api_keys.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/scoped_api_keys.test.js +215 -112
- package/lib/esm/tests/api_tests/scoped_api_keys.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js +121 -78
- package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/F-0166-allowed-paths-wildcard-bypass.test.d.ts +6 -0
- package/lib/esm/tests/api_tests/security/F-0166-allowed-paths-wildcard-bypass.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/F-0166-allowed-paths-wildcard-bypass.test.js +766 -0
- package/lib/esm/tests/api_tests/security/F-0166-allowed-paths-wildcard-bypass.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +17 -0
- package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +211 -0
- package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts +6 -0
- package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js +1193 -0
- package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/public_endpoint_auth_field_lock.test.d.ts +6 -0
- package/lib/esm/tests/api_tests/security/public_endpoint_auth_field_lock.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/security/public_endpoint_auth_field_lock.test.js +2323 -0
- package/lib/esm/tests/api_tests/security/public_endpoint_auth_field_lock.test.js.map +1 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js +200 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -0
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +211 -178
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/sdk.ts +4 -0
- package/src/tests/api_tests/auto_merge_form_submission.test.ts +13 -4
- package/src/tests/api_tests/healthie_multi_integration.test.ts +103 -5
- package/src/tests/api_tests/phone_calls_conference_hold.test.ts +62 -0
- package/src/tests/api_tests/scoped_api_keys.test.ts +87 -0
- package/src/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.ts +38 -4
- package/src/tests/api_tests/security/F-0166-allowed-paths-wildcard-bypass.test.ts +506 -0
- package/src/tests/api_tests/security/enduser-ai-summary-trust-gate.test.ts +125 -0
- package/src/tests/api_tests/security/formsort_webhook_auth_field_lock.test.ts +753 -0
- package/src/tests/api_tests/security/public_endpoint_auth_field_lock.test.ts +1707 -0
- package/src/tests/api_tests/tickets_bulk_assign_care_team.test.ts +132 -0
- package/src/tests/tests.ts +20 -1
- package/test_generated.pdf +0 -0
- package/.env +0 -13
|
@@ -51,16 +51,16 @@ var TEST_EMAIL = "scoped-api-keys@tellescope.com";
|
|
|
51
51
|
var scoped_api_keys_tests = function (_a) {
|
|
52
52
|
var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
|
|
53
53
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
54
|
-
var form, buildUrl, bodyFor, keyIds, formResponseIds, throwawayUserId, throwawayRoleId, scoped_1, headerResult, pathResult, apiKeysRole, throwawayUser,
|
|
55
|
-
var
|
|
56
|
-
var
|
|
57
|
-
return __generator(this, function (
|
|
58
|
-
switch (
|
|
54
|
+
var form, buildUrl, bodyFor, keyIds, formResponseIds, fileIds, throwawayUserId, throwawayRoleId, scoped_1, headerResult, pathResult, scopedSession_1, uploadedFile_1, blockedFileEndpoints, _i, blockedFileEndpoints_1, _b, label, call, apiKeysRole, throwawayUser, _c, otherSdk_1, _d, nonAdminKey, unscoped_1, unscopedKeyValue_1, apiKeys, _e, keyIds_1, id, _f, formResponseIds_1, id, _g, fileIds_1, id, enduser, err_1;
|
|
55
|
+
var _h;
|
|
56
|
+
var _j, _k, _l, _m;
|
|
57
|
+
return __generator(this, function (_o) {
|
|
58
|
+
switch (_o.label) {
|
|
59
59
|
case 0:
|
|
60
60
|
(0, testing_1.log_header)("Scoped API Keys (form-ingestion)");
|
|
61
61
|
return [4 /*yield*/, sdk.api.forms.createOne({ title: "Scoped API Key Test Form" })];
|
|
62
62
|
case 1:
|
|
63
|
-
form =
|
|
63
|
+
form = _o.sent();
|
|
64
64
|
buildUrl = function (pathSegment) {
|
|
65
65
|
var url = new URL("".concat(host, "/v1/webhooks/form-ingestion/").concat(pathSegment));
|
|
66
66
|
url.searchParams.set('formId', form.id);
|
|
@@ -74,12 +74,13 @@ var scoped_api_keys_tests = function (_a) {
|
|
|
74
74
|
}); };
|
|
75
75
|
keyIds = [];
|
|
76
76
|
formResponseIds = [];
|
|
77
|
-
|
|
77
|
+
fileIds = [];
|
|
78
|
+
_o.label = 2;
|
|
78
79
|
case 2:
|
|
79
|
-
|
|
80
|
+
_o.trys.push([2, , 38, 60]);
|
|
80
81
|
return [4 /*yield*/, sdk.api.api_keys.createOne({ scopes: [types_models_1.FORM_INGESTION_API_KEY_SCOPE] })];
|
|
81
82
|
case 3:
|
|
82
|
-
scoped_1 =
|
|
83
|
+
scoped_1 = _o.sent();
|
|
83
84
|
keyIds.push(scoped_1.id);
|
|
84
85
|
(0, testing_1.assert)(!!scoped_1.id && !!scoped_1.key, "scoped key create returned no id/key", "admin creates a form-ingestion-scoped key");
|
|
85
86
|
// record reflects the scope for its creator (CREATOR_ONLY_ACCESS read)
|
|
@@ -90,7 +91,7 @@ var scoped_api_keys_tests = function (_a) {
|
|
|
90
91
|
];
|
|
91
92
|
case 4:
|
|
92
93
|
// record reflects the scope for its creator (CREATOR_ONLY_ACCESS read)
|
|
93
|
-
|
|
94
|
+
_o.sent();
|
|
94
95
|
// =============================================
|
|
95
96
|
// (b) Scoped key is rejected on all general /v1 auth
|
|
96
97
|
// =============================================
|
|
@@ -101,91 +102,129 @@ var scoped_api_keys_tests = function (_a) {
|
|
|
101
102
|
// =============================================
|
|
102
103
|
// (b) Scoped key is rejected on all general /v1 auth
|
|
103
104
|
// =============================================
|
|
104
|
-
|
|
105
|
+
_o.sent();
|
|
105
106
|
return [4 /*yield*/, (0, testing_1.async_test)("scoped key rejected on GET /v1/endusers", function () { return axios_1.default.get("".concat(host, "/v1/endusers"), { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }, { shouldError: true, onError: function (e) { var _a; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401; } })];
|
|
106
107
|
case 6:
|
|
107
|
-
|
|
108
|
+
_o.sent();
|
|
108
109
|
return [4 /*yield*/, (0, testing_1.async_test)("scoped key rejected on cross-org targeting (x-tellescope-organization)", function () { return axios_1.default.get("".concat(host, "/v1/endusers"), {
|
|
109
110
|
headers: {
|
|
110
111
|
Authorization: "API_KEY ".concat(scoped_1.key),
|
|
111
112
|
'x-tellescope-organization': sdk.userInfo.businessId,
|
|
112
113
|
},
|
|
113
|
-
}); }, { shouldError: true, onError: function (e) { var _a; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401; } })
|
|
114
|
+
}); }, { shouldError: true, onError: function (e) { var _a; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401; } })];
|
|
115
|
+
case 7:
|
|
116
|
+
_o.sent();
|
|
117
|
+
return [4 /*yield*/, (0, testing_1.async_test)("scoped key cannot create API keys (escalation guard)", function () { return axios_1.default.post("".concat(host, "/v1/api-key"), {}, { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }, { shouldError: true, onError: function (e) { var _a; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401; } })
|
|
114
118
|
// =============================================
|
|
115
119
|
// (c) Scoped key IS accepted by the form-ingestion webhook
|
|
116
120
|
// =============================================
|
|
117
121
|
];
|
|
118
|
-
case 7:
|
|
119
|
-
_k.sent();
|
|
120
|
-
return [4 /*yield*/, axios_1.default.post(buildUrl('key-in-header'), bodyFor("scoped-1"), { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } })];
|
|
121
122
|
case 8:
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
123
|
+
_o.sent();
|
|
124
|
+
return [4 /*yield*/, axios_1.default.post(buildUrl('key-in-header'), bodyFor("scoped-1"), { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } })];
|
|
125
|
+
case 9:
|
|
126
|
+
headerResult = _o.sent();
|
|
127
|
+
(0, testing_1.assert)(headerResult.status === 200 && !!((_j = headerResult.data) === null || _j === void 0 ? void 0 : _j.formResponseId), "scoped key header auth failed: ".concat(headerResult.status, " ").concat(JSON.stringify(headerResult.data)), "scoped key authenticates the form-ingestion webhook via header");
|
|
128
|
+
if ((_k = headerResult.data) === null || _k === void 0 ? void 0 : _k.formResponseId)
|
|
125
129
|
formResponseIds.push(headerResult.data.formResponseId);
|
|
126
130
|
return [4 /*yield*/, axios_1.default.post(buildUrl(scoped_1.key), bodyFor("scoped-2"))];
|
|
127
|
-
case
|
|
128
|
-
pathResult =
|
|
129
|
-
(0, testing_1.assert)(pathResult.status === 200 && !!((
|
|
130
|
-
if ((
|
|
131
|
+
case 10:
|
|
132
|
+
pathResult = _o.sent();
|
|
133
|
+
(0, testing_1.assert)(pathResult.status === 200 && !!((_l = pathResult.data) === null || _l === void 0 ? void 0 : _l.formResponseId), "scoped key path auth failed: ".concat(pathResult.status, " ").concat(JSON.stringify(pathResult.data)), "scoped key authenticates the form-ingestion webhook via path segment");
|
|
134
|
+
if ((_m = pathResult.data) === null || _m === void 0 ? void 0 : _m.formResponseId)
|
|
131
135
|
formResponseIds.push(pathResult.data.formResponseId);
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
136
|
+
scopedSession_1 = new sdk_1.Session({ host: host, apiKey: scoped_1.key });
|
|
137
|
+
return [4 /*yield*/, scopedSession_1.api.files.prepare_file_upload({
|
|
138
|
+
name: 'scoped-intake-file.txt', size: 12, type: 'text/plain',
|
|
135
139
|
})];
|
|
136
|
-
case 10:
|
|
137
|
-
apiKeysRole = _k.sent();
|
|
138
|
-
throwawayRoleId = apiKeysRole.id;
|
|
139
|
-
return [4 /*yield*/, sdk.api.users.getOne({ email: 'scoped.api.keys.user@tellescope.com' }).catch(function () { return null; })];
|
|
140
140
|
case 11:
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
141
|
+
uploadedFile_1 = (_o.sent()).file;
|
|
142
|
+
(0, testing_1.assert)(!!(uploadedFile_1 === null || uploadedFile_1 === void 0 ? void 0 : uploadedFile_1.id), "scoped key prepare_file_upload returned no file", "scoped key can call POST /prepare-file-upload");
|
|
143
|
+
if (uploadedFile_1 === null || uploadedFile_1 === void 0 ? void 0 : uploadedFile_1.id)
|
|
144
|
+
fileIds.push(uploadedFile_1.id);
|
|
145
|
+
return [4 /*yield*/, (0, testing_1.async_test)("scoped key can call POST /files/confirm-upload", function () { return scopedSession_1.api.files.confirm_file_upload({ id: uploadedFile_1.id }); }, { onResult: function () { return true; } })
|
|
146
|
+
// ...but is blocked from EVERY other endpoint in the files domain — proving the two allowed paths are the
|
|
147
|
+
// ONLY files access, and that the '/files/confirm-upload' allow-prefix does not open the '/files/*' namespace.
|
|
148
|
+
];
|
|
144
149
|
case 12:
|
|
145
|
-
|
|
146
|
-
|
|
150
|
+
_o.sent();
|
|
151
|
+
blockedFileEndpoints = [
|
|
152
|
+
['GET /v1/files (readMany)', function () { return axios_1.default.get("".concat(host, "/v1/files"), { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }],
|
|
153
|
+
['GET /v1/file/:id (read one)', function () { return axios_1.default.get("".concat(host, "/v1/file/000000000000000000000000"), { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }],
|
|
154
|
+
['DELETE /v1/file/:id (destructive)', function () { return axios_1.default.delete("".concat(host, "/v1/file/000000000000000000000000"), { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }],
|
|
155
|
+
['POST /v1/files/send-fax (/files/* sibling)', function () { return axios_1.default.post("".concat(host, "/v1/files/send-fax"), {}, { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }],
|
|
156
|
+
['POST /v1/files/ocr (/files/* sibling)', function () { return axios_1.default.post("".concat(host, "/v1/files/ocr"), {}, { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }],
|
|
157
|
+
['POST /v1/files/push (/files/* sibling)', function () { return axios_1.default.post("".concat(host, "/v1/files/push"), {}, { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }],
|
|
158
|
+
];
|
|
159
|
+
_i = 0, blockedFileEndpoints_1 = blockedFileEndpoints;
|
|
160
|
+
_o.label = 13;
|
|
147
161
|
case 13:
|
|
148
|
-
|
|
162
|
+
if (!(_i < blockedFileEndpoints_1.length)) return [3 /*break*/, 16];
|
|
163
|
+
_b = blockedFileEndpoints_1[_i], label = _b[0], call = _b[1];
|
|
164
|
+
return [4 /*yield*/, (0, testing_1.async_test)("scoped key blocked on ".concat(label), call, { shouldError: true, onError: function (e) { var _a, _b; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401 || ((_b = e.response) === null || _b === void 0 ? void 0 : _b.status) === 403; } })];
|
|
165
|
+
case 14:
|
|
166
|
+
_o.sent();
|
|
167
|
+
_o.label = 15;
|
|
168
|
+
case 15:
|
|
169
|
+
_i++;
|
|
170
|
+
return [3 /*break*/, 13];
|
|
171
|
+
case 16: return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
|
|
172
|
+
role: 'scoped-api-keys-test-role',
|
|
173
|
+
permissions: { api_keys: { create: 'All', read: 'All', update: 'All', delete: 'All' } },
|
|
174
|
+
})];
|
|
175
|
+
case 17:
|
|
176
|
+
apiKeysRole = _o.sent();
|
|
177
|
+
throwawayRoleId = apiKeysRole.id;
|
|
178
|
+
return [4 /*yield*/, sdk.api.users.getOne({ email: 'scoped.api.keys.user@tellescope.com' }).catch(function () { return null; })];
|
|
179
|
+
case 18:
|
|
180
|
+
_c = (_o.sent());
|
|
181
|
+
if (_c) return [3 /*break*/, 20];
|
|
182
|
+
return [4 /*yield*/, sdk.api.users.createOne({ email: 'scoped.api.keys.user@tellescope.com', notificationEmailsDisabled: true, verifiedEmail: true })];
|
|
183
|
+
case 19:
|
|
184
|
+
_c = (_o.sent());
|
|
185
|
+
_o.label = 20;
|
|
186
|
+
case 20:
|
|
187
|
+
throwawayUser = _c;
|
|
149
188
|
throwawayUserId = throwawayUser.id;
|
|
150
189
|
return [4 /*yield*/, sdk.api.users.updateOne(throwawayUser.id, { roles: [apiKeysRole.role] }, { replaceObjectFields: true })];
|
|
151
|
-
case
|
|
152
|
-
|
|
190
|
+
case 21:
|
|
191
|
+
_o.sent();
|
|
153
192
|
return [4 /*yield*/, (0, testing_1.wait)(undefined, 2000)]; // wait for the role change to propagate before authenticating
|
|
154
|
-
case
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
193
|
+
case 22:
|
|
194
|
+
_o.sent(); // wait for the role change to propagate before authenticating
|
|
195
|
+
_d = sdk_1.Session.bind;
|
|
196
|
+
_h = {
|
|
158
197
|
host: host
|
|
159
198
|
};
|
|
160
199
|
return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: throwawayUser.id })];
|
|
161
|
-
case
|
|
162
|
-
otherSdk_1 = new (
|
|
163
|
-
|
|
200
|
+
case 23:
|
|
201
|
+
otherSdk_1 = new (_d.apply(sdk_1.Session, [void 0, (_h.authToken = (_o.sent()).authToken,
|
|
202
|
+
_h)]))();
|
|
164
203
|
return [4 /*yield*/, (0, testing_1.async_test)("non-admin cannot create a scoped key (401)", function () { return otherSdk_1.api.api_keys.createOne({ scopes: [types_models_1.FORM_INGESTION_API_KEY_SCOPE] }); }, { shouldError: true, onError: function (e) { return e === 'Unauthenticated' || (e === null || e === void 0 ? void 0 : e.statusCode) === 401 || /admin/i.test((e === null || e === void 0 ? void 0 : e.message) || ''); } })
|
|
165
204
|
// ...but CAN still create an unscoped key; an empty scopes list is rejected by validation (fail closed)
|
|
166
205
|
];
|
|
167
|
-
case
|
|
168
|
-
|
|
206
|
+
case 24:
|
|
207
|
+
_o.sent();
|
|
169
208
|
return [4 /*yield*/, otherSdk_1.api.api_keys.createOne({})];
|
|
170
|
-
case
|
|
171
|
-
nonAdminKey =
|
|
209
|
+
case 25:
|
|
210
|
+
nonAdminKey = _o.sent();
|
|
172
211
|
return [4 /*yield*/, (0, testing_1.async_test)("empty scopes list rejected by validation", function () { return otherSdk_1.api.api_keys.createOne({ scopes: [] }); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.statusCode) === 400 || /empty|not valid|invalid/i.test((e === null || e === void 0 ? void 0 : e.message) || ''); } })
|
|
173
212
|
// creator-only cleanup for the throwaway user's key before the user is deleted
|
|
174
213
|
];
|
|
175
|
-
case
|
|
176
|
-
|
|
214
|
+
case 26:
|
|
215
|
+
_o.sent();
|
|
177
216
|
// creator-only cleanup for the throwaway user's key before the user is deleted
|
|
178
217
|
return [4 /*yield*/, otherSdk_1.api.api_keys.deleteOne(nonAdminKey.id).catch(function () { })
|
|
179
218
|
// =============================================
|
|
180
219
|
// (e) Unscoped keys are unchanged (no regression)
|
|
181
220
|
// =============================================
|
|
182
221
|
];
|
|
183
|
-
case
|
|
222
|
+
case 27:
|
|
184
223
|
// creator-only cleanup for the throwaway user's key before the user is deleted
|
|
185
|
-
|
|
224
|
+
_o.sent();
|
|
186
225
|
return [4 /*yield*/, sdk.api.api_keys.createOne({})];
|
|
187
|
-
case
|
|
188
|
-
unscoped_1 =
|
|
226
|
+
case 28:
|
|
227
|
+
unscoped_1 = _o.sent();
|
|
189
228
|
unscopedKeyValue_1 = unscoped_1.key;
|
|
190
229
|
keyIds.push(unscoped_1.id);
|
|
191
230
|
return [4 /*yield*/, (0, testing_1.async_test)("unscoped key still authenticates general /v1", function () { return new sdk_1.Session({ host: host, apiKey: unscopedKeyValue_1 }).test_authenticated(); }, { onResult: function (r) { return !!r; } })
|
|
@@ -193,8 +232,8 @@ var scoped_api_keys_tests = function (_a) {
|
|
|
193
232
|
// webhook's hex lookup never matches — only legacy plaintext keys and hex-stored scoped keys work there.
|
|
194
233
|
// (Legacy-key webhook auth is covered by formsort_header_auth.test.ts.)
|
|
195
234
|
];
|
|
196
|
-
case
|
|
197
|
-
|
|
235
|
+
case 29:
|
|
236
|
+
_o.sent();
|
|
198
237
|
// Frozen pre-existing behavior: unscoped /v1-created keys store a utf8-encoded hashedKey, which the
|
|
199
238
|
// webhook's hex lookup never matches — only legacy plaintext keys and hex-stored scoped keys work there.
|
|
200
239
|
// (Legacy-key webhook auth is covered by formsort_header_auth.test.ts.)
|
|
@@ -203,81 +242,145 @@ var scoped_api_keys_tests = function (_a) {
|
|
|
203
242
|
// (f) Admin org-wide list includes scopes (and still never leaks secrets)
|
|
204
243
|
// =============================================
|
|
205
244
|
];
|
|
206
|
-
case
|
|
245
|
+
case 30:
|
|
207
246
|
// Frozen pre-existing behavior: unscoped /v1-created keys store a utf8-encoded hashedKey, which the
|
|
208
247
|
// webhook's hex lookup never matches — only legacy plaintext keys and hex-stored scoped keys work there.
|
|
209
248
|
// (Legacy-key webhook auth is covered by formsort_header_auth.test.ts.)
|
|
210
|
-
|
|
249
|
+
_o.sent();
|
|
211
250
|
return [4 /*yield*/, sdk.api.api_keys.get_organization_api_keys()];
|
|
212
|
-
case
|
|
213
|
-
apiKeys = (
|
|
251
|
+
case 31:
|
|
252
|
+
apiKeys = (_o.sent()).apiKeys;
|
|
214
253
|
(0, testing_1.assert)(!!apiKeys.find(function (k) { return k.id === scoped_1.id && JSON.stringify(k.scopes) === JSON.stringify([types_models_1.FORM_INGESTION_API_KEY_SCOPE]); }), "org list did not report scopes on the scoped key", "get_organization_api_keys reports scopes on scoped keys");
|
|
215
254
|
(0, testing_1.assert)(!!apiKeys.find(function (k) { return k.id === unscoped_1.id && k.scopes === undefined; }), "org list reported scopes on an unscoped key", "get_organization_api_keys omits scopes on unscoped keys");
|
|
216
255
|
(0, testing_1.assert)(apiKeys.every(function (k) { return k.key === undefined && k.hashedKey === undefined; }), "org list leaked key material", "get_organization_api_keys still never returns key/hashedKey");
|
|
217
256
|
// =============================================
|
|
218
|
-
//
|
|
257
|
+
// (g) Legacy non-/v1 funnel (app.js requireLoginAndAccess → is_logged_in_API_key with NO requestPath).
|
|
258
|
+
// Proves scoped keys fail closed on every non-/v1 caller (also stands in for the Medplum webhook path),
|
|
259
|
+
// and that unscoped keys still authenticate the legacy funnel after this work.
|
|
260
|
+
// NOTE: the legacy middleware reads the key from ?apiKey= / body only (never the Authorization header).
|
|
219
261
|
// =============================================
|
|
220
|
-
return [4 /*yield*/, (0, testing_1.async_test)("
|
|
221
|
-
case
|
|
262
|
+
return [4 /*yield*/, (0, testing_1.async_test)("unscoped key authenticates a legacy non-/v1 route", function () { return axios_1.default.get("".concat(host, "/API-keys-for-user?apiKey=").concat(encodeURIComponent(unscopedKeyValue_1))); }, { onResult: function (r) { return r.status === 200; } })];
|
|
263
|
+
case 32:
|
|
222
264
|
// =============================================
|
|
223
|
-
//
|
|
265
|
+
// (g) Legacy non-/v1 funnel (app.js requireLoginAndAccess → is_logged_in_API_key with NO requestPath).
|
|
266
|
+
// Proves scoped keys fail closed on every non-/v1 caller (also stands in for the Medplum webhook path),
|
|
267
|
+
// and that unscoped keys still authenticate the legacy funnel after this work.
|
|
268
|
+
// NOTE: the legacy middleware reads the key from ?apiKey= / body only (never the Authorization header).
|
|
224
269
|
// =============================================
|
|
225
|
-
|
|
226
|
-
return [
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
if (!(_i < keyIds_1.length)) return [3 /*break*/, 30];
|
|
232
|
-
id = keyIds_1[_i];
|
|
233
|
-
return [4 /*yield*/, sdk.api.api_keys.deleteOne(id).catch(function () { })];
|
|
234
|
-
case 28:
|
|
235
|
-
_k.sent();
|
|
236
|
-
_k.label = 29;
|
|
237
|
-
case 29:
|
|
238
|
-
_i++;
|
|
239
|
-
return [3 /*break*/, 27];
|
|
240
|
-
case 30:
|
|
241
|
-
_d = 0, formResponseIds_1 = formResponseIds;
|
|
242
|
-
_k.label = 31;
|
|
243
|
-
case 31:
|
|
244
|
-
if (!(_d < formResponseIds_1.length)) return [3 /*break*/, 34];
|
|
245
|
-
id = formResponseIds_1[_d];
|
|
246
|
-
return [4 /*yield*/, sdk.api.form_responses.deleteOne(id).catch(function () { })];
|
|
247
|
-
case 32:
|
|
248
|
-
_k.sent();
|
|
249
|
-
_k.label = 33;
|
|
270
|
+
_o.sent();
|
|
271
|
+
return [4 /*yield*/, (0, testing_1.async_test)("scoped key rejected on a legacy non-/v1 route (fail closed, no requestPath)", function () { return axios_1.default.get("".concat(host, "/API-keys-for-user?apiKey=").concat(encodeURIComponent(scoped_1.key))); }, { shouldError: true, onError: function (e) { var _a; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401; } })
|
|
272
|
+
// =============================================
|
|
273
|
+
// (h) Data-egress adjacency: the scope's allowed paths must NOT leak to the file DOWNLOAD endpoint.
|
|
274
|
+
// =============================================
|
|
275
|
+
];
|
|
250
276
|
case 33:
|
|
251
|
-
|
|
252
|
-
|
|
277
|
+
_o.sent();
|
|
278
|
+
// =============================================
|
|
279
|
+
// (h) Data-egress adjacency: the scope's allowed paths must NOT leak to the file DOWNLOAD endpoint.
|
|
280
|
+
// =============================================
|
|
281
|
+
return [4 /*yield*/, (0, testing_1.async_test)("scoped key cannot call file_download_URL (no PHI egress)", function () { return axios_1.default.get("".concat(host, "/v1/file-download-URL?secureName=nonexistent"), { headers: { Authorization: "API_KEY ".concat(scoped_1.key) } }); }, { shouldError: true, onError: function (e) { var _a, _b; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401 || ((_b = e.response) === null || _b === void 0 ? void 0 : _b.status) === 403; } })
|
|
282
|
+
// =============================================
|
|
283
|
+
// (i) Transport independence: the scope gate applies whether the key is in the header or the ?apiKey= query.
|
|
284
|
+
// =============================================
|
|
285
|
+
];
|
|
253
286
|
case 34:
|
|
254
|
-
|
|
255
|
-
|
|
287
|
+
// =============================================
|
|
288
|
+
// (h) Data-egress adjacency: the scope's allowed paths must NOT leak to the file DOWNLOAD endpoint.
|
|
289
|
+
// =============================================
|
|
290
|
+
_o.sent();
|
|
291
|
+
// =============================================
|
|
292
|
+
// (i) Transport independence: the scope gate applies whether the key is in the header or the ?apiKey= query.
|
|
293
|
+
// =============================================
|
|
294
|
+
return [4 /*yield*/, (0, testing_1.async_test)("scoped key via ?apiKey= query param still rejected on a disallowed /v1 endpoint", function () { return axios_1.default.get("".concat(host, "/v1/endusers?apiKey=").concat(encodeURIComponent(scoped_1.key))); }, { shouldError: true, onError: function (e) { var _a, _b; return ((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 401 || ((_b = e.response) === null || _b === void 0 ? void 0 : _b.status) === 403; } })];
|
|
256
295
|
case 35:
|
|
257
|
-
|
|
258
|
-
|
|
296
|
+
// =============================================
|
|
297
|
+
// (i) Transport independence: the scope gate applies whether the key is in the header or the ?apiKey= query.
|
|
298
|
+
// =============================================
|
|
299
|
+
_o.sent();
|
|
300
|
+
return [4 /*yield*/, (0, testing_1.async_test)("unscoped key via ?apiKey= query param still authenticates /v1 (regression)", function () { return axios_1.default.get("".concat(host, "/v1/test-authenticated?apiKey=").concat(encodeURIComponent(unscopedKeyValue_1))); }, { onResult: function (r) { return r.status === 200; } })
|
|
301
|
+
// =============================================
|
|
302
|
+
// Validation: unknown scope values are rejected
|
|
303
|
+
// =============================================
|
|
304
|
+
];
|
|
259
305
|
case 36:
|
|
260
|
-
|
|
261
|
-
|
|
306
|
+
_o.sent();
|
|
307
|
+
// =============================================
|
|
308
|
+
// Validation: unknown scope values are rejected
|
|
309
|
+
// =============================================
|
|
310
|
+
return [4 /*yield*/, (0, testing_1.async_test)("unknown scope value rejected by validation", function () { return sdk.api.api_keys.createOne({ scopes: ['not-a-real-scope'] }); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.statusCode) === 400 || /must match|not valid|invalid/i.test((e === null || e === void 0 ? void 0 : e.message) || ''); } })];
|
|
262
311
|
case 37:
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
312
|
+
// =============================================
|
|
313
|
+
// Validation: unknown scope values are rejected
|
|
314
|
+
// =============================================
|
|
315
|
+
_o.sent();
|
|
316
|
+
return [3 /*break*/, 60];
|
|
317
|
+
case 38:
|
|
318
|
+
_e = 0, keyIds_1 = keyIds;
|
|
319
|
+
_o.label = 39;
|
|
266
320
|
case 39:
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
return [4 /*yield*/, sdk.api.
|
|
321
|
+
if (!(_e < keyIds_1.length)) return [3 /*break*/, 42];
|
|
322
|
+
id = keyIds_1[_e];
|
|
323
|
+
return [4 /*yield*/, sdk.api.api_keys.deleteOne(id).catch(function () { })];
|
|
270
324
|
case 40:
|
|
271
|
-
|
|
272
|
-
|
|
325
|
+
_o.sent();
|
|
326
|
+
_o.label = 41;
|
|
273
327
|
case 41:
|
|
274
|
-
|
|
275
|
-
return [
|
|
328
|
+
_e++;
|
|
329
|
+
return [3 /*break*/, 39];
|
|
276
330
|
case 42:
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
case 43:
|
|
280
|
-
|
|
331
|
+
_f = 0, formResponseIds_1 = formResponseIds;
|
|
332
|
+
_o.label = 43;
|
|
333
|
+
case 43:
|
|
334
|
+
if (!(_f < formResponseIds_1.length)) return [3 /*break*/, 46];
|
|
335
|
+
id = formResponseIds_1[_f];
|
|
336
|
+
return [4 /*yield*/, sdk.api.form_responses.deleteOne(id).catch(function () { })];
|
|
337
|
+
case 44:
|
|
338
|
+
_o.sent();
|
|
339
|
+
_o.label = 45;
|
|
340
|
+
case 45:
|
|
341
|
+
_f++;
|
|
342
|
+
return [3 /*break*/, 43];
|
|
343
|
+
case 46:
|
|
344
|
+
_g = 0, fileIds_1 = fileIds;
|
|
345
|
+
_o.label = 47;
|
|
346
|
+
case 47:
|
|
347
|
+
if (!(_g < fileIds_1.length)) return [3 /*break*/, 50];
|
|
348
|
+
id = fileIds_1[_g];
|
|
349
|
+
return [4 /*yield*/, sdk.api.files.deleteOne(id).catch(function () { })];
|
|
350
|
+
case 48:
|
|
351
|
+
_o.sent();
|
|
352
|
+
_o.label = 49;
|
|
353
|
+
case 49:
|
|
354
|
+
_g++;
|
|
355
|
+
return [3 /*break*/, 47];
|
|
356
|
+
case 50:
|
|
357
|
+
_o.trys.push([50, 53, , 54]);
|
|
358
|
+
return [4 /*yield*/, sdk.api.endusers.getOne({ email: TEST_EMAIL })];
|
|
359
|
+
case 51:
|
|
360
|
+
enduser = _o.sent();
|
|
361
|
+
return [4 /*yield*/, sdk.api.endusers.deleteOne(enduser.id)];
|
|
362
|
+
case 52:
|
|
363
|
+
_o.sent();
|
|
364
|
+
return [3 /*break*/, 54];
|
|
365
|
+
case 53:
|
|
366
|
+
err_1 = _o.sent();
|
|
367
|
+
return [3 /*break*/, 54];
|
|
368
|
+
case 54: return [4 /*yield*/, sdk.api.forms.deleteOne(form.id).catch(function () { })];
|
|
369
|
+
case 55:
|
|
370
|
+
_o.sent();
|
|
371
|
+
if (!throwawayUserId) return [3 /*break*/, 57];
|
|
372
|
+
return [4 /*yield*/, sdk.api.users.deleteOne(throwawayUserId).catch(function () { })];
|
|
373
|
+
case 56:
|
|
374
|
+
_o.sent();
|
|
375
|
+
_o.label = 57;
|
|
376
|
+
case 57:
|
|
377
|
+
if (!throwawayRoleId) return [3 /*break*/, 59];
|
|
378
|
+
return [4 /*yield*/, sdk.api.role_based_access_permissions.deleteOne(throwawayRoleId).catch(function () { })];
|
|
379
|
+
case 58:
|
|
380
|
+
_o.sent();
|
|
381
|
+
_o.label = 59;
|
|
382
|
+
case 59: return [7 /*endfinally*/];
|
|
383
|
+
case 60: return [2 /*return*/];
|
|
281
384
|
}
|
|
282
385
|
});
|
|
283
386
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped_api_keys.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/scoped_api_keys.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scoped_api_keys.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/scoped_api_keys.test.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"F-0106-F-0110-enduser-write-restrictions.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"F-0106-F-0110-enduser-write-restrictions.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,cAAc,CAAA;AAsEtD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gCAAgC;SAA2B,OAAO;iBAAe,OAAO;mBAwIpG,CAAA"}
|