@equinor/fusion-framework-module-msal 5.1.2 → 6.0.0-next.0

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 (144) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/README.md +237 -40
  3. package/dist/esm/MsalClient.interface.js +2 -0
  4. package/dist/esm/MsalClient.interface.js.map +1 -0
  5. package/dist/esm/MsalClient.js +215 -0
  6. package/dist/esm/MsalClient.js.map +1 -0
  7. package/dist/esm/MsalConfigurator.js +248 -0
  8. package/dist/esm/MsalConfigurator.js.map +1 -0
  9. package/dist/esm/MsalProvider.interface.js +2 -0
  10. package/dist/esm/MsalProvider.interface.js.map +1 -0
  11. package/dist/esm/MsalProvider.js +525 -0
  12. package/dist/esm/MsalProvider.js.map +1 -0
  13. package/dist/esm/MsalProxyProvider.interface.js +2 -0
  14. package/dist/esm/MsalProxyProvider.interface.js.map +1 -0
  15. package/dist/esm/__tests__/versioning/resolve-version.test.js +29 -38
  16. package/dist/esm/__tests__/versioning/resolve-version.test.js.map +1 -1
  17. package/dist/esm/create-client-log-callback.js +87 -0
  18. package/dist/esm/create-client-log-callback.js.map +1 -0
  19. package/dist/esm/create-proxy-provider.js +84 -0
  20. package/dist/esm/create-proxy-provider.js.map +1 -0
  21. package/dist/esm/index.js +1 -1
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/module.js +64 -16
  24. package/dist/esm/module.js.map +1 -1
  25. package/dist/esm/static.js +32 -2
  26. package/dist/esm/static.js.map +1 -1
  27. package/dist/esm/types.js +9 -0
  28. package/dist/esm/types.js.map +1 -1
  29. package/dist/esm/util/compare-origin.js +11 -0
  30. package/dist/esm/util/compare-origin.js.map +1 -0
  31. package/dist/esm/{v2/client/util/url.js → util/normalize-uri.js} +1 -10
  32. package/dist/esm/util/normalize-uri.js.map +1 -0
  33. package/dist/esm/{v2/client/util/browser.js → util/redirect.js} +1 -1
  34. package/dist/esm/util/redirect.js.map +1 -0
  35. package/dist/esm/v2/IAuthClient.interface.js +2 -0
  36. package/dist/esm/v2/IAuthClient.interface.js.map +1 -0
  37. package/dist/esm/v2/IPublicClientApplication.interface.js +2 -0
  38. package/dist/esm/v2/IPublicClientApplication.interface.js.map +1 -0
  39. package/dist/esm/v2/MsalProvider.interface.js +2 -0
  40. package/dist/esm/v2/MsalProvider.interface.js.map +1 -0
  41. package/dist/esm/v2/create-proxy-client.js +155 -0
  42. package/dist/esm/v2/create-proxy-client.js.map +1 -0
  43. package/dist/esm/v2/create-proxy-provider.js +140 -0
  44. package/dist/esm/v2/create-proxy-provider.js.map +1 -0
  45. package/dist/esm/v2/map-account-info.js +18 -0
  46. package/dist/esm/v2/map-account-info.js.map +1 -0
  47. package/dist/esm/v2/map-authentication-result.js +22 -0
  48. package/dist/esm/v2/map-authentication-result.js.map +1 -0
  49. package/dist/esm/version.js +1 -1
  50. package/dist/esm/version.js.map +1 -1
  51. package/dist/esm/versioning/resolve-version.js +28 -16
  52. package/dist/esm/versioning/resolve-version.js.map +1 -1
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/dist/types/MsalClient.d.ts +141 -0
  55. package/dist/types/MsalClient.interface.d.ts +103 -0
  56. package/dist/types/MsalConfigurator.d.ts +147 -0
  57. package/dist/types/MsalProvider.d.ts +291 -0
  58. package/dist/types/MsalProvider.interface.d.ts +159 -0
  59. package/dist/types/MsalProxyProvider.interface.d.ts +52 -0
  60. package/dist/types/create-client-log-callback.d.ts +38 -0
  61. package/dist/types/create-proxy-provider.d.ts +19 -0
  62. package/dist/types/index.d.ts +5 -4
  63. package/dist/types/module.d.ts +70 -4
  64. package/dist/types/static.d.ts +32 -1
  65. package/dist/types/types.d.ts +14 -6
  66. package/dist/types/util/redirect.d.ts +1 -0
  67. package/dist/types/v2/IAuthClient.interface.d.ts +68 -0
  68. package/dist/types/v2/IPublicClientApplication.interface.d.ts +68 -0
  69. package/dist/types/v2/MsalProvider.interface.d.ts +85 -0
  70. package/dist/types/v2/create-proxy-client.d.ts +22 -0
  71. package/dist/types/v2/create-proxy-provider.d.ts +24 -0
  72. package/dist/types/v2/map-account-info.d.ts +9 -0
  73. package/dist/types/v2/map-authentication-result.d.ts +9 -0
  74. package/dist/types/v2/types.d.ts +12 -0
  75. package/dist/types/version.d.ts +1 -1
  76. package/dist/types/versioning/resolve-version.d.ts +1 -1
  77. package/package.json +11 -6
  78. package/src/MsalClient.interface.ts +121 -0
  79. package/src/MsalClient.ts +274 -0
  80. package/src/MsalConfigurator.ts +289 -0
  81. package/src/MsalProvider.interface.ts +175 -0
  82. package/src/MsalProvider.ts +597 -0
  83. package/src/MsalProxyProvider.interface.ts +71 -0
  84. package/src/__tests__/versioning/resolve-version.test.ts +29 -42
  85. package/src/create-client-log-callback.ts +101 -0
  86. package/src/create-proxy-provider.ts +89 -0
  87. package/src/index.ts +6 -7
  88. package/src/module.ts +88 -20
  89. package/src/static.ts +32 -3
  90. package/src/types.ts +15 -7
  91. package/src/util/compare-origin.ts +11 -0
  92. package/src/{v2/client/util/url.ts → util/normalize-uri.ts} +0 -10
  93. package/src/v2/IAuthClient.interface.ts +91 -0
  94. package/src/v2/IPublicClientApplication.interface.ts +71 -0
  95. package/src/v2/MsalProvider.interface.ts +92 -0
  96. package/src/v2/create-proxy-client.ts +186 -0
  97. package/src/v2/create-proxy-provider.ts +156 -0
  98. package/src/v2/map-account-info.ts +20 -0
  99. package/src/v2/map-authentication-result.ts +24 -0
  100. package/src/v2/types.ts +12 -0
  101. package/src/version.ts +1 -1
  102. package/src/versioning/resolve-version.ts +35 -28
  103. package/tsconfig.json +3 -0
  104. package/dist/esm/v2/client/behavior.js +0 -5
  105. package/dist/esm/v2/client/behavior.js.map +0 -1
  106. package/dist/esm/v2/client/client.js +0 -142
  107. package/dist/esm/v2/client/client.js.map +0 -1
  108. package/dist/esm/v2/client/create-auth-client.js +0 -36
  109. package/dist/esm/v2/client/create-auth-client.js.map +0 -1
  110. package/dist/esm/v2/client/index.js +0 -5
  111. package/dist/esm/v2/client/index.js.map +0 -1
  112. package/dist/esm/v2/client/log/console.js +0 -45
  113. package/dist/esm/v2/client/log/console.js.map +0 -1
  114. package/dist/esm/v2/client/request.js +0 -2
  115. package/dist/esm/v2/client/request.js.map +0 -1
  116. package/dist/esm/v2/client/util/browser.js.map +0 -1
  117. package/dist/esm/v2/client/util/url.js.map +0 -1
  118. package/dist/esm/v2/configurator.js +0 -42
  119. package/dist/esm/v2/configurator.js.map +0 -1
  120. package/dist/esm/v2/index.js +0 -3
  121. package/dist/esm/v2/index.js.map +0 -1
  122. package/dist/esm/v2/provider.js +0 -115
  123. package/dist/esm/v2/provider.js.map +0 -1
  124. package/dist/types/v2/client/behavior.d.ts +0 -13
  125. package/dist/types/v2/client/client.d.ts +0 -89
  126. package/dist/types/v2/client/create-auth-client.d.ts +0 -27
  127. package/dist/types/v2/client/index.d.ts +0 -5
  128. package/dist/types/v2/client/log/console.d.ts +0 -28
  129. package/dist/types/v2/client/request.d.ts +0 -65
  130. package/dist/types/v2/configurator.d.ts +0 -32
  131. package/dist/types/v2/index.d.ts +0 -2
  132. package/dist/types/v2/provider.d.ts +0 -59
  133. package/src/v2/client/behavior.ts +0 -14
  134. package/src/v2/client/client.ts +0 -180
  135. package/src/v2/client/create-auth-client.ts +0 -48
  136. package/src/v2/client/index.ts +0 -8
  137. package/src/v2/client/log/console.ts +0 -58
  138. package/src/v2/client/request.ts +0 -66
  139. package/src/v2/configurator.ts +0 -58
  140. package/src/v2/index.ts +0 -2
  141. package/src/v2/provider.ts +0 -178
  142. /package/dist/types/{v2/client/util/browser.d.ts → util/compare-origin.d.ts} +0 -0
  143. /package/dist/types/{v2/client/util/url.d.ts → util/normalize-uri.d.ts} +0 -0
  144. /package/src/{v2/client/util/browser.ts → util/redirect.ts} +0 -0
@@ -1,15 +1,10 @@
1
1
  import { describe, it, expect, vi } from 'vitest';
2
2
  import { SemVer } from 'semver';
3
- import { resolveVersion } from '../../versioning/resolve-version';
4
- // Mock the static module to avoid test failures when package version changes
5
- // This ensures tests remain stable regardless of package.json version bumps
6
- vi.mock('../../static', () => ({
7
- MsalModuleVersion: {
8
- V2: 'v2',
9
- Latest: '4.0.9', // Fixed version for consistent testing
10
- },
3
+ // Mock the version first (hoisted)
4
+ vi.mock('../../version', () => ({
5
+ version: '6.1.2-next.0+1493919587',
11
6
  }));
12
- // Import the mocked version
7
+ import { resolveVersion } from '../../versioning/resolve-version';
13
8
  import { MsalModuleVersion } from '../../static';
14
9
  describe('resolveVersion', () => {
15
10
  describe('successful version resolution', () => {
@@ -19,68 +14,64 @@ describe('resolveVersion', () => {
19
14
  wantedVersion: expect.any(SemVer),
20
15
  latestVersion: expect.any(SemVer),
21
16
  isLatest: false,
22
- satisfiesLatest: false, // 2.x is not compatible with 4.x
17
+ satisfiesLatest: false, // 2.x is not compatible with 5.x
23
18
  enumVersion: MsalModuleVersion.V2,
24
19
  });
25
20
  expect(result.wantedVersion.version).toBe('2.1.0');
26
- expect(result.latestVersion.version).toBe('4.0.9');
21
+ expect(result.latestVersion.version).toBe('6.1.2');
27
22
  });
28
23
  it('should resolve with SemVer object', () => {
29
24
  const semver = new SemVer('2.0.0');
30
25
  const result = resolveVersion(semver);
31
26
  expect(result.wantedVersion).toBe(semver);
32
- expect(result.satisfiesLatest).toBe(false); // 2.x is not compatible with 4.x
27
+ expect(result.satisfiesLatest).toBe(false); // 2.x is not compatible with 5.x
33
28
  });
34
29
  it('should resolve latest version when no version provided', () => {
35
30
  const result = resolveVersion();
36
- expect(result.wantedVersion.version).toBe('4.0.9');
37
- expect(result.latestVersion.version).toBe('4.0.9');
31
+ expect(result.wantedVersion.version).toBe('6.1.2');
32
+ expect(result.latestVersion.version).toBe('6.1.2');
38
33
  expect(result.isLatest).toBe(true);
39
34
  expect(result.satisfiesLatest).toBe(true);
40
35
  });
41
36
  it('should resolve latest version when empty string provided', () => {
42
37
  const result = resolveVersion('');
43
- expect(result.wantedVersion.version).toBe('4.0.9');
38
+ expect(result.wantedVersion.version).toBe('6.1.2');
44
39
  expect(result.isLatest).toBe(true);
45
40
  });
46
41
  it('should find correct enum version for major version', () => {
47
42
  const result = resolveVersion('2.5.0');
48
43
  expect(result.enumVersion).toBe(MsalModuleVersion.V2);
49
- expect(result.satisfiesLatest).toBe(false); // 2.x is not compatible with 4.x
44
+ expect(result.satisfiesLatest).toBe(false); // 2.x is not compatible with 5.x
50
45
  });
51
46
  });
52
47
  describe('version comparison and warnings', () => {
53
48
  it('should identify version states correctly', () => {
54
49
  // Exact latest version
55
- expect(resolveVersion('4.0.9').isLatest).toBe(true);
50
+ expect(resolveVersion('6.1.2-next.0+1493919587').isLatest).toBe(true);
56
51
  // Patch difference (satisfies but not latest)
57
- const patchResult = resolveVersion('4.0.8');
52
+ const patchResult = resolveVersion('6.1.1');
58
53
  expect(patchResult.isLatest).toBe(false);
59
54
  expect(patchResult.satisfiesLatest).toBe(true);
60
55
  expect(patchResult.warnings).toBeUndefined();
61
- // Minor difference (satisfies with warning)
62
- const minorResult = resolveVersion('4.1.0');
56
+ // Minor difference (satisfies)
57
+ const minorResult = resolveVersion('6.0.0');
63
58
  expect(minorResult.isLatest).toBe(false);
64
59
  expect(minorResult.satisfiesLatest).toBe(true);
65
- expect(minorResult.warnings).toBeDefined();
66
- expect(minorResult.warnings?.[0]).toContain('Requested minor version 1 is different from the latest minor version 0');
67
- // Major difference (doesn't satisfy with warning)
68
- const majorResult = resolveVersion('5.0.0');
60
+ // Major difference (doesn't satisfy)
61
+ const majorResult = resolveVersion('7.0.0');
69
62
  expect(majorResult.satisfiesLatest).toBe(false);
70
- expect(majorResult.warnings).toBeDefined();
71
- expect(majorResult.warnings?.[0]).toContain('Requested major version 5 is greater than the latest major version 4');
72
63
  });
73
64
  it('should handle versions without matching enum with warnings', () => {
74
- // Lower major version
65
+ // Lower major version - should map to V2
75
66
  const lowerResult = resolveVersion('3.0.0');
76
- expect(lowerResult.enumVersion).toBe('4.0.9'); // Falls back to latest
67
+ expect(lowerResult.enumVersion).toBe(MsalModuleVersion.V2);
77
68
  expect(lowerResult.warnings).toBeDefined();
78
- expect(lowerResult.warnings?.[0]).toContain('Requested major version 3 is behind the latest major version 4');
79
- // Zero version
69
+ expect(lowerResult.warnings?.[0]).toContain('Requested major version 3 is behind the latest major version 6');
70
+ // Zero version - should map to V2
80
71
  const zeroResult = resolveVersion('0.0.0');
81
- expect(zeroResult.enumVersion).toBe('4.0.9'); // Falls back to latest
72
+ expect(zeroResult.enumVersion).toBe(MsalModuleVersion.V2);
82
73
  expect(zeroResult.warnings).toBeDefined();
83
- expect(zeroResult.warnings?.[0]).toContain('Requested major version 0 is behind the latest major version 4');
74
+ expect(zeroResult.warnings?.[0]).toContain('Requested major version 0 is behind the latest major version 6');
84
75
  });
85
76
  });
86
77
  describe('error handling', () => {
@@ -91,8 +82,8 @@ describe('resolveVersion', () => {
91
82
  expect(result.warnings).toBeDefined();
92
83
  expect(result.warnings).toHaveLength(1);
93
84
  expect(result.warnings?.[0]).toContain(`Failed to parse requested version "${invalidVersion}"`);
94
- // Should fall back to latest version
95
- expect(result.wantedVersion.version).toBe('4.0.9');
85
+ // Should fall back to latest version (coerced)
86
+ expect(result.wantedVersion.version).toBe('6.1.2');
96
87
  });
97
88
  });
98
89
  it('should handle malformed but coercible versions', () => {
@@ -104,9 +95,9 @@ describe('resolveVersion', () => {
104
95
  describe('edge cases', () => {
105
96
  it('should handle complex version strings with pre-release and build metadata', () => {
106
97
  const testCases = [
107
- { input: '4.0.9-beta.1', expected: '4.0.9' },
108
- { input: '4.0.9+build.123', expected: '4.0.9' },
109
- { input: '4.0.9-beta.1.alpha.2+build.123.456', expected: '4.0.9' },
98
+ { input: '6.1.2-next.0+1493919587-beta.1', expected: '6.1.2' },
99
+ { input: '6.1.2-next.0+1493919587+build.123', expected: '6.1.2' },
100
+ { input: '6.1.2-next.0+1493919587-beta.1.alpha.2+build.123.456', expected: '6.1.2' },
110
101
  ];
111
102
  testCases.forEach(({ input, expected }) => {
112
103
  const result = resolveVersion(input);
@@ -119,7 +110,7 @@ describe('resolveVersion', () => {
119
110
  const result2 = resolveVersion('4.0.0');
120
111
  // Latest version should be consistent
121
112
  expect(result1.latestVersion.version).toBe(result2.latestVersion.version);
122
- expect(result1.latestVersion.version).toBe('4.0.9');
113
+ expect(result1.latestVersion.version).toBe('6.1.2');
123
114
  // Structure should be consistent
124
115
  expect(result1).toHaveProperty('wantedVersion');
125
116
  expect(result1).toHaveProperty('latestVersion');
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-version.test.js","sourceRoot":"","sources":["../../../../src/__tests__/versioning/resolve-version.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-version.test.js","sourceRoot":"","sources":["../../../../src/__tests__/versioning/resolve-version.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ import { LogLevel } from '@azure/msal-browser';
2
+ import { TelemetryLevel, } from '@equinor/fusion-framework-module-telemetry';
3
+ /**
4
+ * Maps MSAL log levels to corresponding telemetry levels.
5
+ *
6
+ * This mapping ensures consistent log level translation between MSAL's logging
7
+ * system and the framework's telemetry system.
8
+ */
9
+ const levelMap = {
10
+ [LogLevel.Verbose]: TelemetryLevel.Debug,
11
+ [LogLevel.Info]: TelemetryLevel.Information,
12
+ [LogLevel.Warning]: TelemetryLevel.Warning,
13
+ [LogLevel.Error]: TelemetryLevel.Error,
14
+ };
15
+ /**
16
+ * Parses MSAL log message into structured components.
17
+ *
18
+ * MSAL log messages follow the format:
19
+ * [timestamp] : [correlationId] : [package] : [level] - [component] - [message]
20
+ *
21
+ * @param message - Raw MSAL log message
22
+ * @returns Parsed message components
23
+ */
24
+ const parseMsalMessage = (message) => {
25
+ // Match the structured format: [timestamp] : [correlationId] : [package] : [level] - [component] - [message]
26
+ const match = message.match(/^\[([^\]]+)\]\s*:\s*\[([^\]]*)\]\s*:\s*([^:]+)\s*:\s*(\w+)\s*-\s*([^-]+)\s*-\s*(.*)$/);
27
+ if (match) {
28
+ const [, _timestamp, _correlationId, packageInfo, _logLevel, component, logMessage] = match;
29
+ return {
30
+ package: packageInfo.trim() ?? undefined,
31
+ component: component.trim() ?? undefined,
32
+ message: logMessage.trim() ?? undefined,
33
+ };
34
+ }
35
+ // Fallback for non-structured messages
36
+ return { message: message.trim() };
37
+ };
38
+ /**
39
+ * Creates a telemetry callback function for MSAL logging integration.
40
+ *
41
+ * This function bridges MSAL's internal logging system with the framework's
42
+ * telemetry infrastructure. It maps MSAL log levels to telemetry levels and
43
+ * forwards log events to the provided telemetry provider with structured metadata.
44
+ *
45
+ * The callback function returned by this method will be called by MSAL whenever
46
+ * a log event occurs, allowing for centralized logging and monitoring of
47
+ * authentication-related events.
48
+ *
49
+ * @param provider - Telemetry provider instance to receive log events
50
+ * @param metadata - Additional metadata to include with each telemetry event (e.g., module version, environment)
51
+ * @param scope - Telemetry scope identifiers for categorization and filtering
52
+ * @returns Logger callback function for MSAL that forwards events to telemetry provider
53
+ *
54
+ * @example
55
+ * ```typescript
56
+ * const callback = createClientLogCallback(
57
+ * telemetryProvider,
58
+ * { module: 'msal', version: '4.0.0' },
59
+ * ['framework', 'authentication']
60
+ * );
61
+ *
62
+ * // Use with MSAL configuration
63
+ * const config = {
64
+ * system: {
65
+ * loggerOptions: {
66
+ * loggerCallback: callback,
67
+ * piiLoggingEnabled: false
68
+ * }
69
+ * }
70
+ * };
71
+ * ```
72
+ */
73
+ export const createClientLogCallback = (provider, metadata, scope) => {
74
+ return (level, message, _containsPii) => {
75
+ const parsedMessage = parseMsalMessage(message);
76
+ provider.trackEvent({
77
+ name: 'MsalClient',
78
+ level: levelMap[level] ?? TelemetryLevel.Information,
79
+ scope,
80
+ metadata,
81
+ properties: {
82
+ ...parsedMessage,
83
+ },
84
+ });
85
+ };
86
+ };
87
+ //# sourceMappingURL=create-client-log-callback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-client-log-callback.js","sourceRoot":"","sources":["../../src/create-client-log-callback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,EAEL,cAAc,GACf,MAAM,4CAA4C,CAAC;AAEpD;;;;;GAKG;AACH,MAAM,QAAQ,GAA8C;IAC1D,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,KAAK;IACxC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC,WAAW;IAC3C,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,OAAO;IAC1C,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,KAAK;CACvC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,gBAAgB,GAAG,CAAC,OAAe,EAAE,EAAE;IAC3C,6GAA6G;IAC7G,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CACzB,sFAAsF,CACvF,CAAC;IAEF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,CAAC,EAAE,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;QAC5F,OAAO;YACL,OAAO,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,SAAS;YACxC,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,SAAS;YACxC,OAAO,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,SAAS;SACxC,CAAC;IACJ,CAAC;IAED,uCAAuC;IACvC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;AACrC,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAA4B,EAC5B,QAAiC,EACjC,KAAe,EACc,EAAE;IAC/B,OAAO,CAAC,KAAe,EAAE,OAAe,EAAE,YAAqB,EAAE,EAAE;QACjE,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAEhD,QAAQ,CAAC,UAAU,CAAC;YAClB,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,WAAW;YACpD,KAAK;YACL,QAAQ;YACR,UAAU,EAAE;gBACV,GAAG,aAAa;aACjB;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { MsalModuleVersion } from './static';
2
+ import { resolveVersion } from './versioning/resolve-version';
3
+ import { createProxyProvider as createProxyProvider_v2 } from './v2/create-proxy-provider';
4
+ /**
5
+ * Creates a proxy provider for version compatibility.
6
+ *
7
+ * This function handles the creation of proxy providers that maintain
8
+ * backward compatibility with different MSAL versions while using the
9
+ * latest MSAL v4 implementation under the hood.
10
+ *
11
+ * @param provider - The base MSAL provider instance
12
+ * @param version - The target version string (e.g., '2.0.0', '4.0.0')
13
+ * @returns A proxy provider compatible with the specified version
14
+ *
15
+ * @example
16
+ * ```typescript
17
+ * const baseProvider = new MsalProvider(config);
18
+ * const v2Proxy = createProxyProvider(baseProvider, '2.0.0');
19
+ * ```
20
+ */
21
+ export function createProxyProvider(provider, version) {
22
+ // Resolve the requested version to determine which proxy to create
23
+ const { enumVersion } = resolveVersion(version);
24
+ switch (enumVersion) {
25
+ case MsalModuleVersion.V2:
26
+ // Create v2-compatible proxy with legacy API adapters
27
+ return createProxyProvider_v2(provider);
28
+ case MsalModuleVersion.V4:
29
+ // Create transparent proxy for v4 - passes through to original provider
30
+ // This allows v4 code to be used where any version is expected
31
+ return new Proxy(provider, {
32
+ get: (target, prop) => {
33
+ switch (prop) {
34
+ case 'version': {
35
+ return target.version;
36
+ }
37
+ case 'msalVersion': {
38
+ return enumVersion;
39
+ }
40
+ case 'client': {
41
+ return target.client;
42
+ }
43
+ case 'account': {
44
+ return target.account;
45
+ }
46
+ case 'acquireAccessToken': {
47
+ return target.acquireAccessToken.bind(target);
48
+ }
49
+ case 'acquireToken': {
50
+ return target.acquireToken.bind(target);
51
+ }
52
+ case 'login': {
53
+ return target.login.bind(target);
54
+ }
55
+ case 'logout': {
56
+ return target.logout.bind(target);
57
+ }
58
+ case 'handleRedirect': {
59
+ return target.handleRedirect.bind(target);
60
+ }
61
+ case 'createProxyProvider': {
62
+ return target.createProxyProvider.bind(target);
63
+ }
64
+ case 'initialize': {
65
+ return () => {
66
+ // noop - initialize is handled by the provider, not the proxy
67
+ };
68
+ }
69
+ default: {
70
+ // backstop to prevent then from being called - this is not an async operation
71
+ if (prop === 'then')
72
+ return undefined;
73
+ // Exhaustive check: TypeScript-only guard to ensure all IMsalProvider keys are handled
74
+ const exhausted = prop;
75
+ return target[exhausted];
76
+ }
77
+ }
78
+ },
79
+ });
80
+ default:
81
+ throw new Error(`Version ${version} is not supported`);
82
+ }
83
+ }
84
+ //# sourceMappingURL=create-proxy-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-proxy-provider.js","sourceRoot":"","sources":["../../src/create-proxy-provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAE3F;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAuB,EACvB,OAAe;IAEf,mEAAmE;IACnE,MAAM,EAAE,WAAW,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAEhD,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,iBAAiB,CAAC,EAAE;YACvB,sDAAsD;YACtD,OAAO,sBAAsB,CAAC,QAAQ,CAAM,CAAC;QAC/C,KAAK,iBAAiB,CAAC,EAAE;YACvB,wEAAwE;YACxE,+DAA+D;YAC/D,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;gBACzB,GAAG,EAAE,CAAC,MAAqB,EAAE,IAAyB,EAAE,EAAE;oBACxD,QAAQ,IAAI,EAAE,CAAC;wBACb,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,OAAO,MAAM,CAAC,OAAO,CAAC;wBACxB,CAAC;wBACD,KAAK,aAAa,CAAC,CAAC,CAAC;4BACnB,OAAO,WAAW,CAAC;wBACrB,CAAC;wBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,MAAM,CAAC,MAAM,CAAC;wBACvB,CAAC;wBACD,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,OAAO,MAAM,CAAC,OAAO,CAAC;wBACxB,CAAC;wBACD,KAAK,oBAAoB,CAAC,CAAC,CAAC;4BAC1B,OAAO,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAChD,CAAC;wBACD,KAAK,cAAc,CAAC,CAAC,CAAC;4BACpB,OAAO,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1C,CAAC;wBACD,KAAK,OAAO,CAAC,CAAC,CAAC;4BACb,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnC,CAAC;wBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACpC,CAAC;wBACD,KAAK,gBAAgB,CAAC,CAAC,CAAC;4BACtB,OAAO,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5C,CAAC;wBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;4BAC3B,OAAO,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACjD,CAAC;wBACD,KAAK,YAAY,CAAC,CAAC,CAAC;4BAClB,OAAO,GAAG,EAAE;gCACV,8DAA8D;4BAChE,CAAC,CAAC;wBACJ,CAAC;wBACD,OAAO,CAAC,CAAC,CAAC;4BACR,8EAA8E;4BAC9E,IAAI,IAAI,KAAK,MAAM;gCAAE,OAAO,SAAS,CAAC;4BAEtC,uFAAuF;4BACvF,MAAM,SAAS,GAAU,IAAI,CAAC;4BAC9B,OAAQ,MAAwB,CAAC,SAAS,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;gBACH,CAAC;aACF,CAAM,CAAC;QACV;YACE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,mBAAmB,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { module, configureMsal, enableMSAL, } from './module';
2
- export { MsalModuleVersion } from './static';
2
+ export { MsalClient } from './MsalClient';
3
3
  export { default } from './module';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,GAKX,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,aAAa,EACb,UAAU,GAGX,MAAM,UAAU,CAAC;AAIlB,OAAO,EAAE,UAAU,EAAyB,MAAM,cAAc,CAAC;AAIjE,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC"}
@@ -1,46 +1,94 @@
1
1
  import { SemanticVersion, } from '@equinor/fusion-framework-module';
2
- import { MsalModuleVersion } from './static';
3
- import { AuthConfigurator, AuthProvider } from './v2';
2
+ import { MsalConfigurator } from './MsalConfigurator';
3
+ import { MsalProvider } from './MsalProvider';
4
+ import { version } from './version';
5
+ /**
6
+ * MSAL authentication module definition.
7
+ *
8
+ * This module manages authentication providers with the following initialization flow:
9
+ * 1. Check for custom provider configuration
10
+ * 2. Check for existing provider in parent module (for proxy compatibility)
11
+ * 3. Create new provider with client configuration
12
+ *
13
+ * @remarks
14
+ * The module supports proxy providers for version compatibility, allowing v4 implementations
15
+ * to work with v2-compatible code during migration periods.
16
+ */
4
17
  export const module = {
5
18
  name: 'auth',
6
- version: new SemanticVersion(MsalModuleVersion.Latest),
7
- configure: () => new AuthConfigurator(),
19
+ version: new SemanticVersion(version),
20
+ configure: () => new MsalConfigurator(),
8
21
  initialize: async (init) => {
9
22
  const config = await init.config.createConfigAsync(init);
10
- // configured to use a custom provider
23
+ // Priority 1: Use custom provider if explicitly configured
11
24
  if (config.provider) {
12
25
  return config.provider;
13
26
  }
14
- // check if the provider is defined in the parent module
27
+ // Priority 2: Check if provider exists in parent module (proxy compatibility)
28
+ // This allows child applications to reuse parent's authentication provider
15
29
  const hostProvider = init.ref?.auth;
16
30
  if (hostProvider) {
17
31
  try {
18
- return hostProvider.createProxyProvider(config.version);
32
+ const proxyProvider = hostProvider.createProxyProvider(config.version);
33
+ return proxyProvider;
19
34
  }
20
35
  catch (error) {
21
36
  console.error('MsalModule::Failed to create proxy provider', error);
22
- // just to make sure during migration that the provider is not set
37
+ // Fallback to host provider to prevent app breakage during migration
38
+ // TODO: Consider throwing error instead once all apps are migrated to v4
23
39
  return hostProvider;
24
40
  }
25
41
  }
42
+ // Priority 3: Validate client configuration is provided
26
43
  if (!config.client) {
27
44
  throw new Error('Client configuration is required when provider is not in the parent module nor defined');
28
45
  }
29
- // create a new provider
30
- const authProvider = new AuthProvider(config.client);
31
- if (config.requiresAuth) {
32
- await authProvider.handleRedirect();
33
- await authProvider.login({ onlyIfRequired: true });
34
- }
35
- return authProvider;
46
+ // Create new MSAL provider instance
47
+ const provider = new MsalProvider(config);
48
+ // Initialize the provider (handles redirect callbacks, SSO, etc.)
49
+ await provider.initialize();
50
+ return provider;
36
51
  },
37
52
  };
53
+ /**
54
+ * Enables MSAL authentication module in the framework.
55
+ *
56
+ * This is a convenience function that adds the MSAL module configuration to the
57
+ * framework configurator with optional configuration callback.
58
+ *
59
+ * @param configurator - The framework modules configurator instance
60
+ * @param configure - Optional configuration callback for MSAL setup
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * enableMSAL(frameworkConfigurator, (builder) => {
65
+ * builder.setClientConfig({
66
+ * auth: { clientId: 'your-client-id', tenantId: 'your-tenant-id' }
67
+ * });
68
+ * builder.setRequiresAuth(true);
69
+ * });
70
+ * ```
71
+ */
38
72
  export const enableMSAL = (
39
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
73
+ // @biome-ignore lint/suspicious/noExplicitAny: must be any to support all module types
40
74
  configurator, configure) => {
41
75
  const config = configure ? configureMsal(configure) : { module };
42
76
  configurator.addConfig(config);
43
77
  };
78
+ /**
79
+ * Creates MSAL module configuration with custom setup.
80
+ *
81
+ * @param configure - Configuration callback function
82
+ * @returns Module configuration object ready for framework integration
83
+ *
84
+ * @example
85
+ * ```typescript
86
+ * const msalConfig = configureMsal((builder) => {
87
+ * builder.setClientConfig(msalClientConfig);
88
+ * builder.setRequiresAuth(true);
89
+ * });
90
+ * ```
91
+ */
44
92
  export const configureMsal = (configure) => ({
45
93
  module,
46
94
  configure,
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAA6C,MAAM,MAAM,CAAC;AAKjG,MAAM,CAAC,MAAM,MAAM,GAAe;IAChC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI,eAAe,CAAC,iBAAiB,CAAC,MAAM,CAAC;IACtD,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE;IACvC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzD,sCAAsC;QACtC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,wDAAwD;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,IAAoB,CAAC;QACpD,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC1D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;gBACpE,kEAAkE;gBAClE,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;QAED,wBAAwB;QACxB,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAErD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;YACpC,MAAM,YAAY,CAAC,KAAK,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;CACF,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAG;AACxB,8DAA8D;AAC9D,YAA4C,EAC5C,SAAwB,EAClB,EAAE;IACR,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IACjE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAuB,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAQH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAGlE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,MAAM,GAAe;IAChC,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,IAAI,eAAe,CAAC,OAAO,CAAC;IACrC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE;IACvC,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzD,2DAA2D;QAC3D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,QAAQ,CAAC;QACzB,CAAC;QAED,8EAA8E;QAC9E,2EAA2E;QAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;QACpC,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvE,OAAO,aAAa,CAAC;YACvB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAC;gBACpE,qEAAqE;gBACrE,yEAAyE;gBACzE,OAAO,YAAY,CAAC;YACtB,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;QACJ,CAAC;QAED,oCAAoC;QACpC,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;QAE1C,kEAAkE;QAClE,MAAM,QAAQ,CAAC,UAAU,EAAE,CAAC;QAE5B,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF,CAAC;AAqBF;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;AACxB,uFAAuF;AACvF,YAA4C,EAC5C,SAAwB,EAClB,EAAE;IACR,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;IACjE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAuB,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM;IACN,SAAS;CACV,CAAC,CAAC;AAQH,eAAe,MAAM,CAAC"}
@@ -1,8 +1,38 @@
1
- import { version } from './version';
1
+ /**
2
+ * Module identifier for the MSAL authentication module.
3
+ *
4
+ * This constant is used to register and identify the MSAL module within the Fusion Framework.
5
+ */
2
6
  export const ModuleName = 'msal';
7
+ /**
8
+ * Enumeration of supported MSAL module versions.
9
+ *
10
+ * This enum defines the available MSAL versions and provides type-safe access to version identifiers.
11
+ * The `Latest` value is automatically set to the current module version at build time.
12
+ *
13
+ * @remarks
14
+ * - `V2`: MSAL v2 compatibility (legacy support)
15
+ * - `V4`: MSAL v4 (current major version)
16
+ * - `Latest`: Always points to the current module version (5.1.0)
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { MsalModuleVersion } from '@equinor/fusion-framework-module-msal';
21
+ *
22
+ * // Check version
23
+ * if (version === MsalModuleVersion.Latest) {
24
+ * console.log('Using latest MSAL version');
25
+ * }
26
+ *
27
+ * // Create version-specific proxy
28
+ * const proxy = provider.createProxyProvider(MsalModuleVersion.V2);
29
+ * ```
30
+ */
3
31
  export var MsalModuleVersion;
4
32
  (function (MsalModuleVersion) {
33
+ /** MSAL v2 compatibility version */
5
34
  MsalModuleVersion["V2"] = "v2";
6
- MsalModuleVersion["Latest"] = "5.1.2";
35
+ /** MSAL v4 (current major version) */
36
+ MsalModuleVersion["V4"] = "v4";
7
37
  })(MsalModuleVersion || (MsalModuleVersion = {}));
8
38
  //# sourceMappingURL=static.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/static.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,MAAe,CAAC;AAE1C,MAAM,CAAN,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IAC3B,8BAAS,CAAA;IACT,qCAAgB,CAAA;AAClB,CAAC,EAHW,iBAAiB,KAAjB,iBAAiB,QAG5B"}
1
+ {"version":3,"file":"static.js","sourceRoot":"","sources":["../../src/static.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,MAAe,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,CAAN,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,oCAAoC;IACpC,8BAAS,CAAA;IACT,sCAAsC;IACtC,8BAAS,CAAA;AACX,CAAC,EALW,iBAAiB,KAAjB,iBAAiB,QAK5B"}
package/dist/esm/types.js CHANGED
@@ -1,2 +1,11 @@
1
+ /**
2
+ * Re-exports of core MSAL types from @azure/msal-browser.
3
+ *
4
+ * This module provides convenient access to commonly used MSAL types without
5
+ * requiring direct imports from @azure/msal-browser. These types represent
6
+ * fundamental authentication entities used throughout the MSAL module.
7
+ *
8
+ * @module
9
+ */
1
10
  export {};
2
11
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
@@ -0,0 +1,11 @@
1
+ import { normalizeUri } from './normalize-uri';
2
+ /**
3
+ * Compares normalized version of urls
4
+ *
5
+ * @internal
6
+ */
7
+ export const compareOrigin = (a, b) => {
8
+ const url = { a: normalizeUri(a), b: normalizeUri(b) };
9
+ return url.a === url.b;
10
+ };
11
+ //# sourceMappingURL=compare-origin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare-origin.js","sourceRoot":"","sources":["../../../src/util/compare-origin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAS,EAAE,CAAS,EAAW,EAAE;IAC7D,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,OAAO,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC"}
@@ -12,13 +12,4 @@ export const normalizeUri = (uri, home = window.location.origin) => {
12
12
  const { origin, pathname } = new URL(uri);
13
13
  return origin + pathname.replace(/([^:]\/)\/+/g, '$1');
14
14
  };
15
- /**
16
- * Compares normalized version of urls
17
- *
18
- * @internal
19
- */
20
- export const compareOrigin = (a, b) => {
21
- const url = { a: normalizeUri(a), b: normalizeUri(b) };
22
- return url.a === url.b;
23
- };
24
- //# sourceMappingURL=url.js.map
15
+ //# sourceMappingURL=normalize-uri.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-uri.js","sourceRoot":"","sources":["../../../src/util/normalize-uri.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,OAAe,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAU,EAAE;IACzF,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC;IAChD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1C,OAAO,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AACzD,CAAC,CAAC"}
@@ -12,4 +12,4 @@ export const redirect = (url, timeout = 3000, history) => {
12
12
  history ? window.location.assign(url) : window.location.replace(url);
13
13
  return new Promise((_, reject) => setTimeout(reject, timeout));
14
14
  };
15
- //# sourceMappingURL=browser.js.map
15
+ //# sourceMappingURL=redirect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"redirect.js","sourceRoot":"","sources":["../../../src/util/redirect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAE,OAAO,GAAG,IAAI,EAAE,OAAiB,EAAiB,EAAE;IACxF,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrE,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IAuthClient.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAuthClient.interface.js","sourceRoot":"","sources":["../../../src/v2/IAuthClient.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IPublicClientApplication.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPublicClientApplication.interface.js","sourceRoot":"","sources":["../../../src/v2/IPublicClientApplication.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MsalProvider.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MsalProvider.interface.js","sourceRoot":"","sources":["../../../src/v2/MsalProvider.interface.ts"],"names":[],"mappings":""}