@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,10 +1,35 @@
1
- import semver, { type SemVer } from 'semver';
1
+ import semver, { SemVer } from 'semver';
2
2
 
3
3
  import { MsalModuleVersion } from '../static';
4
4
 
5
5
  import { VersionError } from './VersionError';
6
6
  import type { ResolvedVersion } from './types';
7
7
 
8
+ import { version as latestVersionString } from '../version';
9
+
10
+ /**
11
+ * Maps a version string or object to the corresponding MSAL module enum version.
12
+ *
13
+ * @param version - The version string or SemVer object to map
14
+ * @returns The corresponding MsalModuleVersion enum value
15
+ *
16
+ * @example
17
+ * ```typescript
18
+ * mapVersionToEnumVersion('2.1.0') // returns MsalModuleVersion.V2
19
+ * mapVersionToEnumVersion('7.0.0') // returns MsalModuleVersion.V4
20
+ * ```
21
+ */
22
+ function mapVersionToEnumVersion(version: string | SemVer): MsalModuleVersion {
23
+ const coercedVersion = semver.coerce(version);
24
+ if (!coercedVersion) {
25
+ throw new Error(`Invalid version: ${version}`);
26
+ }
27
+ if (semver.satisfies(coercedVersion, '<6.0.0')) {
28
+ return MsalModuleVersion.V2;
29
+ }
30
+ return MsalModuleVersion.V4;
31
+ }
32
+
8
33
  /**
9
34
  * Resolves and validates a version string against the latest available MSAL version.
10
35
  *
@@ -49,28 +74,27 @@ export function resolveVersion(version?: string | SemVer): ResolvedVersion {
49
74
  const warnings: string[] = [];
50
75
 
51
76
  // Parse the requested version, defaulting to latest if not provided
52
- const versionString = version || MsalModuleVersion.Latest;
77
+ let wantedVersion = version ? semver.coerce(version) : semver.coerce(latestVersionString);
53
78
 
54
79
  // Parse versions using coerce for backward compatibility
55
- const latestVersion = semver.coerce(MsalModuleVersion.Latest);
80
+ const latestVersion = semver.coerce(latestVersionString);
56
81
 
57
82
  // This should never happen! Indicates version.ts was not generated correctly
58
83
  // This is a critical build-time issue that needs immediate attention
59
84
  if (!latestVersion) {
60
85
  throw new VersionError(
61
- `Failed to parse latest version "${MsalModuleVersion.Latest}" - this indicates the version.ts file was not generated correctly. Check for import errors in the build process.`,
62
- versionString,
63
- MsalModuleVersion.Latest,
86
+ `Failed to parse latest version "${latestVersionString}" - this indicates the version.ts file was not generated correctly. Check for import errors in the build process.`,
87
+ wantedVersion || '<unknown version>',
88
+ latestVersionString,
64
89
  );
65
90
  }
66
91
 
67
- let wantedVersion: SemVer | null = semver.coerce(versionString);
68
92
  // Validate that the requested version is a valid semver
69
93
  if (!wantedVersion) {
70
94
  const missingVersionWarning = new VersionError(
71
- `Failed to parse requested version "${versionString}"`,
72
- versionString,
73
- MsalModuleVersion.Latest,
95
+ `Failed to parse requested version "${version || '<unknown version>'}"`,
96
+ wantedVersion || '<unknown version>',
97
+ latestVersion,
74
98
  );
75
99
  warnings.push(missingVersionWarning.message);
76
100
  wantedVersion = latestVersion;
@@ -98,24 +122,7 @@ export function resolveVersion(version?: string | SemVer): ResolvedVersion {
98
122
 
99
123
  // Find the corresponding enum version for the requested major version
100
124
  // This is used for module configuration and feature detection
101
- let enumVersion = Object.values(MsalModuleVersion).find(
102
- (x) => semver.coerce(x)?.major === wantedVersion.major,
103
- );
104
-
105
- // If no matching enum version is found, fall back to the latest available
106
- // This allows forward compatibility with future versions
107
- if (!enumVersion) {
108
- enumVersion = MsalModuleVersion.Latest;
109
- // Only warn if this is a future version (higher than latest)
110
- if (wantedVersion.major > latestVersion.major) {
111
- const fallbackWarning = new VersionError(
112
- `Requested major version ${wantedVersion.major} is greater than the latest major version ${latestVersion.major}. Falling back to latest version.`,
113
- wantedVersion,
114
- latestVersion,
115
- );
116
- warnings.push(fallbackWarning.message);
117
- }
118
- }
125
+ const enumVersion = mapVersionToEnumVersion(wantedVersion);
119
126
 
120
127
  // Return comprehensive version resolution result
121
128
  return {
package/tsconfig.json CHANGED
@@ -8,6 +8,9 @@
8
8
  "references": [
9
9
  {
10
10
  "path": "../module"
11
+ },
12
+ {
13
+ "path": "../telemetry"
11
14
  }
12
15
  ],
13
16
  "include": ["src/**/*"],
@@ -1,5 +0,0 @@
1
- /**
2
- * Default behavior for login and acquisition of token
3
- */
4
- export const defaultBehavior = 'redirect';
5
- //# sourceMappingURL=behavior.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"behavior.js","sourceRoot":"","sources":["../../../../src/v2/client/behavior.ts"],"names":[],"mappings":"AAUA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiB,UAAU,CAAC"}
@@ -1,142 +0,0 @@
1
- import { PublicClientApplication, } from '@azure/msal-browser';
2
- import { defaultBehavior } from './behavior';
3
- /**
4
- * ### Simple extension of Microsoft`s authentication client.
5
- *
6
- * When using this client tenant is **required** since common login is deprecated after all.
7
- * By providing tenant the user account can simple be extracted from current session *if any*.
8
- *
9
- * @example
10
- * ```typescript
11
- * const tenantId = '224123a0d-7990-4ba1-aff3-1dss9569af32';
12
- * const authPath = '/my-app/auth';
13
- * const client = new AuthClient(tenantId, {
14
- * auth: {
15
- * clientId: '6dab35d4-59ff-4dcc-3356-24479e6fc888',
16
- * authority: `https://login.microsoftonline.com/${tenantId}`,
17
- * redirectUri: window.location.origin + '/my-app/auth'
18
- * }
19
- * });
20
- * document.getElementById('login-btn').addEventListener('click', () =>
21
- * client.login({ scopes: ['data.read'] })
22
- * .then(console.log)
23
- * .catch(console.error)
24
- * );
25
- * (async() => {
26
- * if(window.location.path === authPath) {
27
- * await client.handleRedirectPromise()
28
- * }
29
- * )();
30
- * ```
31
- * @see [Microsoft Authentication Library](https://github.com/AzureAD/microsoft-authentication-library-for-js)
32
- * @see [Microsoft identity platform](https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)
33
- */
34
- export class AuthClient extends PublicClientApplication {
35
- tenantId;
36
- /**
37
- * @returns
38
- * Returns account for client tenant that MSAL currently has data for.
39
- * (the account object is created at the time of successful login)
40
- */
41
- get account() {
42
- const accounts = this.getAllAccounts();
43
- const account = accounts.find((a) => a.idTokenClaims?.aud === this.clientId);
44
- return account;
45
- }
46
- get hasValidClaims() {
47
- const idTokenClaims = this.account?.idTokenClaims;
48
- if (idTokenClaims) {
49
- const epoch = Math.ceil(Date.now() / 1000);
50
- return idTokenClaims.exp > epoch;
51
- }
52
- return false;
53
- }
54
- /**
55
- * @returns - Configured client id
56
- */
57
- get clientId() {
58
- return this.config.auth?.clientId;
59
- }
60
- get requestOrigin() {
61
- return this.browserStorage.getTemporaryCache('request.origin', true);
62
- }
63
- /**
64
- * @param tenantId - tenant id for client domain
65
- * @param config - required [Configuration](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/src/config/Configuration.ts)
66
- */
67
- constructor(tenantId, config) {
68
- super(config);
69
- this.tenantId = tenantId;
70
- }
71
- /**
72
- * @param silent
73
- * Attempt to use a hidden iframe to fetch an authorization code from the eSTS if {@link AuthClient.account} or login hint.
74
- * Provided {@link AuthBehavior} is used as fallback.
75
- * There are cases where this may not work:
76
- * - Any browser using a form of Intelligent Tracking Prevention
77
- * - If there is not an established session with the service
78
- *
79
- * @returns
80
- * Promise that is fulfilled when this function has completed, or rejected if an error was raised.
81
- */
82
- async login(options, behavior = defaultBehavior, silent = true) {
83
- const loginHint = options?.loginHint || this.account?.username;
84
- const scopes = options?.scopes || [];
85
- const request = { ...options, loginHint, scopes };
86
- if (loginHint && silent) {
87
- this.logger.verbose('Attempting to login in silently');
88
- try {
89
- const res = await this.ssoSilent(request);
90
- return res;
91
- }
92
- catch {
93
- this.logger.verbose('Silent login attempt failed');
94
- }
95
- }
96
- this.logger.verbose(`Attempting to login in by [${behavior}]`);
97
- switch (behavior) {
98
- case 'popup':
99
- return this.loginPopup(request);
100
- case 'redirect': {
101
- return this.loginRedirect(request);
102
- }
103
- }
104
- }
105
- /**
106
- * Will try to silently acquire an access token for a given set of scopes.
107
- * Will use cached token if available, otherwise will attempt to acquire a new token from the network via refresh token.
108
- *
109
- * @param silent
110
- * Attempt to use a hidden iframe to fetch an authorization code from the eSTS if {@link AuthClient.account} or login hint.
111
- * Provided {@link AuthBehavior} is used as fallback.
112
- * There are cases where this may not work:
113
- * - Any browser using a form of Intelligent Tracking Prevention
114
- * - If there is not an established session with the service
115
- *
116
- * @returns
117
- * Promise that is fulfilled when this function has completed, or rejected if an error was raised.
118
- */
119
- async acquireToken(options = { scopes: [] }, behavior = defaultBehavior, silent = true) {
120
- const account = await this.account;
121
- if (silent && account) {
122
- this.logger.verbose('Attempting to acquire token in silently');
123
- try {
124
- const token = await this.acquireTokenSilent({ account, ...options });
125
- return token;
126
- }
127
- catch (err) {
128
- this.logger.info('Expected to navigate away from the current page but timeout occurred.');
129
- }
130
- }
131
- this.logger.verbose(`Attempting to acquire token by [${behavior}]`);
132
- switch (behavior) {
133
- case 'popup':
134
- return this.acquireTokenPopup(options);
135
- case 'redirect': {
136
- return this.acquireTokenRedirect(options);
137
- }
138
- }
139
- }
140
- }
141
- export default AuthClient;
142
- //# sourceMappingURL=client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/v2/client/client.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { AuthClient } from './client';
2
- import { normalizeUri } from './util/url';
3
- /**
4
- * Creates an authentication client with basic config.
5
- *
6
- * @example
7
- * ```typescript
8
- * const myClient = createClient(
9
- * '224123a0d-7990-4ba1-aff3-1dss9569af32',
10
- * '6dab35d4-59ff-4dcc-3356-24479e6fc888',
11
- * '/my-app/auth'
12
- * );
13
- * ```
14
- *
15
- * @template T - client type, default to {@link AuthClient}
16
- *
17
- * @param tenantId - tenant to for authentication
18
- * @param clientId - client id for authentication
19
- * @param redirectUri - callback url for authentication (must match exact configured url in app)
20
- * @param config - optional [Configuration](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/src/config/Configuration.ts)
21
- * @param ctor - optional client class
22
- */
23
- export const createAuthClient = (tenantId, clientId, redirectUri, config, ctor) => {
24
- const auth = {
25
- clientId,
26
- redirectUri: normalizeUri(redirectUri || ''),
27
- navigateToLoginRequestUrl: false,
28
- authority: `https://login.microsoftonline.com/${tenantId}`,
29
- ...config?.auth,
30
- };
31
- const cache = { cacheLocation: 'localStorage', ...config?.cache };
32
- const system = config?.system;
33
- return new (ctor || AuthClient)(tenantId, { auth, cache, system });
34
- };
35
- export default createAuthClient;
36
- //# sourceMappingURL=create-auth-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"create-auth-client.js","sourceRoot":"","sources":["../../../../src/v2/client/create-auth-client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,QAAgB,EAChB,QAAgB,EAChB,WAAoB,EACpB,MAAyB,EACzB,IAAyD,EACtD,EAAE;IACL,MAAM,IAAI,GAA0B;QAClC,QAAQ;QACR,WAAW,EAAE,YAAY,CAAC,WAAW,IAAI,EAAE,CAAC;QAC5C,yBAAyB,EAAE,KAAK;QAChC,SAAS,EAAE,qCAAqC,QAAQ,EAAE;QAC1D,GAAG,MAAM,EAAE,IAAI;KAChB,CAAC;IACF,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,cAAc,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAC;IAC9B,OAAO,IAAI,CAAC,IAAI,IAAI,UAAU,CAAC,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAM,CAAC;AAC1E,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,5 +0,0 @@
1
- export { default, createAuthClient } from './create-auth-client';
2
- export { ConsoleLogger } from './log/console';
3
- export * from './client';
4
- export * from './request';
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v2/client/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAoB,MAAM,sBAAsB,CAAC;AAEnF,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
@@ -1,45 +0,0 @@
1
- import { Logger, LogLevel } from '@azure/msal-browser';
2
- /**
3
- * MSAL client logger for development, production should use telemetry
4
- *
5
- * @example
6
- * ```typescript
7
- * client.setLogger(new ConsoleLogger());
8
- * ```
9
- */
10
- export class ConsoleLogger extends Logger {
11
- /**
12
- * @param logLevel - 0-1-2-3 (error-warning-info-debug) if not provided all records logged
13
- */
14
- constructor(logLevel) {
15
- super({
16
- logLevel,
17
- loggerCallback: (...args) => this.loggerCallback(...args),
18
- });
19
- }
20
- /** @inheritdoc */
21
- loggerCallback(lvl, msg, _containsPii) {
22
- console[this.getLogType(lvl)]('%c FUSION::MSAL %c %s', 'border: 1px solid;', 'border: none;', msg);
23
- }
24
- /**
25
- * Map log level to console log function type
26
- *
27
- * @default LogLevel.Verbose
28
- */
29
- getLogType = (lvl) => {
30
- switch (lvl) {
31
- case LogLevel.Error:
32
- return 'error';
33
- case LogLevel.Warning:
34
- return 'warn';
35
- case LogLevel.Info:
36
- return 'info';
37
- case LogLevel.Verbose:
38
- return 'debug';
39
- default:
40
- return this.getLogType(LogLevel.Verbose);
41
- }
42
- };
43
- }
44
- export default ConsoleLogger;
45
- //# sourceMappingURL=console.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"console.js","sourceRoot":"","sources":["../../../../../src/v2/client/log/console.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAOvD;;;;;;;GAOG;AACH,MAAM,OAAO,aAAc,SAAQ,MAAM;IACvC;;OAEG;IACH,YAAY,QAAmB;QAC7B,KAAK,CAAC;YACJ,QAAQ;YACR,cAAc,EAAE,CAAC,GAAG,IAAiC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;SACvF,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IACR,cAAc,CAAC,GAAa,EAAE,GAAW,EAAE,YAAsB;QACzE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAC3B,uBAAuB,EACvB,oBAAoB,EACpB,eAAe,EACf,GAAG,CACJ,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,UAAU,GAAG,CAAC,GAAa,EAAgB,EAAE;QACrD,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ,CAAC,KAAK;gBACjB,OAAO,OAAO,CAAC;YACjB,KAAK,QAAQ,CAAC,OAAO;gBACnB,OAAO,MAAM,CAAC;YAChB,KAAK,QAAQ,CAAC,IAAI;gBAChB,OAAO,MAAM,CAAC;YAChB,KAAK,QAAQ,CAAC,OAAO;gBACnB,OAAO,OAAO,CAAC;YACjB;gBACE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC;CACH;AAED,eAAe,aAAa,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=request.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../../src/v2/client/request.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../../../src/v2/client/util/browser.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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../../../src/v2/client/util/url.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;AAEF;;;;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"}
@@ -1,42 +0,0 @@
1
- import z from 'zod';
2
- import { BaseConfigBuilder } from '@equinor/fusion-framework-module';
3
- import { MsalModuleVersion } from '../static';
4
- import semver from 'semver';
5
- const VersionSchema = z.string().transform((x) => String(semver.coerce(x)));
6
- const AuthClientConfigSchema = z.object({
7
- clientId: z.string(),
8
- tenantId: z.string(),
9
- redirectUri: z.string().optional(),
10
- });
11
- // NOTE: this might need refinement to validate the provider
12
- const AuthClientSchema = z.custom();
13
- const AuthConfigSchema = z.object({
14
- client: AuthClientConfigSchema.optional(),
15
- provider: AuthClientSchema.optional(),
16
- requiresAuth: z.boolean().optional(),
17
- version: VersionSchema,
18
- });
19
- export class AuthConfigurator extends BaseConfigBuilder {
20
- version = MsalModuleVersion.Latest;
21
- constructor() {
22
- super();
23
- this._set('version', async () => this.version);
24
- }
25
- setClientConfig(config) {
26
- this._set('client', async () => config);
27
- }
28
- setRequiresAuth(requiresAuth) {
29
- this._set('requiresAuth', async () => requiresAuth);
30
- }
31
- setProvider(provider) {
32
- this._set('provider', async () => provider);
33
- }
34
- setVersion(version) {
35
- this._set('version', async () => version);
36
- }
37
- async _processConfig(config) {
38
- // TODO: handle parsing of clientConfig
39
- return AuthConfigSchema.parseAsync(config);
40
- }
41
- }
42
- //# sourceMappingURL=configurator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configurator.js","sourceRoot":"","sources":["../../../src/v2/configurator.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEpF,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH,4DAA4D;AAC5D,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAiB,CAAC;AAEnD,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACrC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAKH,MAAM,OAAO,gBAAiB,SAAQ,iBAA6B;IAC1D,OAAO,GAAG,iBAAiB,CAAC,MAAe,CAAC;IAEnD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,eAAe,CAAC,MAA+C;QAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,eAAe,CAAC,YAAqB;QACnC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC;IACtD,CAAC;IAED,WAAW,CAAC,QAA2C;QACrD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED,UAAU,CAAC,OAAe;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAkB;QACrC,uCAAuC;QACvC,OAAO,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- export { AuthConfigurator } from './configurator';
2
- export { AuthProvider } from './provider';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,gBAAgB,EAAoB,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAsB,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -1,115 +0,0 @@
1
- import { createAuthClient, ConsoleLogger } from './client';
2
- import { MsalModuleVersion } from '../static';
3
- import { resolveVersion } from '../versioning/resolve-version';
4
- import { BaseModuleProvider } from '@equinor/fusion-framework-module/provider';
5
- export class AuthProvider extends BaseModuleProvider {
6
- _config;
7
- #client;
8
- get defaultAccount() {
9
- return this.client.account;
10
- }
11
- /** @deprecated */
12
- get defaultConfig() {
13
- return this._config;
14
- }
15
- constructor(_config) {
16
- super({
17
- version: MsalModuleVersion.Latest,
18
- config: _config,
19
- });
20
- this._config = _config;
21
- this.#client = this.createClient();
22
- }
23
- get client() {
24
- return this.#client;
25
- }
26
- /** @deprecated */
27
- createClient() {
28
- const client = createAuthClient(this._config.tenantId, this._config.clientId, this._config.redirectUri);
29
- // TODO - fix with log streamer
30
- client.setLogger(new ConsoleLogger(0));
31
- return client;
32
- }
33
- async handleRedirect() {
34
- const { redirectUri } = this.defaultConfig || {};
35
- if (window.location.pathname === redirectUri) {
36
- const logger = this.client.getLogger();
37
- const { requestOrigin } = this.client;
38
- await this.client.handleRedirectPromise();
39
- if (requestOrigin === redirectUri) {
40
- logger.warning(`detected callback loop from url ${redirectUri}, redirecting to root`);
41
- window.location.replace('/');
42
- }
43
- else {
44
- window.location.replace(requestOrigin || '/');
45
- }
46
- }
47
- return null;
48
- }
49
- acquireToken(req) {
50
- return this.client.acquireToken(req);
51
- }
52
- async acquireAccessToken(req) {
53
- const token = await this.acquireToken(req);
54
- return token ? token.accessToken : undefined;
55
- }
56
- async login(options) {
57
- // skip login if already logged in and has valid claims
58
- if (options?.onlyIfRequired && this.client.hasValidClaims) {
59
- return;
60
- }
61
- await this.client.login();
62
- }
63
- async logout(options) {
64
- // TODO - might have an option for popup or redirect
65
- await this.client.logoutRedirect({
66
- postLogoutRedirectUri: options?.redirectUri,
67
- account: this.defaultAccount,
68
- });
69
- }
70
- createProxyProvider(version) {
71
- // TODO - check if version is supported and telemetry
72
- const { enumVersion } = resolveVersion(version);
73
- switch (enumVersion) {
74
- case MsalModuleVersion.V2:
75
- case MsalModuleVersion.Latest:
76
- return this._createProxyProvider_v2();
77
- default:
78
- throw new Error(`Version ${version} is not supported`);
79
- }
80
- }
81
- _createProxyProvider_v2() {
82
- const proxy = new Proxy(this, {
83
- get: (target, prop) => {
84
- switch (prop) {
85
- case 'version':
86
- return target.version;
87
- case 'dispose':
88
- return target.dispose.bind(target);
89
- case 'client':
90
- return target.client;
91
- // @ts-expect-error this is deprecated since version 5.0.1
92
- case 'defaultClient':
93
- console.warn('defaultClient is deprecated, use client instead');
94
- return target.client;
95
- case 'defaultAccount':
96
- return target.defaultAccount;
97
- case 'defaultConfig':
98
- return target.defaultConfig;
99
- case 'acquireToken':
100
- return target.acquireToken.bind(target);
101
- case 'acquireAccessToken':
102
- return target.acquireAccessToken.bind(target);
103
- case 'login':
104
- return target.login.bind(target);
105
- case 'handleRedirect':
106
- return target.handleRedirect.bind(target);
107
- case 'createProxyProvider':
108
- return target.createProxyProvider.bind(target);
109
- }
110
- },
111
- });
112
- return proxy;
113
- }
114
- }
115
- //# sourceMappingURL=provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/v2/provider.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * - **Popup:**
3
- * Use when initiating the process via opening a popup window in the user's browser
4
- *
5
- * - **Redirect:**
6
- * Use when initiating the login process by redirecting the user's browser to the authorization endpoint.
7
- * This function redirects the page, so any code that follows this function will not execute.
8
- */
9
- export type AuthBehavior = 'popup' | 'redirect';
10
- /**
11
- * Default behavior for login and acquisition of token
12
- */
13
- export declare const defaultBehavior: AuthBehavior;