@optimizely-opal/opal-tool-ocp-sdk 0.0.0-devmg.13 → 1.0.0-OCP-1441.2

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.
Files changed (62) hide show
  1. package/README.md +108 -15
  2. package/dist/auth/AuthUtils.d.ts +26 -0
  3. package/dist/auth/AuthUtils.d.ts.map +1 -0
  4. package/dist/auth/AuthUtils.js +109 -0
  5. package/dist/auth/AuthUtils.js.map +1 -0
  6. package/dist/auth/AuthUtils.test.d.ts +2 -0
  7. package/dist/auth/AuthUtils.test.d.ts.map +1 -0
  8. package/dist/auth/AuthUtils.test.js +601 -0
  9. package/dist/auth/AuthUtils.test.js.map +1 -0
  10. package/dist/auth/TokenVerifier.d.ts.map +1 -1
  11. package/dist/auth/TokenVerifier.js +0 -1
  12. package/dist/auth/TokenVerifier.js.map +1 -1
  13. package/dist/auth/TokenVerifier.test.js +9 -0
  14. package/dist/auth/TokenVerifier.test.js.map +1 -1
  15. package/dist/function/GlobalToolFunction.d.ts +27 -0
  16. package/dist/function/GlobalToolFunction.d.ts.map +1 -0
  17. package/dist/function/GlobalToolFunction.js +53 -0
  18. package/dist/function/GlobalToolFunction.js.map +1 -0
  19. package/dist/function/GlobalToolFunction.test.d.ts +2 -0
  20. package/dist/function/GlobalToolFunction.test.d.ts.map +1 -0
  21. package/dist/function/GlobalToolFunction.test.js +425 -0
  22. package/dist/function/GlobalToolFunction.test.js.map +1 -0
  23. package/dist/function/ToolFunction.d.ts +1 -2
  24. package/dist/function/ToolFunction.d.ts.map +1 -1
  25. package/dist/function/ToolFunction.js +2 -35
  26. package/dist/function/ToolFunction.js.map +1 -1
  27. package/dist/index.d.ts +1 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +1 -0
  30. package/dist/index.js.map +1 -1
  31. package/dist/service/Service.d.ts +8 -7
  32. package/dist/service/Service.d.ts.map +1 -1
  33. package/dist/service/Service.js +16 -0
  34. package/dist/service/Service.js.map +1 -1
  35. package/dist/service/Service.test.js +89 -4
  36. package/dist/service/Service.test.js.map +1 -1
  37. package/dist/validation/ParameterValidator.d.ts +42 -0
  38. package/dist/validation/ParameterValidator.d.ts.map +1 -0
  39. package/dist/validation/ParameterValidator.js +122 -0
  40. package/dist/validation/ParameterValidator.js.map +1 -0
  41. package/dist/validation/ParameterValidator.test.d.ts +2 -0
  42. package/dist/validation/ParameterValidator.test.d.ts.map +1 -0
  43. package/dist/validation/ParameterValidator.test.js +282 -0
  44. package/dist/validation/ParameterValidator.test.js.map +1 -0
  45. package/package.json +3 -4
  46. package/src/auth/AuthUtils.test.ts +729 -0
  47. package/src/auth/AuthUtils.ts +117 -0
  48. package/src/auth/TokenVerifier.test.ts +11 -0
  49. package/src/auth/TokenVerifier.ts +0 -1
  50. package/src/function/GlobalToolFunction.test.ts +505 -0
  51. package/src/function/GlobalToolFunction.ts +56 -0
  52. package/src/function/ToolFunction.ts +3 -41
  53. package/src/index.ts +1 -0
  54. package/src/service/Service.test.ts +129 -12
  55. package/src/service/Service.ts +50 -9
  56. package/src/validation/ParameterValidator.test.ts +341 -0
  57. package/src/validation/ParameterValidator.ts +153 -0
  58. package/dist/function/ToolFunction.test.d.ts +0 -2
  59. package/dist/function/ToolFunction.test.d.ts.map +0 -1
  60. package/dist/function/ToolFunction.test.js +0 -314
  61. package/dist/function/ToolFunction.test.js.map +0 -1
  62. package/src/function/ToolFunction.test.ts +0 -374
@@ -0,0 +1,601 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
4
+ const app_sdk_1 = require("@zaiusinc/app-sdk");
5
+ const TokenVerifier_1 = require("./TokenVerifier");
6
+ const AuthUtils_1 = require("./AuthUtils");
7
+ // Mock the dependencies
8
+ jest.mock('./TokenVerifier', () => ({
9
+ getTokenVerifier: jest.fn(),
10
+ }));
11
+ jest.mock('@zaiusinc/app-sdk', () => ({
12
+ getAppContext: jest.fn(),
13
+ logger: {
14
+ info: jest.fn(),
15
+ error: jest.fn(),
16
+ warn: jest.fn(),
17
+ debug: jest.fn(),
18
+ },
19
+ }));
20
+ describe('AuthUtils', () => {
21
+ let mockTokenVerifier;
22
+ let mockGetTokenVerifier;
23
+ let mockGetAppContext;
24
+ beforeEach(() => {
25
+ jest.clearAllMocks();
26
+ // Setup token verifier mock
27
+ mockTokenVerifier = {
28
+ verify: jest.fn(),
29
+ };
30
+ mockGetTokenVerifier = TokenVerifier_1.getTokenVerifier;
31
+ mockGetTokenVerifier.mockResolvedValue(mockTokenVerifier);
32
+ // Setup app context mock with default organization
33
+ mockGetAppContext = app_sdk_1.getAppContext;
34
+ mockGetAppContext.mockReturnValue({
35
+ account: {
36
+ organizationId: 'test-org-123'
37
+ }
38
+ });
39
+ });
40
+ describe('authenticateRegularRequest', () => {
41
+ beforeEach(() => {
42
+ // Default to successful token verification
43
+ mockTokenVerifier.verify.mockResolvedValue(true);
44
+ });
45
+ describe('when request is for discovery endpoint', () => {
46
+ it('should return true without authentication', async () => {
47
+ const request = { path: '/discovery' };
48
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
49
+ expect(result).toBe(true);
50
+ expect(mockGetTokenVerifier).not.toHaveBeenCalled();
51
+ expect(mockTokenVerifier.verify).not.toHaveBeenCalled();
52
+ });
53
+ });
54
+ describe('when request is for ready endpoint', () => {
55
+ it('should return true without authentication', async () => {
56
+ const request = { path: '/ready' };
57
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
58
+ expect(result).toBe(true);
59
+ expect(mockGetTokenVerifier).not.toHaveBeenCalled();
60
+ expect(mockTokenVerifier.verify).not.toHaveBeenCalled();
61
+ });
62
+ });
63
+ describe('when request has valid authentication', () => {
64
+ it('should return true for valid OptiID token with matching organization', async () => {
65
+ const request = {
66
+ path: '/some-tool',
67
+ bodyJSON: {
68
+ auth: {
69
+ provider: 'OptiID',
70
+ credentials: {
71
+ customer_id: 'test-org-123',
72
+ access_token: 'valid-token-123'
73
+ }
74
+ }
75
+ }
76
+ };
77
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
78
+ expect(result).toBe(true);
79
+ expect(mockGetTokenVerifier).toHaveBeenCalled();
80
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-token-123');
81
+ });
82
+ it('should handle case-insensitive provider names', async () => {
83
+ const request = {
84
+ path: '/some-tool',
85
+ bodyJSON: {
86
+ auth: {
87
+ provider: 'optiid', // lowercase
88
+ credentials: {
89
+ customer_id: 'test-org-123',
90
+ access_token: 'valid-token-123'
91
+ }
92
+ }
93
+ }
94
+ };
95
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
96
+ expect(result).toBe(true);
97
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-token-123');
98
+ });
99
+ it('should handle mixed case provider names', async () => {
100
+ const request = {
101
+ path: '/some-tool',
102
+ bodyJSON: {
103
+ auth: {
104
+ provider: 'OpTiId', // mixed case
105
+ credentials: {
106
+ customer_id: 'test-org-123',
107
+ access_token: 'valid-token-123'
108
+ }
109
+ }
110
+ }
111
+ };
112
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
113
+ expect(result).toBe(true);
114
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-token-123');
115
+ });
116
+ });
117
+ describe('when authentication fails', () => {
118
+ it('should return false when auth data is missing', async () => {
119
+ const request = {
120
+ path: '/some-tool',
121
+ bodyJSON: {}
122
+ };
123
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
124
+ expect(result).toBe(false);
125
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
126
+ expect(mockTokenVerifier.verify).not.toHaveBeenCalled();
127
+ });
128
+ it('should return false when bodyJSON is missing', async () => {
129
+ const request = {
130
+ path: '/some-tool'
131
+ };
132
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
133
+ expect(result).toBe(false);
134
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
135
+ });
136
+ it('should return false when provider is not OptiID', async () => {
137
+ const request = {
138
+ path: '/some-tool',
139
+ bodyJSON: {
140
+ auth: {
141
+ provider: 'SomeOtherProvider',
142
+ credentials: {
143
+ customer_id: 'test-org-123',
144
+ access_token: 'some-token'
145
+ }
146
+ }
147
+ }
148
+ };
149
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
150
+ expect(result).toBe(false);
151
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
152
+ });
153
+ it('should return false when access token is missing', async () => {
154
+ const request = {
155
+ path: '/some-tool',
156
+ bodyJSON: {
157
+ auth: {
158
+ provider: 'OptiID',
159
+ credentials: {
160
+ customer_id: 'test-org-123'
161
+ // access_token missing
162
+ }
163
+ }
164
+ }
165
+ };
166
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
167
+ expect(result).toBe(false);
168
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
169
+ });
170
+ it('should return false when access token is empty string', async () => {
171
+ const request = {
172
+ path: '/some-tool',
173
+ bodyJSON: {
174
+ auth: {
175
+ provider: 'OptiID',
176
+ credentials: {
177
+ customer_id: 'test-org-123',
178
+ access_token: ''
179
+ }
180
+ }
181
+ }
182
+ };
183
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
184
+ expect(result).toBe(false);
185
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
186
+ });
187
+ it('should return false when access token is undefined', async () => {
188
+ const request = {
189
+ path: '/some-tool',
190
+ bodyJSON: {
191
+ auth: {
192
+ provider: 'OptiID',
193
+ credentials: {
194
+ customer_id: 'test-org-123',
195
+ access_token: undefined
196
+ }
197
+ }
198
+ }
199
+ };
200
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
201
+ expect(result).toBe(false);
202
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
203
+ });
204
+ });
205
+ describe('when organization validation fails', () => {
206
+ it('should return false when customer_id does not match app organization', async () => {
207
+ const request = {
208
+ path: '/some-tool',
209
+ bodyJSON: {
210
+ auth: {
211
+ provider: 'OptiID',
212
+ credentials: {
213
+ customer_id: 'different-org-456',
214
+ access_token: 'valid-token-123'
215
+ }
216
+ }
217
+ }
218
+ };
219
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
220
+ expect(result).toBe(false);
221
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('Invalid organisation ID: expected test-org-123, received different-org-456');
222
+ expect(mockTokenVerifier.verify).not.toHaveBeenCalled();
223
+ });
224
+ it('should return false when customer_id is missing', async () => {
225
+ const request = {
226
+ path: '/some-tool',
227
+ bodyJSON: {
228
+ auth: {
229
+ provider: 'OptiID',
230
+ credentials: {
231
+ access_token: 'valid-token-123'
232
+ // customer_id missing
233
+ }
234
+ }
235
+ }
236
+ };
237
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
238
+ expect(result).toBe(false);
239
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('Organisation ID is required but not provided');
240
+ });
241
+ it('should return false when customer_id is empty string', async () => {
242
+ const request = {
243
+ path: '/some-tool',
244
+ bodyJSON: {
245
+ auth: {
246
+ provider: 'OptiID',
247
+ credentials: {
248
+ customer_id: '',
249
+ access_token: 'valid-token-123'
250
+ }
251
+ }
252
+ }
253
+ };
254
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
255
+ expect(result).toBe(false);
256
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('Organisation ID is required but not provided');
257
+ });
258
+ it('should handle case when app context has no account', async () => {
259
+ mockGetAppContext.mockReturnValue({});
260
+ const request = {
261
+ path: '/some-tool',
262
+ bodyJSON: {
263
+ auth: {
264
+ provider: 'OptiID',
265
+ credentials: {
266
+ customer_id: 'some-org-123',
267
+ access_token: 'valid-token-123'
268
+ }
269
+ }
270
+ }
271
+ };
272
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
273
+ expect(result).toBe(false);
274
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('Invalid organisation ID: expected undefined, received some-org-123');
275
+ });
276
+ it('should handle case when app context is null', async () => {
277
+ mockGetAppContext.mockReturnValue(null);
278
+ const request = {
279
+ path: '/some-tool',
280
+ bodyJSON: {
281
+ auth: {
282
+ provider: 'OptiID',
283
+ credentials: {
284
+ customer_id: 'some-org-123',
285
+ access_token: 'valid-token-123'
286
+ }
287
+ }
288
+ }
289
+ };
290
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
291
+ expect(result).toBe(false);
292
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('Invalid organisation ID: expected undefined, received some-org-123');
293
+ });
294
+ });
295
+ describe('when token validation fails', () => {
296
+ it('should return false when token verifier returns false', async () => {
297
+ mockTokenVerifier.verify.mockResolvedValue(false);
298
+ const request = {
299
+ path: '/some-tool',
300
+ bodyJSON: {
301
+ auth: {
302
+ provider: 'OptiID',
303
+ credentials: {
304
+ customer_id: 'test-org-123',
305
+ access_token: 'invalid-token'
306
+ }
307
+ }
308
+ }
309
+ };
310
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
311
+ expect(result).toBe(false);
312
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('invalid-token');
313
+ });
314
+ it('should return false when token verification throws an error', async () => {
315
+ const verificationError = new Error('Token verification failed');
316
+ mockTokenVerifier.verify.mockRejectedValue(verificationError);
317
+ const request = {
318
+ path: '/some-tool',
319
+ bodyJSON: {
320
+ auth: {
321
+ provider: 'OptiID',
322
+ credentials: {
323
+ customer_id: 'test-org-123',
324
+ access_token: 'error-token'
325
+ }
326
+ }
327
+ }
328
+ };
329
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
330
+ expect(result).toBe(false);
331
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token validation failed:', verificationError);
332
+ });
333
+ it('should return false when getTokenVerifier throws an error', async () => {
334
+ const verifierError = new Error('Failed to get token verifier');
335
+ mockGetTokenVerifier.mockRejectedValue(verifierError);
336
+ const request = {
337
+ path: '/some-tool',
338
+ bodyJSON: {
339
+ auth: {
340
+ provider: 'OptiID',
341
+ credentials: {
342
+ customer_id: 'test-org-123',
343
+ access_token: 'some-token'
344
+ }
345
+ }
346
+ }
347
+ };
348
+ const result = await (0, AuthUtils_1.authenticateRegularRequest)(request);
349
+ expect(result).toBe(false);
350
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token validation failed:', verifierError);
351
+ });
352
+ });
353
+ });
354
+ describe('authenticateGlobalRequest', () => {
355
+ beforeEach(() => {
356
+ // Default to successful token verification
357
+ mockTokenVerifier.verify.mockResolvedValue(true);
358
+ });
359
+ describe('when request is for discovery endpoint', () => {
360
+ it('should return true without authentication', async () => {
361
+ const request = { path: '/discovery' };
362
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
363
+ expect(result).toBe(true);
364
+ expect(mockGetTokenVerifier).not.toHaveBeenCalled();
365
+ expect(mockTokenVerifier.verify).not.toHaveBeenCalled();
366
+ });
367
+ });
368
+ describe('when request is for ready endpoint', () => {
369
+ it('should return true without authentication', async () => {
370
+ const request = { path: '/ready' };
371
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
372
+ expect(result).toBe(true);
373
+ expect(mockGetTokenVerifier).not.toHaveBeenCalled();
374
+ expect(mockTokenVerifier.verify).not.toHaveBeenCalled();
375
+ });
376
+ });
377
+ describe('when request has valid authentication', () => {
378
+ it('should return true for valid OptiID token regardless of organization', async () => {
379
+ const request = {
380
+ path: '/global-tool',
381
+ bodyJSON: {
382
+ auth: {
383
+ provider: 'OptiID',
384
+ credentials: {
385
+ customer_id: 'different-org-456', // Different from app org
386
+ access_token: 'valid-token-123'
387
+ }
388
+ }
389
+ }
390
+ };
391
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
392
+ expect(result).toBe(true);
393
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-token-123');
394
+ // Should not log organization validation errors for global requests
395
+ expect(app_sdk_1.logger.error).not.toHaveBeenCalledWith(expect.stringContaining('Invalid organisation ID'));
396
+ });
397
+ it('should return true even without customer_id', async () => {
398
+ const request = {
399
+ path: '/global-tool',
400
+ bodyJSON: {
401
+ auth: {
402
+ provider: 'OptiID',
403
+ credentials: {
404
+ access_token: 'valid-token-123'
405
+ // No customer_id - should be fine for global functions
406
+ }
407
+ }
408
+ }
409
+ };
410
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
411
+ expect(result).toBe(true);
412
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-token-123');
413
+ });
414
+ it('should handle case-insensitive provider names', async () => {
415
+ const request = {
416
+ path: '/global-tool',
417
+ bodyJSON: {
418
+ auth: {
419
+ provider: 'optiid',
420
+ credentials: {
421
+ customer_id: 'any-org',
422
+ access_token: 'valid-token-123'
423
+ }
424
+ }
425
+ }
426
+ };
427
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
428
+ expect(result).toBe(true);
429
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-token-123');
430
+ });
431
+ });
432
+ describe('when authentication fails', () => {
433
+ it('should return false when auth data is missing', async () => {
434
+ const request = {
435
+ path: '/global-tool',
436
+ bodyJSON: {}
437
+ };
438
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
439
+ expect(result).toBe(false);
440
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
441
+ });
442
+ it('should return false when provider is not OptiID', async () => {
443
+ const request = {
444
+ path: '/global-tool',
445
+ bodyJSON: {
446
+ auth: {
447
+ provider: 'SomeOtherProvider',
448
+ credentials: {
449
+ customer_id: 'any-org',
450
+ access_token: 'some-token'
451
+ }
452
+ }
453
+ }
454
+ };
455
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
456
+ expect(result).toBe(false);
457
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
458
+ });
459
+ it('should return false when access token is missing', async () => {
460
+ const request = {
461
+ path: '/global-tool',
462
+ bodyJSON: {
463
+ auth: {
464
+ provider: 'OptiID',
465
+ credentials: {
466
+ customer_id: 'any-org'
467
+ // access_token missing
468
+ }
469
+ }
470
+ }
471
+ };
472
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
473
+ expect(result).toBe(false);
474
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
475
+ });
476
+ it('should return false when access token is empty', async () => {
477
+ const request = {
478
+ path: '/global-tool',
479
+ bodyJSON: {
480
+ auth: {
481
+ provider: 'OptiID',
482
+ credentials: {
483
+ customer_id: 'any-org',
484
+ access_token: ''
485
+ }
486
+ }
487
+ }
488
+ };
489
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
490
+ expect(result).toBe(false);
491
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
492
+ });
493
+ });
494
+ describe('when token validation fails', () => {
495
+ it('should return false when token verifier returns false', async () => {
496
+ mockTokenVerifier.verify.mockResolvedValue(false);
497
+ const request = {
498
+ path: '/global-tool',
499
+ bodyJSON: {
500
+ auth: {
501
+ provider: 'OptiID',
502
+ credentials: {
503
+ customer_id: 'any-org',
504
+ access_token: 'invalid-token'
505
+ }
506
+ }
507
+ }
508
+ };
509
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
510
+ expect(result).toBe(false);
511
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('invalid-token');
512
+ });
513
+ it('should return false when token verification throws an error', async () => {
514
+ const verificationError = new Error('Global token verification failed');
515
+ mockTokenVerifier.verify.mockRejectedValue(verificationError);
516
+ const request = {
517
+ path: '/global-tool',
518
+ bodyJSON: {
519
+ auth: {
520
+ provider: 'OptiID',
521
+ credentials: {
522
+ customer_id: 'any-org',
523
+ access_token: 'error-token'
524
+ }
525
+ }
526
+ }
527
+ };
528
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
529
+ expect(result).toBe(false);
530
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token validation failed:', verificationError);
531
+ });
532
+ });
533
+ describe('organization validation differences from authenticateRegularRequest', () => {
534
+ it('should NOT validate organization ID and allow any customer_id', async () => {
535
+ const request = {
536
+ path: '/global-tool',
537
+ bodyJSON: {
538
+ auth: {
539
+ provider: 'OptiID',
540
+ credentials: {
541
+ customer_id: 'completely-different-org',
542
+ access_token: 'valid-token-123'
543
+ }
544
+ }
545
+ }
546
+ };
547
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
548
+ expect(result).toBe(true);
549
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-token-123');
550
+ // Should NOT log organization validation errors
551
+ expect(app_sdk_1.logger.error).not.toHaveBeenCalledWith(expect.stringContaining('Invalid organisation ID'));
552
+ expect(app_sdk_1.logger.error).not.toHaveBeenCalledWith(expect.stringContaining('Organisation ID is required'));
553
+ });
554
+ it('should work even when app context has no organization', async () => {
555
+ mockGetAppContext.mockReturnValue({});
556
+ const request = {
557
+ path: '/global-tool',
558
+ bodyJSON: {
559
+ auth: {
560
+ provider: 'OptiID',
561
+ credentials: {
562
+ customer_id: 'any-org',
563
+ access_token: 'valid-token-123'
564
+ }
565
+ }
566
+ }
567
+ };
568
+ const result = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
569
+ expect(result).toBe(true);
570
+ expect(mockTokenVerifier.verify).toHaveBeenCalledWith('valid-token-123');
571
+ });
572
+ });
573
+ });
574
+ describe('edge cases and error handling', () => {
575
+ it('should handle requests with null bodyJSON', async () => {
576
+ const request = {
577
+ path: '/some-tool',
578
+ bodyJSON: null
579
+ };
580
+ const result1 = await (0, AuthUtils_1.authenticateRegularRequest)(request);
581
+ const result2 = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
582
+ expect(result1).toBe(false);
583
+ expect(result2).toBe(false);
584
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
585
+ });
586
+ it('should handle malformed auth objects', async () => {
587
+ const request = {
588
+ path: '/some-tool',
589
+ bodyJSON: {
590
+ auth: 'invalid-auth-format'
591
+ }
592
+ };
593
+ const result1 = await (0, AuthUtils_1.authenticateRegularRequest)(request);
594
+ const result2 = await (0, AuthUtils_1.authenticateGlobalRequest)(request);
595
+ expect(result1).toBe(false);
596
+ expect(result2).toBe(false);
597
+ expect(app_sdk_1.logger.error).toHaveBeenCalledWith('OptiID token is required but not provided');
598
+ });
599
+ });
600
+ });
601
+ //# sourceMappingURL=AuthUtils.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthUtils.test.js","sourceRoot":"","sources":["../../src/auth/AuthUtils.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TokenVerifier.d.ts","sourceRoot":"","sources":["../../src/auth/TokenVerifier.ts"],"names":[],"mappings":"AAkCA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IACrD,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,IAAI,CAAC,CAAwC;IACrD,OAAO,CAAC,WAAW,CAAkB;IAErC;;;;;OAKG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE,OAAO,CAAC,MAAM,CAAC,WAAW;IAO1B;;;OAGG;WACiB,sBAAsB,IAAI,OAAO,CAAC,aAAa,CAAC;IAQpE;;OAEG;YACW,UAAU;IA0BxB;;OAEG;YACW,sBAAsB;YAetB,WAAW;CAsB1B;AAED,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,aAAa,CAA2C,CAAC"}
1
+ {"version":3,"file":"TokenVerifier.d.ts","sourceRoot":"","sources":["../../src/auth/TokenVerifier.ts"],"names":[],"mappings":"AAkCA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA8B;IACrD,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,IAAI,CAAC,CAAwC;IACrD,OAAO,CAAC,WAAW,CAAkB;IAErC;;;;;OAKG;IACU,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE,OAAO,CAAC,MAAM,CAAC,WAAW;IAO1B;;;OAGG;WACiB,sBAAsB,IAAI,OAAO,CAAC,aAAa,CAAC;IAQpE;;OAEG;YACW,UAAU;IAyBxB;;OAEG;YACW,sBAAsB;YAetB,WAAW;CAsB1B;AAED,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,aAAa,CAA2C,CAAC"}
@@ -77,7 +77,6 @@ class TokenVerifier {
77
77
  cooldownDuration: DEFAULT_JWKS_EXPIRES_IN
78
78
  });
79
79
  this.initialized = true;
80
- app_sdk_1.logger.info('TokenVerifier environment ' + environment);
81
80
  app_sdk_1.logger.info(`TokenVerifier initialized with issuer: ${this.issuer} (environment: ${environment})`);
82
81
  }
83
82
  catch (error) {