@equinor/fusion-framework-module-msal 11.0.0-next.0 → 11.0.0-next.1

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 (31) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/esm/__tests__/mock/create-mock-user-from-token.test.js +39 -0
  3. package/dist/esm/__tests__/mock/create-mock-user-from-token.test.js.map +1 -0
  4. package/dist/esm/__tests__/mock/msal-mock.test.js +53 -1
  5. package/dist/esm/__tests__/mock/msal-mock.test.js.map +1 -1
  6. package/dist/esm/mock/MsalMockClient.js +25 -8
  7. package/dist/esm/mock/MsalMockClient.js.map +1 -1
  8. package/dist/esm/mock/MsalMockConfigurator.js +63 -11
  9. package/dist/esm/mock/MsalMockConfigurator.js.map +1 -1
  10. package/dist/esm/mock/create-mock-user-from-token.js +40 -0
  11. package/dist/esm/mock/create-mock-user-from-token.js.map +1 -0
  12. package/dist/esm/mock/index.js +1 -0
  13. package/dist/esm/mock/index.js.map +1 -1
  14. package/dist/esm/version.js +1 -1
  15. package/dist/tsconfig.tsbuildinfo +1 -1
  16. package/dist/types/__tests__/mock/create-mock-user-from-token.test.d.ts +1 -0
  17. package/dist/types/mock/MsalMockClient.d.ts +12 -0
  18. package/dist/types/mock/MsalMockConfigurator.d.ts +30 -0
  19. package/dist/types/mock/create-mock-user-from-token.d.ts +25 -0
  20. package/dist/types/mock/index.d.ts +1 -0
  21. package/dist/types/version.d.ts +1 -1
  22. package/docs/testing.md +24 -0
  23. package/package.json +3 -3
  24. package/src/__tests__/mock/create-mock-user-from-token.test.ts +46 -0
  25. package/src/__tests__/mock/msal-mock.test.ts +69 -0
  26. package/src/mock/MsalMockClient.ts +27 -8
  27. package/src/mock/MsalMockConfigurator.ts +78 -14
  28. package/src/mock/create-mock-user-from-token.ts +46 -0
  29. package/src/mock/index.ts +1 -0
  30. package/src/version.ts +1 -1
  31. package/.changeset/msal-auth-provider-fix.md +0 -7
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Change Log
2
2
 
3
+ ## 11.0.0-next.1
4
+
5
+ ### Minor Changes
6
+
7
+ - 53d5e4c: `MsalMockConfigurator` gains a `setToken(token, skipResolve?)` method. When set, `MsalMockClient`
8
+ returns that exact access/id token instead of generating one from the account's claims — useful
9
+ when a backend mock validates the token itself (specific claims, audience, or signature) and
10
+ needs to see the token it expects rather than a mock-shaped substitute. By default, `setToken`
11
+ also signs in the account derived from the token's own claims (`name`, `preferred_username`,
12
+ `oid`, `tid`, `scp`) via the new `createMockUserFromToken` helper — pass `skipResolve: true` to
13
+ keep a separately declared account while still returning this token.
14
+
3
15
  ## 11.0.0-next.0
4
16
 
5
17
  ### Minor Changes
@@ -0,0 +1,39 @@
1
+ import { describe, expect, it } from 'vitest';
2
+ import { createMockToken } from '../../mock/create-mock-token';
3
+ import { createMockUserFromToken } from '../../mock/create-mock-user-from-token';
4
+ describe('createMockUserFromToken', () => {
5
+ it('maps identity claims onto the matching MsalMockUser fields', () => {
6
+ const token = createMockToken({
7
+ name: 'Ada Lovelace',
8
+ preferred_username: 'ada@equinor.com',
9
+ oid: 'ada-object-id',
10
+ tid: 'ada-tenant-id',
11
+ scp: 'User.Read Files.Read',
12
+ });
13
+ expect(createMockUserFromToken(token)).toEqual({
14
+ name: 'Ada Lovelace',
15
+ username: 'ada@equinor.com',
16
+ userId: 'ada-object-id',
17
+ tenantId: 'ada-tenant-id',
18
+ scopes: ['User.Read', 'Files.Read'],
19
+ });
20
+ });
21
+ it('leaves a field undefined rather than fabricating one, when a claim is absent', () => {
22
+ const token = createMockToken({
23
+ name: undefined,
24
+ preferred_username: undefined,
25
+ scp: undefined,
26
+ });
27
+ const user = createMockUserFromToken(token);
28
+ expect(user.name).toBeUndefined();
29
+ expect(user.username).toBeUndefined();
30
+ expect(user.scopes).toBeUndefined();
31
+ });
32
+ it('throws for a token with no payload segment', () => {
33
+ expect(() => createMockUserFromToken('not-a-jwt')).toThrow(/payload segment/);
34
+ });
35
+ it('throws for an empty string', () => {
36
+ expect(() => createMockUserFromToken('')).toThrow(/payload segment/);
37
+ });
38
+ });
39
+ //# sourceMappingURL=create-mock-user-from-token.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-mock-user-from-token.test.js","sourceRoot":"","sources":["../../../../src/__tests__/mock/create-mock-user-from-token.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;QACpE,MAAM,KAAK,GAAG,eAAe,CAAC;YAC5B,IAAI,EAAE,cAAc;YACpB,kBAAkB,EAAE,iBAAiB;YACrC,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,eAAe;YACpB,GAAG,EAAE,sBAAsB;SAC5B,CAAC,CAAC;QAEH,MAAM,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;YAC7C,IAAI,EAAE,cAAc;YACpB,QAAQ,EAAE,iBAAiB;YAC3B,MAAM,EAAE,eAAe;YACvB,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC;SACpC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,KAAK,GAAG,eAAe,CAAC;YAC5B,IAAI,EAAE,SAAS;YACf,kBAAkB,EAAE,SAAS;YAC7B,GAAG,EAAE,SAAS;SACf,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAE5C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;QAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -4,7 +4,7 @@ import telemetryModule from '@equinor/fusion-framework-module-telemetry';
4
4
  import { MsalConfigurator } from '../../MsalConfigurator';
5
5
  import { MsalProvider } from '../../MsalProvider';
6
6
  import { enableMSAL, module as realModule } from '../../module';
7
- import { MsalMockClient, createMsalMockClient, enableMsalMock, msalMockModule, MsalMockConfigurator, } from '../../mock';
7
+ import { MsalMockClient, createMockToken, createMsalMockClient, enableMsalMock, msalMockModule, MsalMockConfigurator, } from '../../mock';
8
8
  /**
9
9
  * Initializes the mock module through the real module system.
10
10
  *
@@ -309,6 +309,58 @@ describe('MsalMockClient', () => {
309
309
  const result = await client.acquireToken({ request: { scopes: ['X'] } });
310
310
  expect(result?.accessToken).toBe('mock-token');
311
311
  });
312
+ it('returns a token set directly on the client verbatim', async () => {
313
+ const client = new MsalMockClient(clientConfig());
314
+ const token = createMockToken({ name: 'Direct Token' });
315
+ client.setToken(token);
316
+ const result = await client.acquireToken({ request: { scopes: ['X'] } });
317
+ expect(result?.accessToken).toBe(token);
318
+ expect(result?.idToken).toBe(token);
319
+ });
320
+ it('resumes generating tokens once setToken(null) clears the override', async () => {
321
+ const client = new MsalMockClient(clientConfig());
322
+ const token = createMockToken({ name: 'Direct Token' });
323
+ client.setToken(token);
324
+ client.setToken(null);
325
+ const result = await client.acquireToken({ request: { scopes: ['X'] } });
326
+ expect(result?.accessToken).not.toBe(token);
327
+ });
328
+ });
329
+ describe('MsalMockConfigurator.setToken', () => {
330
+ it('returns the exact token instead of one generated from the account', async () => {
331
+ const token = createMockToken({ name: 'Token User' });
332
+ const provider = await initializeMockWith((builder) => builder.setToken(token));
333
+ const result = await provider.client.acquireToken({ request: { scopes: ['X'] } });
334
+ expect(result?.accessToken).toBe(token);
335
+ expect(result?.idToken).toBe(token);
336
+ });
337
+ it('signs in the account named by the token claims by default', async () => {
338
+ const token = createMockToken({
339
+ name: 'Token User',
340
+ preferred_username: 'token.user@equinor.com',
341
+ });
342
+ const provider = await initializeMockWith((builder) => builder.setToken(token));
343
+ expect(provider.account?.name).toBe('Token User');
344
+ expect(provider.account?.username).toBe('token.user@equinor.com');
345
+ });
346
+ it('keeps a separately declared account when skipResolve is true', async () => {
347
+ // skipResolve overrides only the returned token, leaving setAccount's declaration alone
348
+ const token = createMockToken({ name: 'Token User' });
349
+ const provider = await initializeMockWith((builder) => {
350
+ builder.setAccount({ name: 'Ada Lovelace' });
351
+ builder.setToken(token, true);
352
+ });
353
+ expect(provider.account?.name).toBe('Ada Lovelace');
354
+ const result = await provider.client.acquireToken({ request: { scopes: ['X'] } });
355
+ expect(result?.accessToken).toBe(token);
356
+ });
357
+ it('resumes generating tokens once setToken(null) is called on the client', async () => {
358
+ const token = createMockToken({ name: 'Token User' });
359
+ const provider = await initializeMockWith((builder) => builder.setToken(token));
360
+ provider.client.setToken(null);
361
+ const result = await provider.client.acquireToken({ request: { scopes: ['X'] } });
362
+ expect(result?.accessToken).not.toBe(token);
363
+ });
312
364
  });
313
365
  describe('setAccount(null)', () => {
314
366
  it('starts with nobody signed in', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"msal-mock.test.js","sourceRoot":"","sources":["../../../../src/__tests__/mock/msal-mock.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"msal-mock.test.js","sourceRoot":"","sources":["../../../../src/__tests__/mock/msal-mock.test.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export class MsalMockClient {
20
20
  #user;
21
21
  #cache = new Map();
22
22
  #activeAccountId = null;
23
+ #token = null;
23
24
  /**
24
25
  * The account currently signed in, or `null`.
25
26
  *
@@ -418,6 +419,20 @@ export class MsalMockClient {
418
419
  }
419
420
  this.#signIn(account ?? this.#createAccount());
420
421
  }
422
+ /**
423
+ * Overrides the token returned by future results, independent of who is signed in.
424
+ *
425
+ * @remarks
426
+ * Use this when a backend mock validates its own tokens (specific claims, an
427
+ * audience, or a signature) — supplying the exact token here means that
428
+ * backend sees the token it issued, rather than a mock-shaped substitute this
429
+ * client would otherwise fabricate from the signed-in user's fields.
430
+ *
431
+ * @param token - The token to return verbatim, or `null` to resume generating one.
432
+ */
433
+ setToken(token) {
434
+ this.#token = token;
435
+ }
421
436
  /**
422
437
  * Creates the one account represented by this mock's configured identity.
423
438
  * @returns An MSAL-shaped account for the configured user.
@@ -439,14 +454,16 @@ export class MsalMockClient {
439
454
  */
440
455
  #createResult(scopes) {
441
456
  const granted = scopes?.length ? scopes : this.#user.scopes;
442
- const token = createMockToken({
443
- name: this.#user.name,
444
- preferred_username: this.#user.username,
445
- oid: this.#user.userId,
446
- tid: this.#user.tenantId,
447
- aud: this.#user.clientId,
448
- scp: granted.join(' '),
449
- });
457
+ // a caller-supplied token is sent verbatim so a backend mock validating it sees what it expects
458
+ const token = this.#token ??
459
+ createMockToken({
460
+ name: this.#user.name,
461
+ preferred_username: this.#user.username,
462
+ oid: this.#user.userId,
463
+ tid: this.#user.tenantId,
464
+ aud: this.#user.clientId,
465
+ scp: granted.join(' '),
466
+ });
450
467
  // Object shape matches AuthenticationResult's fields consumers rely on; the real
451
468
  // type also carries browser-only fields (e.g. `familyId`) this mock intentionally omits
452
469
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"MsalMockClient.js","sourceRoot":"","sources":["../../../src/mock/MsalMockClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MsalMockClient.js","sourceRoot":"","sources":["../../../src/mock/MsalMockClient.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { MsalConfigurator } from '../MsalConfigurator';
2
2
  import { MsalMockClient } from './MsalMockClient';
3
+ import { createMockUserFromToken } from './create-mock-user-from-token';
3
4
  /**
4
5
  * The client configuration used when a test declares none.
5
6
  *
@@ -96,28 +97,72 @@ export class MsalMockConfigurator extends MsalConfigurator {
96
97
  return this;
97
98
  }
98
99
  /**
99
- * Signs the declared user in on the client the module authenticates through.
100
+ * Declares the token to return, independent of who is signed in.
100
101
  *
101
102
  * @remarks
102
- * Deliberately not done while the client is built: that would assume the scope
103
- * declaring the user is the scope building the client, which is exactly what
104
- * is not true when an application is tested inside a portal. The host built
105
- * that client, in a scope this builder never sees, so the client has to be
106
- * located rather than assumed.
103
+ * Use this when a backend mock validates its own tokens (specific claims, an
104
+ * audience, or a signature) the client then returns this token verbatim
105
+ * instead of fabricating one from the signed-in user's fields.
106
+ *
107
+ * @param token - A JWT (e.g. from `createMockToken`, or issued by an external mock).
108
+ * @param skipResolve - When `true`, override only the token and leave an account
109
+ * declared through {@link setAccount} untouched. Defaults to `false`, which also signs
110
+ * in the user described by the token's claims, via {@link createMockUserFromToken}.
111
+ * @returns The builder, for chaining.
112
+ *
113
+ * @example Sign in as whoever the token names
114
+ * ```typescript
115
+ * builder.setToken(token);
116
+ * ```
117
+ *
118
+ * @example Keep a separately declared account, but return this exact token
119
+ * ```typescript
120
+ * builder.setAccount({ name: 'Ada Lovelace' }).setToken(token, true);
121
+ * ```
122
+ */
123
+ setToken(token, skipResolve = false) {
124
+ this._set('mock.token', token);
125
+ // skipResolve defaults to false - most callers want the token's claims to name who is signed in
126
+ if (!skipResolve) {
127
+ this.setAccount(createMockUserFromToken(token));
128
+ }
129
+ return this;
130
+ }
131
+ /**
132
+ * Resolves the client the module authenticates through, wherever it was built.
133
+ *
134
+ * @remarks
135
+ * Shared by {@link setAccount} and {@link setToken} application: neither can
136
+ * assume the scope declaring mock state is the scope that built the client,
137
+ * which is exactly what is not true when an application is tested inside a
138
+ * portal. The host built that client, in a scope this builder never sees, so
139
+ * the client has to be located rather than assumed.
107
140
  *
108
- * @param account - The user to sign in, or `null` when nobody is.
109
141
  * @param config - The validated configuration, carrying the client when one was built.
110
142
  * @param init - The builder arguments, carrying the host reference when hoisted.
143
+ * @param action - Describes what could not be applied, for the thrown error.
144
+ * @returns The resolved mock client.
111
145
  * @throws When the resolved client is not a {@link MsalMockClient}.
112
146
  */
113
- #signIn(account, config, init) {
147
+ #getClient(config, init, action) {
114
148
  const host = init?.ref?.auth;
115
149
  const client = config.client ?? host?.client;
116
- // Reject a real client because mock account state cannot be applied to it.
150
+ // Reject a real client because mock state cannot be applied to it.
117
151
  if (!(client instanceof MsalMockClient)) {
118
- throw new Error('MsalMockConfigurator: cannot sign a user in, because this module does not authenticate through a mock client. Declare the user where that client is configured instead.');
152
+ throw new Error(`MsalMockConfigurator: cannot ${action}, because this module does not authenticate through a mock client. Declare it where that client is configured instead.`);
119
153
  }
120
- client.setUser(account);
154
+ return client;
155
+ }
156
+ /**
157
+ * Signs the declared user in on the client the module authenticates through.
158
+ *
159
+ * @param account - The user to sign in, or `null` when nobody is.
160
+ * @param config - The validated configuration, carrying the client when one was built.
161
+ * @param init - The builder arguments, carrying the host reference when hoisted.
162
+ * @throws When the resolved client is not a {@link MsalMockClient}.
163
+ */
164
+ #signIn(account, config, init) {
165
+ this.#getClient(config, init, 'sign a user in').setUser(account);
121
166
  }
122
167
  /**
123
168
  * Assembles the configuration, then signs the declared user in.
@@ -157,6 +202,13 @@ export class MsalMockConfigurator extends MsalConfigurator {
157
202
  if (account !== undefined) {
158
203
  this.#signIn(account, config, init);
159
204
  }
205
+ // Applied after the account so a token declared alongside `skipResolve: true`
206
+ // overrides whatever `setUser` above just fabricated.
207
+ const token = rawConfig.mock?.token;
208
+ // absent means the test declared no token override; leave the client generating its own
209
+ if (token !== undefined) {
210
+ this.#getClient(config, init, 'set a token').setToken(token);
211
+ }
160
212
  return config;
161
213
  }
162
214
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"MsalMockConfigurator.js","sourceRoot":"","sources":["../../../src/mock/MsalMockConfigurator.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAmB,MAAM,qBAAqB,CAAC;AAExE,OAAO,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AA2BrE;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAqB;IAChD,IAAI,EAAE;QACJ,QAAQ,EAAE,oBAAoB;QAC9B,QAAQ,EAAE,oBAAoB;KAC/B;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,MAAM,OAAO,oBAAqB,SAAQ,gBAAgB;IACxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACI,UAAU,CACf,OAAyE;QAEzE,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,OAAO,CACL,OAA4B,EAC5B,MAAkB,EAClB,IAAgC;QAEhC,MAAM,IAAI,GAAI,IAAI,EAAE,GAA4C,EAAE,IAAI,CAAC;QACvE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,IAAI,EAAE,MAAM,CAAC;QAE7C,2EAA2E;QAC3E,IAAI,CAAC,CAAC,MAAM,YAAY,cAAc,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CACb,yKAAyK,CAC1K,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACM,KAAK,CAAC,cAAc,CAC3B,SAAqB,EACrB,IAAgC;QAEhC,2EAA2E;QAC3E,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC;QAChD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAE3D,2EAA2E;QAC3E,2DAA2D;QAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;QACxC,4EAA4E;QAC5E,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACgB,KAAK,CAAC,aAAa,CAAC,MAAkB;QACvD,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,CAAC;IACzF,CAAC;CACF"}
1
+ {"version":3,"file":"MsalMockConfigurator.js","sourceRoot":"","sources":["../../../src/mock/MsalMockConfigurator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { decodeJwtSegment } from './decode-jwt-segment';
2
+ /**
3
+ * Derives a {@link MsalMockUser} from a JWT's payload claims, so a token minted
4
+ * outside this module (e.g. by a backend's own mock) can drive who the mock
5
+ * signs in as.
6
+ *
7
+ * @remarks
8
+ * Maps the standard Entra ID claims Fusion applications read — `name`,
9
+ * `preferred_username`, `oid`, `tid`, `scp` — onto the matching
10
+ * {@link MsalMockUser} fields. Identity only: it does not affect which token
11
+ * the client returns — use {@link MsalMockConfigurator.setToken} for that.
12
+ *
13
+ * @param token - A JWT (e.g. from {@link createMockToken}, or issued by an
14
+ * external mock) with a base64url-encoded payload segment.
15
+ * @returns A mock user built from the token's claims.
16
+ * @throws When the token has no payload segment (`header.payload.signature`).
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * enableMsalMock(configurator, (builder) => {
21
+ * builder.setAccount(createMockUserFromToken(token));
22
+ * });
23
+ * ```
24
+ */
25
+ export const createMockUserFromToken = (token) => {
26
+ const [, payload] = token.split('.');
27
+ // fail loudly rather than signing in an empty/garbage user from a malformed token
28
+ if (!payload) {
29
+ throw new Error('createMockUserFromToken: expected a JWT with a payload segment (header.payload.signature)');
30
+ }
31
+ const claims = JSON.parse(decodeJwtSegment(payload));
32
+ return {
33
+ name: claims.name,
34
+ username: claims.preferred_username,
35
+ userId: claims.oid,
36
+ tenantId: claims.tid,
37
+ scopes: claims.scp?.split(' '),
38
+ };
39
+ };
40
+ //# sourceMappingURL=create-mock-user-from-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-mock-user-from-token.js","sourceRoot":"","sources":["../../../src/mock/create-mock-user-from-token.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,KAAa,EAAgB,EAAE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACrC,kFAAkF;IAClF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CACb,2FAA2F,CAC5F,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAoB,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IAEtE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,kBAAkB;QACnC,MAAM,EAAE,MAAM,CAAC,GAAG;QAClB,QAAQ,EAAE,MAAM,CAAC,GAAG;QACpB,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;KAC/B,CAAC;AACJ,CAAC,CAAC"}
@@ -26,5 +26,6 @@ export { createMsalMockClient } from './create-msal-mock-client';
26
26
  export { MsalMockConfigurator } from './MsalMockConfigurator';
27
27
  export { enableMsalMock, msalMockModule } from './module';
28
28
  export { createMockToken } from './create-mock-token';
29
+ export { createMockUserFromToken } from './create-mock-user-from-token';
29
30
  export { decodeJwtSegment } from './decode-jwt-segment';
30
31
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mock/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,eAAe,EAAwB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mock/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,cAAc,EAAqB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAyB,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,eAAe,EAAwB,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  // Generated by genversion.
2
- export const version = '11.0.0-next.0';
2
+ export const version = '11.0.0-next.1';
3
3
  //# sourceMappingURL=version.js.map