@azure/msal-browser 3.20.0 → 3.22.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 (187) hide show
  1. package/dist/app/IPublicClientApplication.d.ts +53 -53
  2. package/dist/app/IPublicClientApplication.mjs +105 -105
  3. package/dist/app/PublicClientApplication.d.ts +293 -293
  4. package/dist/app/PublicClientApplication.mjs +364 -364
  5. package/dist/app/PublicClientNext.d.ts +276 -276
  6. package/dist/app/PublicClientNext.mjs +354 -354
  7. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
  8. package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
  9. package/dist/broker/nativeBroker/NativeRequest.d.ts +45 -45
  10. package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
  11. package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
  12. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
  13. package/dist/cache/AccountManager.d.ts +48 -48
  14. package/dist/cache/AccountManager.mjs +126 -126
  15. package/dist/cache/AsyncMemoryStorage.d.ts +50 -50
  16. package/dist/cache/AsyncMemoryStorage.mjs +131 -131
  17. package/dist/cache/BrowserCacheManager.d.ts +385 -385
  18. package/dist/cache/BrowserCacheManager.mjs +1294 -1294
  19. package/dist/cache/BrowserStorage.d.ts +11 -11
  20. package/dist/cache/BrowserStorage.mjs +32 -32
  21. package/dist/cache/DatabaseStorage.d.ts +56 -56
  22. package/dist/cache/DatabaseStorage.mjs +200 -200
  23. package/dist/cache/IAsyncStorage.d.ts +27 -27
  24. package/dist/cache/ITokenCache.d.ts +11 -11
  25. package/dist/cache/IWindowStorage.d.ts +27 -27
  26. package/dist/cache/MemoryStorage.d.ts +11 -11
  27. package/dist/cache/MemoryStorage.mjs +31 -31
  28. package/dist/cache/TokenCache.d.ts +77 -77
  29. package/dist/cache/TokenCache.mjs +195 -195
  30. package/dist/config/Configuration.d.ts +213 -208
  31. package/dist/config/Configuration.d.ts.map +1 -1
  32. package/dist/config/Configuration.mjs +128 -128
  33. package/dist/config/Configuration.mjs.map +1 -1
  34. package/dist/controllers/ControllerFactory.d.ts +5 -5
  35. package/dist/controllers/ControllerFactory.mjs +25 -25
  36. package/dist/controllers/IController.d.ts +60 -60
  37. package/dist/controllers/NestedAppAuthController.d.ts +202 -202
  38. package/dist/controllers/NestedAppAuthController.mjs +473 -473
  39. package/dist/controllers/StandardController.d.ts +405 -405
  40. package/dist/controllers/StandardController.d.ts.map +1 -1
  41. package/dist/controllers/StandardController.mjs +1334 -1316
  42. package/dist/controllers/StandardController.mjs.map +1 -1
  43. package/dist/controllers/UnknownOperatingContextController.d.ts +86 -86
  44. package/dist/controllers/UnknownOperatingContextController.mjs +256 -256
  45. package/dist/crypto/BrowserCrypto.d.ts +52 -52
  46. package/dist/crypto/BrowserCrypto.mjs +151 -151
  47. package/dist/crypto/CryptoOps.d.ts +74 -74
  48. package/dist/crypto/CryptoOps.mjs +176 -176
  49. package/dist/crypto/PkceGenerator.d.ts +8 -8
  50. package/dist/crypto/PkceGenerator.mjs +54 -54
  51. package/dist/crypto/SignedHttpRequest.d.ts +30 -30
  52. package/dist/crypto/SignedHttpRequest.mjs +39 -39
  53. package/dist/encode/Base64Decode.d.ts +9 -9
  54. package/dist/encode/Base64Decode.mjs +36 -36
  55. package/dist/encode/Base64Encode.d.ts +19 -19
  56. package/dist/encode/Base64Encode.mjs +43 -43
  57. package/dist/error/BrowserAuthError.d.ts +255 -255
  58. package/dist/error/BrowserAuthError.mjs +263 -263
  59. package/dist/error/BrowserAuthErrorCodes.d.ts +46 -46
  60. package/dist/error/BrowserAuthErrorCodes.mjs +50 -50
  61. package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
  62. package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
  63. package/dist/error/BrowserConfigurationAuthError.mjs.map +1 -1
  64. package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
  65. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
  66. package/dist/error/NativeAuthError.d.ts +29 -29
  67. package/dist/error/NativeAuthError.mjs +60 -60
  68. package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
  69. package/dist/error/NativeAuthErrorCodes.mjs +6 -6
  70. package/dist/error/NestedAppAuthError.d.ts +14 -14
  71. package/dist/error/NestedAppAuthError.mjs +23 -23
  72. package/dist/event/EventHandler.d.ts +41 -41
  73. package/dist/event/EventHandler.mjs +125 -125
  74. package/dist/event/EventMessage.d.ts +25 -25
  75. package/dist/event/EventMessage.mjs +68 -68
  76. package/dist/event/EventType.d.ts +29 -29
  77. package/dist/event/EventType.mjs +32 -32
  78. package/dist/index.d.ts +40 -40
  79. package/dist/index.mjs +1 -1
  80. package/dist/interaction_client/BaseInteractionClient.d.ts +50 -50
  81. package/dist/interaction_client/BaseInteractionClient.mjs +106 -106
  82. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  83. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
  84. package/dist/interaction_client/NativeInteractionClient.d.ts +151 -151
  85. package/dist/interaction_client/NativeInteractionClient.mjs +621 -621
  86. package/dist/interaction_client/PopupClient.d.ts +105 -105
  87. package/dist/interaction_client/PopupClient.d.ts.map +1 -1
  88. package/dist/interaction_client/PopupClient.mjs +433 -433
  89. package/dist/interaction_client/PopupClient.mjs.map +1 -1
  90. package/dist/interaction_client/RedirectClient.d.ts +50 -50
  91. package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
  92. package/dist/interaction_client/RedirectClient.mjs +315 -314
  93. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  94. package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
  95. package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
  96. package/dist/interaction_client/SilentCacheClient.d.ts +16 -16
  97. package/dist/interaction_client/SilentCacheClient.mjs +42 -42
  98. package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
  99. package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
  100. package/dist/interaction_client/SilentIframeClient.mjs +110 -100
  101. package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  102. package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
  103. package/dist/interaction_client/SilentRefreshClient.mjs +47 -47
  104. package/dist/interaction_client/StandardInteractionClient.d.ts +48 -48
  105. package/dist/interaction_client/StandardInteractionClient.mjs +199 -199
  106. package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
  107. package/dist/interaction_handler/InteractionHandler.mjs +93 -93
  108. package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
  109. package/dist/interaction_handler/RedirectHandler.mjs +134 -134
  110. package/dist/interaction_handler/SilentHandler.d.ts +13 -13
  111. package/dist/interaction_handler/SilentHandler.mjs +134 -134
  112. package/dist/naa/AccountInfo.d.ts +11 -11
  113. package/dist/naa/AuthBridge.d.ts +8 -8
  114. package/dist/naa/AuthResult.d.ts +6 -6
  115. package/dist/naa/BridgeAccountContext.d.ts +12 -12
  116. package/dist/naa/BridgeCapabilities.d.ts +3 -3
  117. package/dist/naa/BridgeError.d.ts +9 -9
  118. package/dist/naa/BridgeError.mjs +7 -7
  119. package/dist/naa/BridgeProxy.d.ts +67 -67
  120. package/dist/naa/BridgeProxy.mjs +148 -148
  121. package/dist/naa/BridgeRequest.d.ts +7 -7
  122. package/dist/naa/BridgeRequestEnvelope.d.ts +12 -12
  123. package/dist/naa/BridgeResponseEnvelope.d.ts +13 -13
  124. package/dist/naa/BridgeStatusCode.d.ts +11 -11
  125. package/dist/naa/BridgeStatusCode.mjs +14 -14
  126. package/dist/naa/IBridgeProxy.d.ts +10 -10
  127. package/dist/naa/InitContext.d.ts +8 -8
  128. package/dist/naa/TokenRequest.d.ts +18 -18
  129. package/dist/naa/TokenResponse.d.ts +13 -13
  130. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +35 -35
  131. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +179 -179
  132. package/dist/navigation/INavigationClient.d.ts +16 -16
  133. package/dist/navigation/NavigationClient.d.ts +22 -22
  134. package/dist/navigation/NavigationClient.mjs +40 -40
  135. package/dist/navigation/NavigationOptions.d.ts +12 -12
  136. package/dist/network/FetchClient.d.ts +26 -26
  137. package/dist/network/FetchClient.mjs +99 -99
  138. package/dist/operatingcontext/BaseOperatingContext.d.ts +41 -41
  139. package/dist/operatingcontext/BaseOperatingContext.mjs +94 -94
  140. package/dist/operatingcontext/NestedAppOperatingContext.d.ts +34 -34
  141. package/dist/operatingcontext/NestedAppOperatingContext.mjs +71 -71
  142. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  143. package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
  144. package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
  145. package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
  146. package/dist/packageMetadata.d.ts +2 -2
  147. package/dist/packageMetadata.mjs +4 -4
  148. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  149. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  150. package/dist/request/ClearCacheRequest.d.ts +10 -10
  151. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  152. package/dist/request/EndSessionRequest.d.ts +15 -15
  153. package/dist/request/InitializeApplicationRequest.d.ts +8 -8
  154. package/dist/request/PopupRequest.d.ts +34 -34
  155. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  156. package/dist/request/RedirectRequest.d.ts +40 -35
  157. package/dist/request/RedirectRequest.d.ts.map +1 -1
  158. package/dist/request/RequestHelpers.d.ts +13 -13
  159. package/dist/request/RequestHelpers.mjs +53 -53
  160. package/dist/request/SilentRequest.d.ts +33 -33
  161. package/dist/request/SsoSilentRequest.d.ts +29 -29
  162. package/dist/response/AuthenticationResult.d.ts +4 -4
  163. package/dist/response/ResponseHandler.d.ts +7 -7
  164. package/dist/response/ResponseHandler.mjs +36 -36
  165. package/dist/telemetry/BrowserPerformanceClient.d.ts +34 -34
  166. package/dist/telemetry/BrowserPerformanceClient.mjs +162 -162
  167. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  168. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
  169. package/dist/utils/BrowserConstants.d.ts +180 -180
  170. package/dist/utils/BrowserConstants.mjs +212 -212
  171. package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
  172. package/dist/utils/BrowserProtocolUtils.mjs +21 -21
  173. package/dist/utils/BrowserUtils.d.ts +75 -75
  174. package/dist/utils/BrowserUtils.mjs +157 -157
  175. package/lib/msal-browser.cjs +18884 -18855
  176. package/lib/msal-browser.cjs.map +1 -1
  177. package/lib/msal-browser.js +18884 -18855
  178. package/lib/msal-browser.js.map +1 -1
  179. package/lib/msal-browser.min.js +59 -59
  180. package/package.json +2 -2
  181. package/src/config/Configuration.ts +9 -1
  182. package/src/controllers/StandardController.ts +30 -12
  183. package/src/interaction_client/PopupClient.ts +1 -0
  184. package/src/interaction_client/RedirectClient.ts +4 -1
  185. package/src/interaction_client/SilentIframeClient.ts +40 -3
  186. package/src/packageMetadata.ts +1 -1
  187. package/src/request/RedirectRequest.ts +5 -0
@@ -1,187 +1,187 @@
1
- /*! @azure/msal-browser v3.20.0 2024-07-23 */
1
+ /*! @azure/msal-browser v3.22.0 2024-08-28 */
2
2
  'use strict';
3
3
  import { RequestParameterBuilder, StringUtils, AuthenticationScheme, createClientAuthError, ClientAuthErrorCodes, AuthToken, buildTenantProfile, AuthError, InteractionRequiredAuthError, ServerError, ClientAuthError, OIDC_DEFAULT_SCOPES } from '@azure/msal-common';
4
4
  import { isBridgeError } from '../BridgeError.mjs';
5
5
  import { BridgeStatusCode } from '../BridgeStatusCode.mjs';
6
6
 
7
- /*
8
- * Copyright (c) Microsoft Corporation. All rights reserved.
9
- * Licensed under the MIT License.
10
- */
11
- class NestedAppAuthAdapter {
12
- constructor(clientId, clientCapabilities, crypto, logger) {
13
- this.clientId = clientId;
14
- this.clientCapabilities = clientCapabilities;
15
- this.crypto = crypto;
16
- this.logger = logger;
17
- }
18
- toNaaTokenRequest(request) {
19
- let extraParams;
20
- if (request.extraQueryParameters === undefined) {
21
- extraParams = new Map();
22
- }
23
- else {
24
- extraParams = new Map(Object.entries(request.extraQueryParameters));
25
- }
26
- const requestBuilder = new RequestParameterBuilder();
27
- const claims = requestBuilder.addClientCapabilitiesToClaims(request.claims, this.clientCapabilities);
28
- const scopes = request.scopes || OIDC_DEFAULT_SCOPES;
29
- const tokenRequest = {
30
- platformBrokerId: request.account?.homeAccountId,
31
- clientId: this.clientId,
32
- authority: request.authority,
33
- scope: scopes.join(" "),
34
- correlationId: request.correlationId !== undefined
35
- ? request.correlationId
36
- : this.crypto.createNewGuid(),
37
- claims: !StringUtils.isEmptyObj(claims) ? claims : undefined,
38
- state: request.state,
39
- authenticationScheme: request.authenticationScheme || AuthenticationScheme.BEARER,
40
- extraParameters: extraParams,
41
- };
42
- return tokenRequest;
43
- }
44
- fromNaaTokenResponse(request, response, reqTimestamp) {
45
- if (!response.token.id_token || !response.token.access_token) {
46
- throw createClientAuthError(ClientAuthErrorCodes.nullOrEmptyToken);
47
- }
48
- const expiresOn = new Date((reqTimestamp + (response.token.expires_in || 0)) * 1000);
49
- const idTokenClaims = AuthToken.extractTokenClaims(response.token.id_token, this.crypto.base64Decode);
50
- const account = this.fromNaaAccountInfo(response.account, response.token.id_token, idTokenClaims);
51
- const scopes = response.token.scope || request.scope;
52
- const authenticationResult = {
53
- authority: response.token.authority || account.environment,
54
- uniqueId: account.localAccountId,
55
- tenantId: account.tenantId,
56
- scopes: scopes.split(" "),
57
- account,
58
- idToken: response.token.id_token,
59
- idTokenClaims,
60
- accessToken: response.token.access_token,
61
- fromCache: false,
62
- expiresOn: expiresOn,
63
- tokenType: request.authenticationScheme || AuthenticationScheme.BEARER,
64
- correlationId: request.correlationId,
65
- extExpiresOn: expiresOn,
66
- state: request.state,
67
- };
68
- return authenticationResult;
69
- }
70
- /*
71
- * export type AccountInfo = {
72
- * homeAccountId: string;
73
- * environment: string;
74
- * tenantId: string;
75
- * username: string;
76
- * localAccountId: string;
77
- * name?: string;
78
- * idToken?: string;
79
- * idTokenClaims?: TokenClaims & {
80
- * [key: string]:
81
- * | string
82
- * | number
83
- * | string[]
84
- * | object
85
- * | undefined
86
- * | unknown;
87
- * };
88
- * nativeAccountId?: string;
89
- * authorityType?: string;
90
- * };
91
- */
92
- fromNaaAccountInfo(fromAccount, idToken, idTokenClaims) {
93
- const effectiveIdTokenClaims = idTokenClaims || fromAccount.idTokenClaims;
94
- const localAccountId = fromAccount.localAccountId ||
95
- effectiveIdTokenClaims?.oid ||
96
- effectiveIdTokenClaims?.sub ||
97
- "";
98
- const tenantId = fromAccount.tenantId || effectiveIdTokenClaims?.tid || "";
99
- const homeAccountId = fromAccount.homeAccountId || `${localAccountId}.${tenantId}`;
100
- const username = fromAccount.username ||
101
- effectiveIdTokenClaims?.preferred_username ||
102
- "";
103
- const name = fromAccount.name || effectiveIdTokenClaims?.name;
104
- const tenantProfiles = new Map();
105
- const tenantProfile = buildTenantProfile(homeAccountId, localAccountId, tenantId, effectiveIdTokenClaims);
106
- tenantProfiles.set(tenantId, tenantProfile);
107
- const account = {
108
- homeAccountId,
109
- environment: fromAccount.environment,
110
- tenantId,
111
- username,
112
- localAccountId,
113
- name,
114
- idToken: idToken,
115
- idTokenClaims: effectiveIdTokenClaims,
116
- tenantProfiles,
117
- };
118
- return account;
119
- }
120
- /**
121
- *
122
- * @param error BridgeError
123
- * @returns AuthError, ClientAuthError, ClientConfigurationError, ServerError, InteractionRequiredError
124
- */
125
- fromBridgeError(error) {
126
- if (isBridgeError(error)) {
127
- switch (error.status) {
128
- case BridgeStatusCode.UserCancel:
129
- return new ClientAuthError(ClientAuthErrorCodes.userCanceled);
130
- case BridgeStatusCode.NoNetwork:
131
- return new ClientAuthError(ClientAuthErrorCodes.noNetworkConnectivity);
132
- case BridgeStatusCode.AccountUnavailable:
133
- return new ClientAuthError(ClientAuthErrorCodes.noAccountFound);
134
- case BridgeStatusCode.Disabled:
135
- return new ClientAuthError(ClientAuthErrorCodes.nestedAppAuthBridgeDisabled);
136
- case BridgeStatusCode.NestedAppAuthUnavailable:
137
- return new ClientAuthError(error.code ||
138
- ClientAuthErrorCodes.nestedAppAuthBridgeDisabled, error.description);
139
- case BridgeStatusCode.TransientError:
140
- case BridgeStatusCode.PersistentError:
141
- return new ServerError(error.code, error.description);
142
- case BridgeStatusCode.UserInteractionRequired:
143
- return new InteractionRequiredAuthError(error.code, error.description);
144
- default:
145
- return new AuthError(error.code, error.description);
146
- }
147
- }
148
- else {
149
- return new AuthError("unknown_error", "An unknown error occurred");
150
- }
151
- }
152
- /**
153
- * Returns an AuthenticationResult from the given cache items
154
- *
155
- * @param account
156
- * @param idToken
157
- * @param accessToken
158
- * @param reqTimestamp
159
- * @returns
160
- */
161
- toAuthenticationResultFromCache(account, idToken, accessToken, request, correlationId) {
162
- if (!idToken || !accessToken) {
163
- throw createClientAuthError(ClientAuthErrorCodes.nullOrEmptyToken);
164
- }
165
- const idTokenClaims = AuthToken.extractTokenClaims(idToken.secret, this.crypto.base64Decode);
166
- const scopes = accessToken.target || request.scopes.join(" ");
167
- const authenticationResult = {
168
- authority: accessToken.environment || account.environment,
169
- uniqueId: account.localAccountId,
170
- tenantId: account.tenantId,
171
- scopes: scopes.split(" "),
172
- account,
173
- idToken: idToken.secret,
174
- idTokenClaims: idTokenClaims || {},
175
- accessToken: accessToken.secret,
176
- fromCache: true,
177
- expiresOn: new Date(Number(accessToken.expiresOn) * 1000),
178
- tokenType: request.authenticationScheme || AuthenticationScheme.BEARER,
179
- correlationId,
180
- extExpiresOn: new Date(Number(accessToken.extendedExpiresOn) * 1000),
181
- state: request.state,
182
- };
183
- return authenticationResult;
184
- }
7
+ /*
8
+ * Copyright (c) Microsoft Corporation. All rights reserved.
9
+ * Licensed under the MIT License.
10
+ */
11
+ class NestedAppAuthAdapter {
12
+ constructor(clientId, clientCapabilities, crypto, logger) {
13
+ this.clientId = clientId;
14
+ this.clientCapabilities = clientCapabilities;
15
+ this.crypto = crypto;
16
+ this.logger = logger;
17
+ }
18
+ toNaaTokenRequest(request) {
19
+ let extraParams;
20
+ if (request.extraQueryParameters === undefined) {
21
+ extraParams = new Map();
22
+ }
23
+ else {
24
+ extraParams = new Map(Object.entries(request.extraQueryParameters));
25
+ }
26
+ const requestBuilder = new RequestParameterBuilder();
27
+ const claims = requestBuilder.addClientCapabilitiesToClaims(request.claims, this.clientCapabilities);
28
+ const scopes = request.scopes || OIDC_DEFAULT_SCOPES;
29
+ const tokenRequest = {
30
+ platformBrokerId: request.account?.homeAccountId,
31
+ clientId: this.clientId,
32
+ authority: request.authority,
33
+ scope: scopes.join(" "),
34
+ correlationId: request.correlationId !== undefined
35
+ ? request.correlationId
36
+ : this.crypto.createNewGuid(),
37
+ claims: !StringUtils.isEmptyObj(claims) ? claims : undefined,
38
+ state: request.state,
39
+ authenticationScheme: request.authenticationScheme || AuthenticationScheme.BEARER,
40
+ extraParameters: extraParams,
41
+ };
42
+ return tokenRequest;
43
+ }
44
+ fromNaaTokenResponse(request, response, reqTimestamp) {
45
+ if (!response.token.id_token || !response.token.access_token) {
46
+ throw createClientAuthError(ClientAuthErrorCodes.nullOrEmptyToken);
47
+ }
48
+ const expiresOn = new Date((reqTimestamp + (response.token.expires_in || 0)) * 1000);
49
+ const idTokenClaims = AuthToken.extractTokenClaims(response.token.id_token, this.crypto.base64Decode);
50
+ const account = this.fromNaaAccountInfo(response.account, response.token.id_token, idTokenClaims);
51
+ const scopes = response.token.scope || request.scope;
52
+ const authenticationResult = {
53
+ authority: response.token.authority || account.environment,
54
+ uniqueId: account.localAccountId,
55
+ tenantId: account.tenantId,
56
+ scopes: scopes.split(" "),
57
+ account,
58
+ idToken: response.token.id_token,
59
+ idTokenClaims,
60
+ accessToken: response.token.access_token,
61
+ fromCache: false,
62
+ expiresOn: expiresOn,
63
+ tokenType: request.authenticationScheme || AuthenticationScheme.BEARER,
64
+ correlationId: request.correlationId,
65
+ extExpiresOn: expiresOn,
66
+ state: request.state,
67
+ };
68
+ return authenticationResult;
69
+ }
70
+ /*
71
+ * export type AccountInfo = {
72
+ * homeAccountId: string;
73
+ * environment: string;
74
+ * tenantId: string;
75
+ * username: string;
76
+ * localAccountId: string;
77
+ * name?: string;
78
+ * idToken?: string;
79
+ * idTokenClaims?: TokenClaims & {
80
+ * [key: string]:
81
+ * | string
82
+ * | number
83
+ * | string[]
84
+ * | object
85
+ * | undefined
86
+ * | unknown;
87
+ * };
88
+ * nativeAccountId?: string;
89
+ * authorityType?: string;
90
+ * };
91
+ */
92
+ fromNaaAccountInfo(fromAccount, idToken, idTokenClaims) {
93
+ const effectiveIdTokenClaims = idTokenClaims || fromAccount.idTokenClaims;
94
+ const localAccountId = fromAccount.localAccountId ||
95
+ effectiveIdTokenClaims?.oid ||
96
+ effectiveIdTokenClaims?.sub ||
97
+ "";
98
+ const tenantId = fromAccount.tenantId || effectiveIdTokenClaims?.tid || "";
99
+ const homeAccountId = fromAccount.homeAccountId || `${localAccountId}.${tenantId}`;
100
+ const username = fromAccount.username ||
101
+ effectiveIdTokenClaims?.preferred_username ||
102
+ "";
103
+ const name = fromAccount.name || effectiveIdTokenClaims?.name;
104
+ const tenantProfiles = new Map();
105
+ const tenantProfile = buildTenantProfile(homeAccountId, localAccountId, tenantId, effectiveIdTokenClaims);
106
+ tenantProfiles.set(tenantId, tenantProfile);
107
+ const account = {
108
+ homeAccountId,
109
+ environment: fromAccount.environment,
110
+ tenantId,
111
+ username,
112
+ localAccountId,
113
+ name,
114
+ idToken: idToken,
115
+ idTokenClaims: effectiveIdTokenClaims,
116
+ tenantProfiles,
117
+ };
118
+ return account;
119
+ }
120
+ /**
121
+ *
122
+ * @param error BridgeError
123
+ * @returns AuthError, ClientAuthError, ClientConfigurationError, ServerError, InteractionRequiredError
124
+ */
125
+ fromBridgeError(error) {
126
+ if (isBridgeError(error)) {
127
+ switch (error.status) {
128
+ case BridgeStatusCode.UserCancel:
129
+ return new ClientAuthError(ClientAuthErrorCodes.userCanceled);
130
+ case BridgeStatusCode.NoNetwork:
131
+ return new ClientAuthError(ClientAuthErrorCodes.noNetworkConnectivity);
132
+ case BridgeStatusCode.AccountUnavailable:
133
+ return new ClientAuthError(ClientAuthErrorCodes.noAccountFound);
134
+ case BridgeStatusCode.Disabled:
135
+ return new ClientAuthError(ClientAuthErrorCodes.nestedAppAuthBridgeDisabled);
136
+ case BridgeStatusCode.NestedAppAuthUnavailable:
137
+ return new ClientAuthError(error.code ||
138
+ ClientAuthErrorCodes.nestedAppAuthBridgeDisabled, error.description);
139
+ case BridgeStatusCode.TransientError:
140
+ case BridgeStatusCode.PersistentError:
141
+ return new ServerError(error.code, error.description);
142
+ case BridgeStatusCode.UserInteractionRequired:
143
+ return new InteractionRequiredAuthError(error.code, error.description);
144
+ default:
145
+ return new AuthError(error.code, error.description);
146
+ }
147
+ }
148
+ else {
149
+ return new AuthError("unknown_error", "An unknown error occurred");
150
+ }
151
+ }
152
+ /**
153
+ * Returns an AuthenticationResult from the given cache items
154
+ *
155
+ * @param account
156
+ * @param idToken
157
+ * @param accessToken
158
+ * @param reqTimestamp
159
+ * @returns
160
+ */
161
+ toAuthenticationResultFromCache(account, idToken, accessToken, request, correlationId) {
162
+ if (!idToken || !accessToken) {
163
+ throw createClientAuthError(ClientAuthErrorCodes.nullOrEmptyToken);
164
+ }
165
+ const idTokenClaims = AuthToken.extractTokenClaims(idToken.secret, this.crypto.base64Decode);
166
+ const scopes = accessToken.target || request.scopes.join(" ");
167
+ const authenticationResult = {
168
+ authority: accessToken.environment || account.environment,
169
+ uniqueId: account.localAccountId,
170
+ tenantId: account.tenantId,
171
+ scopes: scopes.split(" "),
172
+ account,
173
+ idToken: idToken.secret,
174
+ idTokenClaims: idTokenClaims || {},
175
+ accessToken: accessToken.secret,
176
+ fromCache: true,
177
+ expiresOn: new Date(Number(accessToken.expiresOn) * 1000),
178
+ tokenType: request.authenticationScheme || AuthenticationScheme.BEARER,
179
+ correlationId,
180
+ extExpiresOn: new Date(Number(accessToken.extendedExpiresOn) * 1000),
181
+ state: request.state,
182
+ };
183
+ return authenticationResult;
184
+ }
185
185
  }
186
186
 
187
187
  export { NestedAppAuthAdapter };
@@ -1,17 +1,17 @@
1
- import { NavigationOptions } from "./NavigationOptions";
2
- export interface INavigationClient {
3
- /**
4
- * Navigates to other pages within the same web application
5
- * Return false if this doesn't cause the page to reload i.e. Client-side navigation
6
- * @param url
7
- * @param options
8
- */
9
- navigateInternal(url: string, options: NavigationOptions): Promise<boolean>;
10
- /**
11
- * Navigates to other pages outside the web application i.e. the Identity Provider
12
- * @param url
13
- * @param options
14
- */
15
- navigateExternal(url: string, options: NavigationOptions): Promise<boolean>;
16
- }
1
+ import { NavigationOptions } from "./NavigationOptions";
2
+ export interface INavigationClient {
3
+ /**
4
+ * Navigates to other pages within the same web application
5
+ * Return false if this doesn't cause the page to reload i.e. Client-side navigation
6
+ * @param url
7
+ * @param options
8
+ */
9
+ navigateInternal(url: string, options: NavigationOptions): Promise<boolean>;
10
+ /**
11
+ * Navigates to other pages outside the web application i.e. the Identity Provider
12
+ * @param url
13
+ * @param options
14
+ */
15
+ navigateExternal(url: string, options: NavigationOptions): Promise<boolean>;
16
+ }
17
17
  //# sourceMappingURL=INavigationClient.d.ts.map
@@ -1,23 +1,23 @@
1
- import { INavigationClient } from "./INavigationClient";
2
- import { NavigationOptions } from "./NavigationOptions";
3
- export declare class NavigationClient implements INavigationClient {
4
- /**
5
- * Navigates to other pages within the same web application
6
- * @param url
7
- * @param options
8
- */
9
- navigateInternal(url: string, options: NavigationOptions): Promise<boolean>;
10
- /**
11
- * Navigates to other pages outside the web application i.e. the Identity Provider
12
- * @param url
13
- * @param options
14
- */
15
- navigateExternal(url: string, options: NavigationOptions): Promise<boolean>;
16
- /**
17
- * Default navigation implementation invoked by the internal and external functions
18
- * @param url
19
- * @param options
20
- */
21
- private static defaultNavigateWindow;
22
- }
1
+ import { INavigationClient } from "./INavigationClient";
2
+ import { NavigationOptions } from "./NavigationOptions";
3
+ export declare class NavigationClient implements INavigationClient {
4
+ /**
5
+ * Navigates to other pages within the same web application
6
+ * @param url
7
+ * @param options
8
+ */
9
+ navigateInternal(url: string, options: NavigationOptions): Promise<boolean>;
10
+ /**
11
+ * Navigates to other pages outside the web application i.e. the Identity Provider
12
+ * @param url
13
+ * @param options
14
+ */
15
+ navigateExternal(url: string, options: NavigationOptions): Promise<boolean>;
16
+ /**
17
+ * Default navigation implementation invoked by the internal and external functions
18
+ * @param url
19
+ * @param options
20
+ */
21
+ private static defaultNavigateWindow;
22
+ }
23
23
  //# sourceMappingURL=NavigationClient.d.ts.map
@@ -1,44 +1,44 @@
1
- /*! @azure/msal-browser v3.20.0 2024-07-23 */
1
+ /*! @azure/msal-browser v3.22.0 2024-08-28 */
2
2
  'use strict';
3
- /*
4
- * Copyright (c) Microsoft Corporation. All rights reserved.
5
- * Licensed under the MIT License.
6
- */
7
- class NavigationClient {
8
- /**
9
- * Navigates to other pages within the same web application
10
- * @param url
11
- * @param options
12
- */
13
- navigateInternal(url, options) {
14
- return NavigationClient.defaultNavigateWindow(url, options);
15
- }
16
- /**
17
- * Navigates to other pages outside the web application i.e. the Identity Provider
18
- * @param url
19
- * @param options
20
- */
21
- navigateExternal(url, options) {
22
- return NavigationClient.defaultNavigateWindow(url, options);
23
- }
24
- /**
25
- * Default navigation implementation invoked by the internal and external functions
26
- * @param url
27
- * @param options
28
- */
29
- static defaultNavigateWindow(url, options) {
30
- if (options.noHistory) {
31
- window.location.replace(url);
32
- }
33
- else {
34
- window.location.assign(url);
35
- }
36
- return new Promise((resolve) => {
37
- setTimeout(() => {
38
- resolve(true);
39
- }, options.timeout);
40
- });
41
- }
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ class NavigationClient {
8
+ /**
9
+ * Navigates to other pages within the same web application
10
+ * @param url
11
+ * @param options
12
+ */
13
+ navigateInternal(url, options) {
14
+ return NavigationClient.defaultNavigateWindow(url, options);
15
+ }
16
+ /**
17
+ * Navigates to other pages outside the web application i.e. the Identity Provider
18
+ * @param url
19
+ * @param options
20
+ */
21
+ navigateExternal(url, options) {
22
+ return NavigationClient.defaultNavigateWindow(url, options);
23
+ }
24
+ /**
25
+ * Default navigation implementation invoked by the internal and external functions
26
+ * @param url
27
+ * @param options
28
+ */
29
+ static defaultNavigateWindow(url, options) {
30
+ if (options.noHistory) {
31
+ window.location.replace(url);
32
+ }
33
+ else {
34
+ window.location.assign(url);
35
+ }
36
+ return new Promise((resolve) => {
37
+ setTimeout(() => {
38
+ resolve(true);
39
+ }, options.timeout);
40
+ });
41
+ }
42
42
  }
43
43
 
44
44
  export { NavigationClient };
@@ -1,13 +1,13 @@
1
- import { ApiId } from "../utils/BrowserConstants";
2
- /**
3
- * Additional information passed to the navigateInternal and navigateExternal functions
4
- */
5
- export type NavigationOptions = {
6
- /** The Id of the API that initiated navigation */
7
- apiId: ApiId;
8
- /** Suggested timeout (ms) based on the configuration provided to PublicClientApplication */
9
- timeout: number;
10
- /** When set to true the url should not be added to the browser history */
11
- noHistory: boolean;
12
- };
1
+ import { ApiId } from "../utils/BrowserConstants";
2
+ /**
3
+ * Additional information passed to the navigateInternal and navigateExternal functions
4
+ */
5
+ export type NavigationOptions = {
6
+ /** The Id of the API that initiated navigation */
7
+ apiId: ApiId;
8
+ /** Suggested timeout (ms) based on the configuration provided to PublicClientApplication */
9
+ timeout: number;
10
+ /** When set to true the url should not be added to the browser history */
11
+ noHistory: boolean;
12
+ };
13
13
  //# sourceMappingURL=NavigationOptions.d.ts.map
@@ -1,27 +1,27 @@
1
- import { INetworkModule, NetworkRequestOptions, NetworkResponse } from "@azure/msal-common";
2
- /**
3
- * This class implements the Fetch API for GET and POST requests. See more here: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
4
- */
5
- export declare class FetchClient implements INetworkModule {
6
- /**
7
- * Fetch Client for REST endpoints - Get request
8
- * @param url
9
- * @param headers
10
- * @param body
11
- */
12
- sendGetRequestAsync<T>(url: string, options?: NetworkRequestOptions): Promise<NetworkResponse<T>>;
13
- /**
14
- * Fetch Client for REST endpoints - Post request
15
- * @param url
16
- * @param headers
17
- * @param body
18
- */
19
- sendPostRequestAsync<T>(url: string, options?: NetworkRequestOptions): Promise<NetworkResponse<T>>;
20
- /**
21
- * Get Fetch API Headers object from string map
22
- * @param inputHeaders
23
- */
24
- private getFetchHeaders;
25
- private getHeaderDict;
26
- }
1
+ import { INetworkModule, NetworkRequestOptions, NetworkResponse } from "@azure/msal-common";
2
+ /**
3
+ * This class implements the Fetch API for GET and POST requests. See more here: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API
4
+ */
5
+ export declare class FetchClient implements INetworkModule {
6
+ /**
7
+ * Fetch Client for REST endpoints - Get request
8
+ * @param url
9
+ * @param headers
10
+ * @param body
11
+ */
12
+ sendGetRequestAsync<T>(url: string, options?: NetworkRequestOptions): Promise<NetworkResponse<T>>;
13
+ /**
14
+ * Fetch Client for REST endpoints - Post request
15
+ * @param url
16
+ * @param headers
17
+ * @param body
18
+ */
19
+ sendPostRequestAsync<T>(url: string, options?: NetworkRequestOptions): Promise<NetworkResponse<T>>;
20
+ /**
21
+ * Get Fetch API Headers object from string map
22
+ * @param inputHeaders
23
+ */
24
+ private getFetchHeaders;
25
+ private getHeaderDict;
26
+ }
27
27
  //# sourceMappingURL=FetchClient.d.ts.map