@azure/msal-browser 3.5.0 → 3.5.1-beta.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 (192) hide show
  1. package/dist/app/IPublicClientApplication.d.ts +51 -51
  2. package/dist/app/IPublicClientApplication.mjs +102 -102
  3. package/dist/app/PublicClientApplication.d.ts +268 -268
  4. package/dist/app/PublicClientApplication.mjs +333 -333
  5. package/dist/app/PublicClientNext.d.ts +273 -273
  6. package/dist/app/PublicClientNext.mjs +351 -351
  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 +44 -44
  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/AsyncMemoryStorage.d.ts +51 -51
  14. package/dist/cache/AsyncMemoryStorage.mjs +132 -132
  15. package/dist/cache/BrowserCacheManager.d.ts +383 -383
  16. package/dist/cache/BrowserCacheManager.mjs +1262 -1262
  17. package/dist/cache/BrowserStorage.d.ts +11 -11
  18. package/dist/cache/BrowserStorage.mjs +32 -32
  19. package/dist/cache/CryptoKeyStore.d.ts +18 -18
  20. package/dist/cache/CryptoKeyStore.mjs +40 -40
  21. package/dist/cache/DatabaseStorage.d.ts +56 -56
  22. package/dist/cache/DatabaseStorage.mjs +190 -190
  23. package/dist/cache/IAsyncMemoryStorage.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 +224 -224
  30. package/dist/config/Configuration.d.ts +206 -206
  31. package/dist/config/Configuration.mjs +128 -128
  32. package/dist/controllers/ControllerFactory.d.ts +4 -4
  33. package/dist/controllers/ControllerFactory.mjs +29 -29
  34. package/dist/controllers/IController.d.ts +61 -61
  35. package/dist/controllers/NestedAppAuthController.d.ts +95 -95
  36. package/dist/controllers/NestedAppAuthController.d.ts.map +1 -1
  37. package/dist/controllers/NestedAppAuthController.mjs +335 -333
  38. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  39. package/dist/controllers/StandardController.d.ts +407 -407
  40. package/dist/controllers/StandardController.d.ts.map +1 -1
  41. package/dist/controllers/StandardController.mjs +1293 -1291
  42. package/dist/controllers/StandardController.mjs.map +1 -1
  43. package/dist/controllers/UnknownOperatingContextController.d.ts +87 -87
  44. package/dist/controllers/UnknownOperatingContextController.mjs +264 -264
  45. package/dist/crypto/BrowserCrypto.d.ts +44 -44
  46. package/dist/crypto/BrowserCrypto.mjs +93 -93
  47. package/dist/crypto/CryptoOps.d.ts +63 -63
  48. package/dist/crypto/CryptoOps.mjs +145 -145
  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 +250 -250
  58. package/dist/error/BrowserAuthError.mjs +258 -258
  59. package/dist/error/BrowserAuthErrorCodes.d.ts +45 -45
  60. package/dist/error/BrowserAuthErrorCodes.mjs +49 -49
  61. package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
  62. package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
  63. package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
  64. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
  65. package/dist/error/NativeAuthError.d.ts +29 -29
  66. package/dist/error/NativeAuthError.mjs +60 -60
  67. package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
  68. package/dist/error/NativeAuthErrorCodes.mjs +6 -6
  69. package/dist/error/NestedAppAuthError.d.ts +14 -14
  70. package/dist/error/NestedAppAuthError.mjs +23 -23
  71. package/dist/event/EventHandler.d.ts +41 -41
  72. package/dist/event/EventHandler.mjs +119 -119
  73. package/dist/event/EventMessage.d.ts +25 -25
  74. package/dist/event/EventMessage.mjs +68 -68
  75. package/dist/event/EventType.d.ts +28 -28
  76. package/dist/event/EventType.mjs +31 -31
  77. package/dist/index.d.ts +39 -39
  78. package/dist/index.mjs +1 -1
  79. package/dist/interaction_client/BaseInteractionClient.d.ts +54 -54
  80. package/dist/interaction_client/BaseInteractionClient.mjs +152 -152
  81. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  82. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
  83. package/dist/interaction_client/NativeInteractionClient.d.ts +140 -140
  84. package/dist/interaction_client/NativeInteractionClient.mjs +548 -548
  85. package/dist/interaction_client/PopupClient.d.ts +105 -105
  86. package/dist/interaction_client/PopupClient.mjs +432 -432
  87. package/dist/interaction_client/RedirectClient.d.ts +49 -49
  88. package/dist/interaction_client/RedirectClient.mjs +311 -311
  89. package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
  90. package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
  91. package/dist/interaction_client/SilentCacheClient.d.ts +24 -24
  92. package/dist/interaction_client/SilentCacheClient.mjs +61 -61
  93. package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
  94. package/dist/interaction_client/SilentIframeClient.mjs +96 -96
  95. package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
  96. package/dist/interaction_client/SilentRefreshClient.mjs +43 -43
  97. package/dist/interaction_client/StandardInteractionClient.d.ts +54 -54
  98. package/dist/interaction_client/StandardInteractionClient.mjs +222 -222
  99. package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
  100. package/dist/interaction_handler/InteractionHandler.mjs +93 -93
  101. package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
  102. package/dist/interaction_handler/RedirectHandler.mjs +134 -134
  103. package/dist/interaction_handler/SilentHandler.d.ts +13 -13
  104. package/dist/interaction_handler/SilentHandler.mjs +133 -133
  105. package/dist/naa/AccountInfo.d.ts +11 -12
  106. package/dist/naa/AccountInfo.d.ts.map +1 -1
  107. package/dist/naa/AccountRequests.d.ts +9 -9
  108. package/dist/naa/AuthBridge.d.ts +5 -5
  109. package/dist/naa/BridgeCapabilities.d.ts +3 -3
  110. package/dist/naa/BridgeError.d.ts +9 -9
  111. package/dist/naa/BridgeError.d.ts.map +1 -1
  112. package/dist/naa/BridgeError.mjs +7 -7
  113. package/dist/naa/BridgeError.mjs.map +1 -1
  114. package/dist/naa/BridgeProxy.d.ts +72 -71
  115. package/dist/naa/BridgeProxy.d.ts.map +1 -1
  116. package/dist/naa/BridgeProxy.mjs +152 -149
  117. package/dist/naa/BridgeProxy.mjs.map +1 -1
  118. package/dist/naa/BridgeRequest.d.ts +6 -6
  119. package/dist/naa/BridgeRequestEnvelope.d.ts +13 -13
  120. package/dist/naa/BridgeResponseEnvelope.d.ts +10 -10
  121. package/dist/naa/BridgeStatusCode.d.ts +10 -10
  122. package/dist/naa/BridgeStatusCode.mjs +15 -15
  123. package/dist/naa/IBridgeProxy.d.ts +12 -10
  124. package/dist/naa/IBridgeProxy.d.ts.map +1 -1
  125. package/dist/naa/InitializeBridgeResponse.d.ts +6 -6
  126. package/dist/naa/InitializeBridgeResponse.d.ts.map +1 -1
  127. package/dist/naa/TokenRequest.d.ts +19 -21
  128. package/dist/naa/TokenRequest.d.ts.map +1 -1
  129. package/dist/naa/TokenResponse.d.ts +15 -16
  130. package/dist/naa/TokenResponse.d.ts.map +1 -1
  131. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +23 -25
  132. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
  133. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +142 -170
  134. package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
  135. package/dist/navigation/INavigationClient.d.ts +16 -16
  136. package/dist/navigation/NavigationClient.d.ts +22 -22
  137. package/dist/navigation/NavigationClient.mjs +40 -40
  138. package/dist/navigation/NavigationOptions.d.ts +12 -12
  139. package/dist/network/FetchClient.d.ts +26 -26
  140. package/dist/network/FetchClient.mjs +99 -99
  141. package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
  142. package/dist/operatingcontext/BaseOperatingContext.mjs +44 -44
  143. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  144. package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
  145. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +32 -32
  146. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts.map +1 -1
  147. package/dist/operatingcontext/TeamsAppOperatingContext.mjs +85 -82
  148. package/dist/operatingcontext/TeamsAppOperatingContext.mjs.map +1 -1
  149. package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
  150. package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
  151. package/dist/packageMetadata.d.ts +2 -2
  152. package/dist/packageMetadata.mjs +3 -3
  153. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  154. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  155. package/dist/request/ClearCacheRequest.d.ts +10 -10
  156. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  157. package/dist/request/EndSessionRequest.d.ts +15 -15
  158. package/dist/request/PopupRequest.d.ts +34 -34
  159. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  160. package/dist/request/RedirectRequest.d.ts +35 -35
  161. package/dist/request/SilentRequest.d.ts +32 -32
  162. package/dist/request/SsoSilentRequest.d.ts +29 -29
  163. package/dist/response/AuthenticationResult.d.ts +4 -4
  164. package/dist/response/ResponseHandler.d.ts +7 -7
  165. package/dist/response/ResponseHandler.mjs +36 -36
  166. package/dist/telemetry/BrowserPerformanceClient.d.ts +36 -36
  167. package/dist/telemetry/BrowserPerformanceClient.mjs +125 -125
  168. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  169. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
  170. package/dist/utils/BrowserConstants.d.ts +176 -176
  171. package/dist/utils/BrowserConstants.mjs +204 -204
  172. package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
  173. package/dist/utils/BrowserProtocolUtils.mjs +21 -21
  174. package/dist/utils/BrowserUtils.d.ts +56 -56
  175. package/dist/utils/BrowserUtils.mjs +125 -125
  176. package/lib/msal-browser.cjs +17920 -17926
  177. package/lib/msal-browser.cjs.map +1 -1
  178. package/lib/msal-browser.js +17920 -17926
  179. package/lib/msal-browser.js.map +1 -1
  180. package/lib/msal-browser.min.js +59 -59
  181. package/package.json +102 -102
  182. package/src/controllers/NestedAppAuthController.ts +8 -3
  183. package/src/controllers/StandardController.ts +3 -1
  184. package/src/naa/AccountInfo.ts +3 -4
  185. package/src/naa/BridgeError.ts +4 -4
  186. package/src/naa/BridgeProxy.ts +6 -2
  187. package/src/naa/IBridgeProxy.ts +2 -0
  188. package/src/naa/InitializeBridgeResponse.ts +1 -1
  189. package/src/naa/TokenRequest.ts +0 -2
  190. package/src/naa/TokenResponse.ts +1 -2
  191. package/src/naa/mapping/NestedAppAuthAdapter.ts +72 -80
  192. package/src/operatingcontext/TeamsAppOperatingContext.ts +4 -1
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v3.5.0 2023-11-07 */
1
+ /*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
2
2
  'use strict';
3
3
  import { DEFAULT_CRYPTO_IMPLEMENTATION } from '@azure/msal-common';
4
4
  import { BrowserCacheManager, DEFAULT_BROWSER_CACHE_MANAGER } from '../cache/BrowserCacheManager.mjs';
@@ -6,269 +6,269 @@ import { CryptoOps } from '../crypto/CryptoOps.mjs';
6
6
  import { blockAPICallsBeforeInitialize, blockNonBrowserEnvironment } from '../utils/BrowserUtils.mjs';
7
7
  import { EventHandler } from '../event/EventHandler.mjs';
8
8
 
9
- /*
10
- * Copyright (c) Microsoft Corporation. All rights reserved.
11
- * Licensed under the MIT License.
12
- */
13
- /**
14
- * UnknownOperatingContextController class
15
- *
16
- * - Until initialize method is called, this controller is the default
17
- * - AFter initialize method is called, this controller will be swapped out for the appropriate controller
18
- * if the operating context can be determined; otherwise this controller will continued be used
19
- *
20
- * - Why do we have this? We don't want to dynamically import (download) all of the code in StandardController if we don't need to.
21
- *
22
- * - Only includes implementation for getAccounts and handleRedirectPromise
23
- * - All other methods are will throw initialization error (because either initialize method or the factory method were not used)
24
- * - This controller is necessary for React Native wrapper, server side rendering and any other scenario where we don't have a DOM
25
- *
26
- */
27
- class UnknownOperatingContextController {
28
- constructor(operatingContext) {
29
- // Flag representing whether or not the initialize API has been called and completed
30
- this.initialized = false;
31
- this.operatingContext = operatingContext;
32
- this.isBrowserEnvironment =
33
- this.operatingContext.isBrowserEnvironment();
34
- this.config = operatingContext.getConfig();
35
- this.logger = operatingContext.getLogger();
36
- // Initialize performance client
37
- this.performanceClient = this.config.telemetry.client;
38
- // Initialize the crypto class.
39
- this.browserCrypto = this.isBrowserEnvironment
40
- ? new CryptoOps(this.logger, this.performanceClient)
41
- : DEFAULT_CRYPTO_IMPLEMENTATION;
42
- // Initialize the browser storage class.
43
- this.browserStorage = this.isBrowserEnvironment
44
- ? new BrowserCacheManager(this.config.auth.clientId, this.config.cache, this.browserCrypto, this.logger)
45
- : DEFAULT_BROWSER_CACHE_MANAGER(this.config.auth.clientId, this.logger);
46
- this.eventHandler = new EventHandler(this.logger, this.browserCrypto);
47
- }
48
- getBrowserStorage() {
49
- return this.browserStorage;
50
- }
51
- getEventHandler() {
52
- return this.eventHandler;
53
- }
54
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
55
- getAccount(accountFilter) {
56
- return null;
57
- }
58
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
- getAccountByHomeId(homeAccountId) {
60
- return null;
61
- }
62
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
63
- getAccountByLocalId(localAccountId) {
64
- return null;
65
- }
66
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
67
- getAccountByUsername(username) {
68
- return null;
69
- }
70
- getAllAccounts() {
71
- return [];
72
- }
73
- initialize() {
74
- this.initialized = true;
75
- return Promise.resolve();
76
- }
77
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
78
- acquireTokenPopup(request) {
79
- blockAPICallsBeforeInitialize(this.initialized);
80
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
81
- return {};
82
- }
83
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
84
- acquireTokenRedirect(request) {
85
- blockAPICallsBeforeInitialize(this.initialized);
86
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
87
- return Promise.resolve();
88
- }
89
- acquireTokenSilent(
90
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
91
- silentRequest) {
92
- blockAPICallsBeforeInitialize(this.initialized);
93
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
94
- return {};
95
- }
96
- acquireTokenByCode(
97
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
98
- request) {
99
- blockAPICallsBeforeInitialize(this.initialized);
100
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
101
- return {};
102
- }
103
- acquireTokenNative(
104
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
105
- request,
106
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
107
- apiId,
108
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
109
- accountId) {
110
- blockAPICallsBeforeInitialize(this.initialized);
111
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
112
- return {};
113
- }
114
- acquireTokenByRefreshToken(
115
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
116
- commonRequest,
117
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
118
- silentRequest) {
119
- blockAPICallsBeforeInitialize(this.initialized);
120
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
121
- return {};
122
- }
123
- addEventCallback(callback) {
124
- return this.eventHandler.addEventCallback(callback);
125
- }
126
- removeEventCallback(callbackId) {
127
- this.eventHandler.removeEventCallback(callbackId);
128
- }
129
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
130
- addPerformanceCallback(callback) {
131
- blockAPICallsBeforeInitialize(this.initialized);
132
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
133
- return "";
134
- }
135
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
136
- removePerformanceCallback(callbackId) {
137
- blockAPICallsBeforeInitialize(this.initialized);
138
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
139
- return true;
140
- }
141
- enableAccountStorageEvents() {
142
- blockAPICallsBeforeInitialize(this.initialized);
143
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
144
- }
145
- disableAccountStorageEvents() {
146
- blockAPICallsBeforeInitialize(this.initialized);
147
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
148
- }
149
- handleRedirectPromise(
150
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
151
- hash) {
152
- blockAPICallsBeforeInitialize(this.initialized);
153
- return Promise.resolve(null);
154
- }
155
- loginPopup(
156
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
157
- request) {
158
- blockAPICallsBeforeInitialize(this.initialized);
159
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
160
- return {};
161
- }
162
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
163
- loginRedirect(request) {
164
- blockAPICallsBeforeInitialize(this.initialized);
165
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
166
- return {};
167
- }
168
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
169
- logout(logoutRequest) {
170
- blockAPICallsBeforeInitialize(this.initialized);
171
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
172
- return {};
173
- }
174
- logoutRedirect(
175
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
176
- logoutRequest) {
177
- blockAPICallsBeforeInitialize(this.initialized);
178
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
179
- return {};
180
- }
181
- logoutPopup(
182
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
183
- logoutRequest) {
184
- blockAPICallsBeforeInitialize(this.initialized);
185
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
186
- return {};
187
- }
188
- ssoSilent(
189
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
190
- request) {
191
- blockAPICallsBeforeInitialize(this.initialized);
192
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
193
- return {};
194
- }
195
- getTokenCache() {
196
- blockAPICallsBeforeInitialize(this.initialized);
197
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
198
- return {};
199
- }
200
- getLogger() {
201
- return this.logger;
202
- }
203
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
204
- setLogger(logger) {
205
- blockAPICallsBeforeInitialize(this.initialized);
206
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
207
- }
208
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
209
- setActiveAccount(account) {
210
- blockAPICallsBeforeInitialize(this.initialized);
211
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
212
- }
213
- getActiveAccount() {
214
- blockAPICallsBeforeInitialize(this.initialized);
215
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
216
- return null;
217
- }
218
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
219
- initializeWrapperLibrary(sku, version) {
220
- this.browserStorage.setWrapperMetadata(sku, version);
221
- }
222
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
223
- setNavigationClient(navigationClient) {
224
- blockAPICallsBeforeInitialize(this.initialized);
225
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
226
- }
227
- getConfiguration() {
228
- return this.config;
229
- }
230
- isBrowserEnv() {
231
- blockAPICallsBeforeInitialize(this.initialized);
232
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
233
- return true;
234
- }
235
- getBrowserCrypto() {
236
- blockAPICallsBeforeInitialize(this.initialized);
237
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
238
- return {};
239
- }
240
- getPerformanceClient() {
241
- blockAPICallsBeforeInitialize(this.initialized);
242
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
243
- return {};
244
- }
245
- getRedirectResponse() {
246
- blockAPICallsBeforeInitialize(this.initialized);
247
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
248
- return {};
249
- }
250
- preflightBrowserEnvironmentCheck(
251
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
252
- interactionType,
253
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
254
- isAppEmbedded) {
255
- blockAPICallsBeforeInitialize(this.initialized);
256
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
257
- }
258
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
259
- async clearCache(logoutRequest) {
260
- blockAPICallsBeforeInitialize(this.initialized);
261
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
262
- }
263
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
264
- async hydrateCache(
265
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
266
- result,
267
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
268
- request) {
269
- blockAPICallsBeforeInitialize(this.initialized);
270
- blockNonBrowserEnvironment(this.isBrowserEnvironment);
271
- }
9
+ /*
10
+ * Copyright (c) Microsoft Corporation. All rights reserved.
11
+ * Licensed under the MIT License.
12
+ */
13
+ /**
14
+ * UnknownOperatingContextController class
15
+ *
16
+ * - Until initialize method is called, this controller is the default
17
+ * - AFter initialize method is called, this controller will be swapped out for the appropriate controller
18
+ * if the operating context can be determined; otherwise this controller will continued be used
19
+ *
20
+ * - Why do we have this? We don't want to dynamically import (download) all of the code in StandardController if we don't need to.
21
+ *
22
+ * - Only includes implementation for getAccounts and handleRedirectPromise
23
+ * - All other methods are will throw initialization error (because either initialize method or the factory method were not used)
24
+ * - This controller is necessary for React Native wrapper, server side rendering and any other scenario where we don't have a DOM
25
+ *
26
+ */
27
+ class UnknownOperatingContextController {
28
+ constructor(operatingContext) {
29
+ // Flag representing whether or not the initialize API has been called and completed
30
+ this.initialized = false;
31
+ this.operatingContext = operatingContext;
32
+ this.isBrowserEnvironment =
33
+ this.operatingContext.isBrowserEnvironment();
34
+ this.config = operatingContext.getConfig();
35
+ this.logger = operatingContext.getLogger();
36
+ // Initialize performance client
37
+ this.performanceClient = this.config.telemetry.client;
38
+ // Initialize the crypto class.
39
+ this.browserCrypto = this.isBrowserEnvironment
40
+ ? new CryptoOps(this.logger, this.performanceClient)
41
+ : DEFAULT_CRYPTO_IMPLEMENTATION;
42
+ // Initialize the browser storage class.
43
+ this.browserStorage = this.isBrowserEnvironment
44
+ ? new BrowserCacheManager(this.config.auth.clientId, this.config.cache, this.browserCrypto, this.logger)
45
+ : DEFAULT_BROWSER_CACHE_MANAGER(this.config.auth.clientId, this.logger);
46
+ this.eventHandler = new EventHandler(this.logger, this.browserCrypto);
47
+ }
48
+ getBrowserStorage() {
49
+ return this.browserStorage;
50
+ }
51
+ getEventHandler() {
52
+ return this.eventHandler;
53
+ }
54
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
55
+ getAccount(accountFilter) {
56
+ return null;
57
+ }
58
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
+ getAccountByHomeId(homeAccountId) {
60
+ return null;
61
+ }
62
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
63
+ getAccountByLocalId(localAccountId) {
64
+ return null;
65
+ }
66
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
67
+ getAccountByUsername(username) {
68
+ return null;
69
+ }
70
+ getAllAccounts() {
71
+ return [];
72
+ }
73
+ initialize() {
74
+ this.initialized = true;
75
+ return Promise.resolve();
76
+ }
77
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
78
+ acquireTokenPopup(request) {
79
+ blockAPICallsBeforeInitialize(this.initialized);
80
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
81
+ return {};
82
+ }
83
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
84
+ acquireTokenRedirect(request) {
85
+ blockAPICallsBeforeInitialize(this.initialized);
86
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
87
+ return Promise.resolve();
88
+ }
89
+ acquireTokenSilent(
90
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
91
+ silentRequest) {
92
+ blockAPICallsBeforeInitialize(this.initialized);
93
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
94
+ return {};
95
+ }
96
+ acquireTokenByCode(
97
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
98
+ request) {
99
+ blockAPICallsBeforeInitialize(this.initialized);
100
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
101
+ return {};
102
+ }
103
+ acquireTokenNative(
104
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
105
+ request,
106
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
107
+ apiId,
108
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
109
+ accountId) {
110
+ blockAPICallsBeforeInitialize(this.initialized);
111
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
112
+ return {};
113
+ }
114
+ acquireTokenByRefreshToken(
115
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
116
+ commonRequest,
117
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
118
+ silentRequest) {
119
+ blockAPICallsBeforeInitialize(this.initialized);
120
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
121
+ return {};
122
+ }
123
+ addEventCallback(callback) {
124
+ return this.eventHandler.addEventCallback(callback);
125
+ }
126
+ removeEventCallback(callbackId) {
127
+ this.eventHandler.removeEventCallback(callbackId);
128
+ }
129
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
130
+ addPerformanceCallback(callback) {
131
+ blockAPICallsBeforeInitialize(this.initialized);
132
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
133
+ return "";
134
+ }
135
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
136
+ removePerformanceCallback(callbackId) {
137
+ blockAPICallsBeforeInitialize(this.initialized);
138
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
139
+ return true;
140
+ }
141
+ enableAccountStorageEvents() {
142
+ blockAPICallsBeforeInitialize(this.initialized);
143
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
144
+ }
145
+ disableAccountStorageEvents() {
146
+ blockAPICallsBeforeInitialize(this.initialized);
147
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
148
+ }
149
+ handleRedirectPromise(
150
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
151
+ hash) {
152
+ blockAPICallsBeforeInitialize(this.initialized);
153
+ return Promise.resolve(null);
154
+ }
155
+ loginPopup(
156
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
157
+ request) {
158
+ blockAPICallsBeforeInitialize(this.initialized);
159
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
160
+ return {};
161
+ }
162
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
163
+ loginRedirect(request) {
164
+ blockAPICallsBeforeInitialize(this.initialized);
165
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
166
+ return {};
167
+ }
168
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
169
+ logout(logoutRequest) {
170
+ blockAPICallsBeforeInitialize(this.initialized);
171
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
172
+ return {};
173
+ }
174
+ logoutRedirect(
175
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
176
+ logoutRequest) {
177
+ blockAPICallsBeforeInitialize(this.initialized);
178
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
179
+ return {};
180
+ }
181
+ logoutPopup(
182
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
183
+ logoutRequest) {
184
+ blockAPICallsBeforeInitialize(this.initialized);
185
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
186
+ return {};
187
+ }
188
+ ssoSilent(
189
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
190
+ request) {
191
+ blockAPICallsBeforeInitialize(this.initialized);
192
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
193
+ return {};
194
+ }
195
+ getTokenCache() {
196
+ blockAPICallsBeforeInitialize(this.initialized);
197
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
198
+ return {};
199
+ }
200
+ getLogger() {
201
+ return this.logger;
202
+ }
203
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
204
+ setLogger(logger) {
205
+ blockAPICallsBeforeInitialize(this.initialized);
206
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
207
+ }
208
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
209
+ setActiveAccount(account) {
210
+ blockAPICallsBeforeInitialize(this.initialized);
211
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
212
+ }
213
+ getActiveAccount() {
214
+ blockAPICallsBeforeInitialize(this.initialized);
215
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
216
+ return null;
217
+ }
218
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
219
+ initializeWrapperLibrary(sku, version) {
220
+ this.browserStorage.setWrapperMetadata(sku, version);
221
+ }
222
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
223
+ setNavigationClient(navigationClient) {
224
+ blockAPICallsBeforeInitialize(this.initialized);
225
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
226
+ }
227
+ getConfiguration() {
228
+ return this.config;
229
+ }
230
+ isBrowserEnv() {
231
+ blockAPICallsBeforeInitialize(this.initialized);
232
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
233
+ return true;
234
+ }
235
+ getBrowserCrypto() {
236
+ blockAPICallsBeforeInitialize(this.initialized);
237
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
238
+ return {};
239
+ }
240
+ getPerformanceClient() {
241
+ blockAPICallsBeforeInitialize(this.initialized);
242
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
243
+ return {};
244
+ }
245
+ getRedirectResponse() {
246
+ blockAPICallsBeforeInitialize(this.initialized);
247
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
248
+ return {};
249
+ }
250
+ preflightBrowserEnvironmentCheck(
251
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
252
+ interactionType,
253
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
254
+ isAppEmbedded) {
255
+ blockAPICallsBeforeInitialize(this.initialized);
256
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
257
+ }
258
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
259
+ async clearCache(logoutRequest) {
260
+ blockAPICallsBeforeInitialize(this.initialized);
261
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
262
+ }
263
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
264
+ async hydrateCache(
265
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
266
+ result,
267
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
268
+ request) {
269
+ blockAPICallsBeforeInitialize(this.initialized);
270
+ blockNonBrowserEnvironment(this.isBrowserEnvironment);
271
+ }
272
272
  }
273
273
 
274
274
  export { UnknownOperatingContextController };
@@ -1,45 +1,45 @@
1
- import { IPerformanceClient, Logger } from "@azure/msal-common";
2
- /**
3
- * Check whether browser crypto is available.
4
- */
5
- export declare function validateCryptoAvailable(logger: Logger): void;
6
- /**
7
- * Returns a sha-256 hash of the given dataString as an ArrayBuffer.
8
- * @param dataString
9
- */
10
- export declare function sha256Digest(dataString: string, performanceClient?: IPerformanceClient, correlationId?: string): Promise<ArrayBuffer>;
11
- /**
12
- * Populates buffer with cryptographically random values.
13
- * @param dataBuffer
14
- */
15
- export declare function getRandomValues(dataBuffer: Uint8Array): Uint8Array;
16
- /**
17
- * Creates a new random GUID
18
- * @returns
19
- */
20
- export declare function createNewGuid(): string;
21
- /**
22
- * Generates a keypair based on current keygen algorithm config.
23
- * @param extractable
24
- * @param usages
25
- */
26
- export declare function generateKeyPair(extractable: boolean, usages: Array<KeyUsage>): Promise<CryptoKeyPair>;
27
- /**
28
- * Export key as Json Web Key (JWK)
29
- * @param key
30
- */
31
- export declare function exportJwk(key: CryptoKey): Promise<JsonWebKey>;
32
- /**
33
- * Imports key as Json Web Key (JWK), can set extractable and usages.
34
- * @param key
35
- * @param extractable
36
- * @param usages
37
- */
38
- export declare function importJwk(key: JsonWebKey, extractable: boolean, usages: Array<KeyUsage>): Promise<CryptoKey>;
39
- /**
40
- * Signs given data with given key
41
- * @param key
42
- * @param data
43
- */
44
- export declare function sign(key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>;
1
+ import { IPerformanceClient, Logger } from "@azure/msal-common";
2
+ /**
3
+ * Check whether browser crypto is available.
4
+ */
5
+ export declare function validateCryptoAvailable(logger: Logger): void;
6
+ /**
7
+ * Returns a sha-256 hash of the given dataString as an ArrayBuffer.
8
+ * @param dataString
9
+ */
10
+ export declare function sha256Digest(dataString: string, performanceClient?: IPerformanceClient, correlationId?: string): Promise<ArrayBuffer>;
11
+ /**
12
+ * Populates buffer with cryptographically random values.
13
+ * @param dataBuffer
14
+ */
15
+ export declare function getRandomValues(dataBuffer: Uint8Array): Uint8Array;
16
+ /**
17
+ * Creates a new random GUID
18
+ * @returns
19
+ */
20
+ export declare function createNewGuid(): string;
21
+ /**
22
+ * Generates a keypair based on current keygen algorithm config.
23
+ * @param extractable
24
+ * @param usages
25
+ */
26
+ export declare function generateKeyPair(extractable: boolean, usages: Array<KeyUsage>): Promise<CryptoKeyPair>;
27
+ /**
28
+ * Export key as Json Web Key (JWK)
29
+ * @param key
30
+ */
31
+ export declare function exportJwk(key: CryptoKey): Promise<JsonWebKey>;
32
+ /**
33
+ * Imports key as Json Web Key (JWK), can set extractable and usages.
34
+ * @param key
35
+ * @param extractable
36
+ * @param usages
37
+ */
38
+ export declare function importJwk(key: JsonWebKey, extractable: boolean, usages: Array<KeyUsage>): Promise<CryptoKey>;
39
+ /**
40
+ * Signs given data with given key
41
+ * @param key
42
+ * @param data
43
+ */
44
+ export declare function sign(key: CryptoKey, data: ArrayBuffer): Promise<ArrayBuffer>;
45
45
  //# sourceMappingURL=BrowserCrypto.d.ts.map