@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.
- package/dist/app/IPublicClientApplication.d.ts +53 -53
- package/dist/app/IPublicClientApplication.mjs +105 -105
- package/dist/app/PublicClientApplication.d.ts +293 -293
- package/dist/app/PublicClientApplication.mjs +364 -364
- package/dist/app/PublicClientNext.d.ts +276 -276
- package/dist/app/PublicClientNext.mjs +354 -354
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
- package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
- package/dist/broker/nativeBroker/NativeRequest.d.ts +45 -45
- package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
- package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
- package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
- package/dist/cache/AccountManager.d.ts +48 -48
- package/dist/cache/AccountManager.mjs +126 -126
- package/dist/cache/AsyncMemoryStorage.d.ts +50 -50
- package/dist/cache/AsyncMemoryStorage.mjs +131 -131
- package/dist/cache/BrowserCacheManager.d.ts +385 -385
- package/dist/cache/BrowserCacheManager.mjs +1294 -1294
- package/dist/cache/BrowserStorage.d.ts +11 -11
- package/dist/cache/BrowserStorage.mjs +32 -32
- package/dist/cache/DatabaseStorage.d.ts +56 -56
- package/dist/cache/DatabaseStorage.mjs +200 -200
- package/dist/cache/IAsyncStorage.d.ts +27 -27
- package/dist/cache/ITokenCache.d.ts +11 -11
- package/dist/cache/IWindowStorage.d.ts +27 -27
- package/dist/cache/MemoryStorage.d.ts +11 -11
- package/dist/cache/MemoryStorage.mjs +31 -31
- package/dist/cache/TokenCache.d.ts +77 -77
- package/dist/cache/TokenCache.mjs +195 -195
- package/dist/config/Configuration.d.ts +213 -208
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.mjs +128 -128
- package/dist/config/Configuration.mjs.map +1 -1
- package/dist/controllers/ControllerFactory.d.ts +5 -5
- package/dist/controllers/ControllerFactory.mjs +25 -25
- package/dist/controllers/IController.d.ts +60 -60
- package/dist/controllers/NestedAppAuthController.d.ts +202 -202
- package/dist/controllers/NestedAppAuthController.mjs +473 -473
- package/dist/controllers/StandardController.d.ts +405 -405
- package/dist/controllers/StandardController.d.ts.map +1 -1
- package/dist/controllers/StandardController.mjs +1334 -1316
- package/dist/controllers/StandardController.mjs.map +1 -1
- package/dist/controllers/UnknownOperatingContextController.d.ts +86 -86
- package/dist/controllers/UnknownOperatingContextController.mjs +256 -256
- package/dist/crypto/BrowserCrypto.d.ts +52 -52
- package/dist/crypto/BrowserCrypto.mjs +151 -151
- package/dist/crypto/CryptoOps.d.ts +74 -74
- package/dist/crypto/CryptoOps.mjs +176 -176
- package/dist/crypto/PkceGenerator.d.ts +8 -8
- package/dist/crypto/PkceGenerator.mjs +54 -54
- package/dist/crypto/SignedHttpRequest.d.ts +30 -30
- package/dist/crypto/SignedHttpRequest.mjs +39 -39
- package/dist/encode/Base64Decode.d.ts +9 -9
- package/dist/encode/Base64Decode.mjs +36 -36
- package/dist/encode/Base64Encode.d.ts +19 -19
- package/dist/encode/Base64Encode.mjs +43 -43
- package/dist/error/BrowserAuthError.d.ts +255 -255
- package/dist/error/BrowserAuthError.mjs +263 -263
- package/dist/error/BrowserAuthErrorCodes.d.ts +46 -46
- package/dist/error/BrowserAuthErrorCodes.mjs +50 -50
- package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
- package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
- package/dist/error/BrowserConfigurationAuthError.mjs.map +1 -1
- package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
- package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
- package/dist/error/NativeAuthError.d.ts +29 -29
- package/dist/error/NativeAuthError.mjs +60 -60
- package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
- package/dist/error/NativeAuthErrorCodes.mjs +6 -6
- package/dist/error/NestedAppAuthError.d.ts +14 -14
- package/dist/error/NestedAppAuthError.mjs +23 -23
- package/dist/event/EventHandler.d.ts +41 -41
- package/dist/event/EventHandler.mjs +125 -125
- package/dist/event/EventMessage.d.ts +25 -25
- package/dist/event/EventMessage.mjs +68 -68
- package/dist/event/EventType.d.ts +29 -29
- package/dist/event/EventType.mjs +32 -32
- package/dist/index.d.ts +40 -40
- package/dist/index.mjs +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +50 -50
- package/dist/interaction_client/BaseInteractionClient.mjs +106 -106
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
- package/dist/interaction_client/NativeInteractionClient.d.ts +151 -151
- package/dist/interaction_client/NativeInteractionClient.mjs +621 -621
- package/dist/interaction_client/PopupClient.d.ts +105 -105
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.mjs +433 -433
- package/dist/interaction_client/PopupClient.mjs.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts +50 -50
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.mjs +315 -314
- package/dist/interaction_client/RedirectClient.mjs.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
- package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
- package/dist/interaction_client/SilentCacheClient.d.ts +16 -16
- package/dist/interaction_client/SilentCacheClient.mjs +42 -42
- package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.mjs +110 -100
- package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
- package/dist/interaction_client/SilentRefreshClient.mjs +47 -47
- package/dist/interaction_client/StandardInteractionClient.d.ts +48 -48
- package/dist/interaction_client/StandardInteractionClient.mjs +199 -199
- package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
- package/dist/interaction_handler/InteractionHandler.mjs +93 -93
- package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
- package/dist/interaction_handler/RedirectHandler.mjs +134 -134
- package/dist/interaction_handler/SilentHandler.d.ts +13 -13
- package/dist/interaction_handler/SilentHandler.mjs +134 -134
- package/dist/naa/AccountInfo.d.ts +11 -11
- package/dist/naa/AuthBridge.d.ts +8 -8
- package/dist/naa/AuthResult.d.ts +6 -6
- package/dist/naa/BridgeAccountContext.d.ts +12 -12
- package/dist/naa/BridgeCapabilities.d.ts +3 -3
- package/dist/naa/BridgeError.d.ts +9 -9
- package/dist/naa/BridgeError.mjs +7 -7
- package/dist/naa/BridgeProxy.d.ts +67 -67
- package/dist/naa/BridgeProxy.mjs +148 -148
- package/dist/naa/BridgeRequest.d.ts +7 -7
- package/dist/naa/BridgeRequestEnvelope.d.ts +12 -12
- package/dist/naa/BridgeResponseEnvelope.d.ts +13 -13
- package/dist/naa/BridgeStatusCode.d.ts +11 -11
- package/dist/naa/BridgeStatusCode.mjs +14 -14
- package/dist/naa/IBridgeProxy.d.ts +10 -10
- package/dist/naa/InitContext.d.ts +8 -8
- package/dist/naa/TokenRequest.d.ts +18 -18
- package/dist/naa/TokenResponse.d.ts +13 -13
- package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +35 -35
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs +179 -179
- package/dist/navigation/INavigationClient.d.ts +16 -16
- package/dist/navigation/NavigationClient.d.ts +22 -22
- package/dist/navigation/NavigationClient.mjs +40 -40
- package/dist/navigation/NavigationOptions.d.ts +12 -12
- package/dist/network/FetchClient.d.ts +26 -26
- package/dist/network/FetchClient.mjs +99 -99
- package/dist/operatingcontext/BaseOperatingContext.d.ts +41 -41
- package/dist/operatingcontext/BaseOperatingContext.mjs +94 -94
- package/dist/operatingcontext/NestedAppOperatingContext.d.ts +34 -34
- package/dist/operatingcontext/NestedAppOperatingContext.mjs +71 -71
- package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
- package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
- package/dist/packageMetadata.d.ts +2 -2
- package/dist/packageMetadata.mjs +4 -4
- package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
- package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
- package/dist/request/ClearCacheRequest.d.ts +10 -10
- package/dist/request/EndSessionPopupRequest.d.ts +18 -18
- package/dist/request/EndSessionRequest.d.ts +15 -15
- package/dist/request/InitializeApplicationRequest.d.ts +8 -8
- package/dist/request/PopupRequest.d.ts +34 -34
- package/dist/request/PopupWindowAttributes.d.ts +15 -15
- package/dist/request/RedirectRequest.d.ts +40 -35
- package/dist/request/RedirectRequest.d.ts.map +1 -1
- package/dist/request/RequestHelpers.d.ts +13 -13
- package/dist/request/RequestHelpers.mjs +53 -53
- package/dist/request/SilentRequest.d.ts +33 -33
- package/dist/request/SsoSilentRequest.d.ts +29 -29
- package/dist/response/AuthenticationResult.d.ts +4 -4
- package/dist/response/ResponseHandler.d.ts +7 -7
- package/dist/response/ResponseHandler.mjs +36 -36
- package/dist/telemetry/BrowserPerformanceClient.d.ts +34 -34
- package/dist/telemetry/BrowserPerformanceClient.mjs +162 -162
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
- package/dist/utils/BrowserConstants.d.ts +180 -180
- package/dist/utils/BrowserConstants.mjs +212 -212
- package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
- package/dist/utils/BrowserProtocolUtils.mjs +21 -21
- package/dist/utils/BrowserUtils.d.ts +75 -75
- package/dist/utils/BrowserUtils.mjs +157 -157
- package/lib/msal-browser.cjs +18884 -18855
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +18884 -18855
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +59 -59
- package/package.json +2 -2
- package/src/config/Configuration.ts +9 -1
- package/src/controllers/StandardController.ts +30 -12
- package/src/interaction_client/PopupClient.ts +1 -0
- package/src/interaction_client/RedirectClient.ts +4 -1
- package/src/interaction_client/SilentIframeClient.ts +40 -3
- package/src/packageMetadata.ts +1 -1
- package/src/request/RedirectRequest.ts +5 -0
|
@@ -1,218 +1,218 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.
|
|
1
|
+
/*! @azure/msal-browser v3.22.0 2024-08-28 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { OIDC_DEFAULT_SCOPES } from '@azure/msal-common';
|
|
4
4
|
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
-
* Licensed under the MIT License.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Constants
|
|
11
|
-
*/
|
|
12
|
-
const BrowserConstants = {
|
|
13
|
-
/**
|
|
14
|
-
* Interaction in progress cache value
|
|
15
|
-
*/
|
|
16
|
-
INTERACTION_IN_PROGRESS_VALUE: "interaction_in_progress",
|
|
17
|
-
/**
|
|
18
|
-
* Invalid grant error code
|
|
19
|
-
*/
|
|
20
|
-
INVALID_GRANT_ERROR: "invalid_grant",
|
|
21
|
-
/**
|
|
22
|
-
* Default popup window width
|
|
23
|
-
*/
|
|
24
|
-
POPUP_WIDTH: 483,
|
|
25
|
-
/**
|
|
26
|
-
* Default popup window height
|
|
27
|
-
*/
|
|
28
|
-
POPUP_HEIGHT: 600,
|
|
29
|
-
/**
|
|
30
|
-
* Name of the popup window starts with
|
|
31
|
-
*/
|
|
32
|
-
POPUP_NAME_PREFIX: "msal",
|
|
33
|
-
/**
|
|
34
|
-
* Default popup monitor poll interval in milliseconds
|
|
35
|
-
*/
|
|
36
|
-
DEFAULT_POLL_INTERVAL_MS: 30,
|
|
37
|
-
/**
|
|
38
|
-
* Msal-browser SKU
|
|
39
|
-
*/
|
|
40
|
-
MSAL_SKU: "msal.js.browser",
|
|
41
|
-
};
|
|
42
|
-
const NativeConstants = {
|
|
43
|
-
CHANNEL_ID: "53ee284d-920a-4b59-9d30-a60315b26836",
|
|
44
|
-
PREFERRED_EXTENSION_ID: "ppnbnpeolgkicgegkbkbjmhlideopiji",
|
|
45
|
-
MATS_TELEMETRY: "MATS",
|
|
46
|
-
};
|
|
47
|
-
const NativeExtensionMethod = {
|
|
48
|
-
HandshakeRequest: "Handshake",
|
|
49
|
-
HandshakeResponse: "HandshakeResponse",
|
|
50
|
-
GetToken: "GetToken",
|
|
51
|
-
Response: "Response",
|
|
52
|
-
};
|
|
53
|
-
const BrowserCacheLocation = {
|
|
54
|
-
LocalStorage: "localStorage",
|
|
55
|
-
SessionStorage: "sessionStorage",
|
|
56
|
-
MemoryStorage: "memoryStorage",
|
|
57
|
-
};
|
|
58
|
-
/**
|
|
59
|
-
* HTTP Request types supported by MSAL.
|
|
60
|
-
*/
|
|
61
|
-
const HTTP_REQUEST_TYPE = {
|
|
62
|
-
GET: "GET",
|
|
63
|
-
POST: "POST",
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Temporary cache keys for MSAL, deleted after any request.
|
|
67
|
-
*/
|
|
68
|
-
const TemporaryCacheKeys = {
|
|
69
|
-
AUTHORITY: "authority",
|
|
70
|
-
ACQUIRE_TOKEN_ACCOUNT: "acquireToken.account",
|
|
71
|
-
SESSION_STATE: "session.state",
|
|
72
|
-
REQUEST_STATE: "request.state",
|
|
73
|
-
NONCE_IDTOKEN: "nonce.id_token",
|
|
74
|
-
ORIGIN_URI: "request.origin",
|
|
75
|
-
RENEW_STATUS: "token.renew.status",
|
|
76
|
-
URL_HASH: "urlHash",
|
|
77
|
-
REQUEST_PARAMS: "request.params",
|
|
78
|
-
SCOPES: "scopes",
|
|
79
|
-
INTERACTION_STATUS_KEY: "interaction.status",
|
|
80
|
-
CCS_CREDENTIAL: "ccs.credential",
|
|
81
|
-
CORRELATION_ID: "request.correlationId",
|
|
82
|
-
NATIVE_REQUEST: "request.native",
|
|
83
|
-
REDIRECT_CONTEXT: "request.redirect.context",
|
|
84
|
-
};
|
|
85
|
-
const StaticCacheKeys = {
|
|
86
|
-
ACCOUNT_KEYS: "msal.account.keys",
|
|
87
|
-
TOKEN_KEYS: "msal.token.keys",
|
|
88
|
-
};
|
|
89
|
-
/**
|
|
90
|
-
* Cache keys stored in-memory
|
|
91
|
-
*/
|
|
92
|
-
const InMemoryCacheKeys = {
|
|
93
|
-
WRAPPER_SKU: "wrapper.sku",
|
|
94
|
-
WRAPPER_VER: "wrapper.version",
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* API Codes for Telemetry purposes.
|
|
98
|
-
* Before adding a new code you must claim it in the MSAL Telemetry tracker as these number spaces are shared across all MSALs
|
|
99
|
-
* 0-99 Silent Flow
|
|
100
|
-
* 800-899 Auth Code Flow
|
|
101
|
-
*/
|
|
102
|
-
const ApiId = {
|
|
103
|
-
acquireTokenRedirect: 861,
|
|
104
|
-
acquireTokenPopup: 862,
|
|
105
|
-
ssoSilent: 863,
|
|
106
|
-
acquireTokenSilent_authCode: 864,
|
|
107
|
-
handleRedirectPromise: 865,
|
|
108
|
-
acquireTokenByCode: 866,
|
|
109
|
-
acquireTokenSilent_silentFlow: 61,
|
|
110
|
-
logout: 961,
|
|
111
|
-
logoutPopup: 962,
|
|
112
|
-
};
|
|
113
|
-
/*
|
|
114
|
-
* Interaction type of the API - used for state and telemetry
|
|
115
|
-
*/
|
|
116
|
-
var InteractionType;
|
|
117
|
-
(function (InteractionType) {
|
|
118
|
-
InteractionType["Redirect"] = "redirect";
|
|
119
|
-
InteractionType["Popup"] = "popup";
|
|
120
|
-
InteractionType["Silent"] = "silent";
|
|
121
|
-
InteractionType["None"] = "none";
|
|
122
|
-
})(InteractionType || (InteractionType = {}));
|
|
123
|
-
/**
|
|
124
|
-
* Types of interaction currently in progress.
|
|
125
|
-
* Used in events in wrapper libraries to invoke functions when certain interaction is in progress or all interactions are complete.
|
|
126
|
-
*/
|
|
127
|
-
const InteractionStatus = {
|
|
128
|
-
/**
|
|
129
|
-
* Initial status before interaction occurs
|
|
130
|
-
*/
|
|
131
|
-
Startup: "startup",
|
|
132
|
-
/**
|
|
133
|
-
* Status set when all login calls occuring
|
|
134
|
-
*/
|
|
135
|
-
Login: "login",
|
|
136
|
-
/**
|
|
137
|
-
* Status set when logout call occuring
|
|
138
|
-
*/
|
|
139
|
-
Logout: "logout",
|
|
140
|
-
/**
|
|
141
|
-
* Status set for acquireToken calls
|
|
142
|
-
*/
|
|
143
|
-
AcquireToken: "acquireToken",
|
|
144
|
-
/**
|
|
145
|
-
* Status set for ssoSilent calls
|
|
146
|
-
*/
|
|
147
|
-
SsoSilent: "ssoSilent",
|
|
148
|
-
/**
|
|
149
|
-
* Status set when handleRedirect in progress
|
|
150
|
-
*/
|
|
151
|
-
HandleRedirect: "handleRedirect",
|
|
152
|
-
/**
|
|
153
|
-
* Status set when interaction is complete
|
|
154
|
-
*/
|
|
155
|
-
None: "none",
|
|
156
|
-
};
|
|
157
|
-
const DEFAULT_REQUEST = {
|
|
158
|
-
scopes: OIDC_DEFAULT_SCOPES,
|
|
159
|
-
};
|
|
160
|
-
/**
|
|
161
|
-
* JWK Key Format string (Type MUST be defined for window crypto APIs)
|
|
162
|
-
*/
|
|
163
|
-
const KEY_FORMAT_JWK = "jwk";
|
|
164
|
-
// Supported wrapper SKUs
|
|
165
|
-
const WrapperSKU = {
|
|
166
|
-
React: "@azure/msal-react",
|
|
167
|
-
Angular: "@azure/msal-angular",
|
|
168
|
-
};
|
|
169
|
-
// DatabaseStorage Constants
|
|
170
|
-
const DB_NAME = "msal.db";
|
|
171
|
-
const DB_VERSION = 1;
|
|
172
|
-
const DB_TABLE_NAME = `${DB_NAME}.keys`;
|
|
173
|
-
const CacheLookupPolicy = {
|
|
174
|
-
/*
|
|
175
|
-
* acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired
|
|
176
|
-
* or cannot be found the refresh token will be used to acquire a new one. Finally, if the refresh token
|
|
177
|
-
* is expired acquireTokenSilent will attempt to acquire new access and refresh tokens.
|
|
178
|
-
*/
|
|
179
|
-
Default: 0,
|
|
180
|
-
/*
|
|
181
|
-
* acquireTokenSilent will only look for access tokens in the cache. It will not attempt to renew access or
|
|
182
|
-
* refresh tokens.
|
|
183
|
-
*/
|
|
184
|
-
AccessToken: 1,
|
|
185
|
-
/*
|
|
186
|
-
* acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired or
|
|
187
|
-
* cannot be found, the refresh token will be used to acquire a new one. If the refresh token is expired, it
|
|
188
|
-
* will not be renewed and acquireTokenSilent will fail.
|
|
189
|
-
*/
|
|
190
|
-
AccessTokenAndRefreshToken: 2,
|
|
191
|
-
/*
|
|
192
|
-
* acquireTokenSilent will not attempt to retrieve access tokens from the cache and will instead attempt to
|
|
193
|
-
* exchange the cached refresh token for a new access token. If the refresh token is expired, it will not be
|
|
194
|
-
* renewed and acquireTokenSilent will fail.
|
|
195
|
-
*/
|
|
196
|
-
RefreshToken: 3,
|
|
197
|
-
/*
|
|
198
|
-
* acquireTokenSilent will not look in the cache for the access token. It will go directly to network with the
|
|
199
|
-
* cached refresh token. If the refresh token is expired an attempt will be made to renew it. This is equivalent to
|
|
200
|
-
* setting "forceRefresh: true".
|
|
201
|
-
*/
|
|
202
|
-
RefreshTokenAndNetwork: 4,
|
|
203
|
-
/*
|
|
204
|
-
* acquireTokenSilent will attempt to renew both access and refresh tokens. It will not look in the cache. This will
|
|
205
|
-
* always fail if 3rd party cookies are blocked by the browser.
|
|
206
|
-
*/
|
|
207
|
-
Skip: 5,
|
|
208
|
-
};
|
|
209
|
-
const iFrameRenewalPolicies = [
|
|
210
|
-
CacheLookupPolicy.Default,
|
|
211
|
-
CacheLookupPolicy.Skip,
|
|
212
|
-
CacheLookupPolicy.RefreshTokenAndNetwork,
|
|
213
|
-
];
|
|
214
|
-
const LOG_LEVEL_CACHE_KEY = "msal.browser.log.level";
|
|
215
|
-
const LOG_PII_CACHE_KEY = "msal.browser.log.pii";
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
+
* Licensed under the MIT License.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Constants
|
|
11
|
+
*/
|
|
12
|
+
const BrowserConstants = {
|
|
13
|
+
/**
|
|
14
|
+
* Interaction in progress cache value
|
|
15
|
+
*/
|
|
16
|
+
INTERACTION_IN_PROGRESS_VALUE: "interaction_in_progress",
|
|
17
|
+
/**
|
|
18
|
+
* Invalid grant error code
|
|
19
|
+
*/
|
|
20
|
+
INVALID_GRANT_ERROR: "invalid_grant",
|
|
21
|
+
/**
|
|
22
|
+
* Default popup window width
|
|
23
|
+
*/
|
|
24
|
+
POPUP_WIDTH: 483,
|
|
25
|
+
/**
|
|
26
|
+
* Default popup window height
|
|
27
|
+
*/
|
|
28
|
+
POPUP_HEIGHT: 600,
|
|
29
|
+
/**
|
|
30
|
+
* Name of the popup window starts with
|
|
31
|
+
*/
|
|
32
|
+
POPUP_NAME_PREFIX: "msal",
|
|
33
|
+
/**
|
|
34
|
+
* Default popup monitor poll interval in milliseconds
|
|
35
|
+
*/
|
|
36
|
+
DEFAULT_POLL_INTERVAL_MS: 30,
|
|
37
|
+
/**
|
|
38
|
+
* Msal-browser SKU
|
|
39
|
+
*/
|
|
40
|
+
MSAL_SKU: "msal.js.browser",
|
|
41
|
+
};
|
|
42
|
+
const NativeConstants = {
|
|
43
|
+
CHANNEL_ID: "53ee284d-920a-4b59-9d30-a60315b26836",
|
|
44
|
+
PREFERRED_EXTENSION_ID: "ppnbnpeolgkicgegkbkbjmhlideopiji",
|
|
45
|
+
MATS_TELEMETRY: "MATS",
|
|
46
|
+
};
|
|
47
|
+
const NativeExtensionMethod = {
|
|
48
|
+
HandshakeRequest: "Handshake",
|
|
49
|
+
HandshakeResponse: "HandshakeResponse",
|
|
50
|
+
GetToken: "GetToken",
|
|
51
|
+
Response: "Response",
|
|
52
|
+
};
|
|
53
|
+
const BrowserCacheLocation = {
|
|
54
|
+
LocalStorage: "localStorage",
|
|
55
|
+
SessionStorage: "sessionStorage",
|
|
56
|
+
MemoryStorage: "memoryStorage",
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* HTTP Request types supported by MSAL.
|
|
60
|
+
*/
|
|
61
|
+
const HTTP_REQUEST_TYPE = {
|
|
62
|
+
GET: "GET",
|
|
63
|
+
POST: "POST",
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Temporary cache keys for MSAL, deleted after any request.
|
|
67
|
+
*/
|
|
68
|
+
const TemporaryCacheKeys = {
|
|
69
|
+
AUTHORITY: "authority",
|
|
70
|
+
ACQUIRE_TOKEN_ACCOUNT: "acquireToken.account",
|
|
71
|
+
SESSION_STATE: "session.state",
|
|
72
|
+
REQUEST_STATE: "request.state",
|
|
73
|
+
NONCE_IDTOKEN: "nonce.id_token",
|
|
74
|
+
ORIGIN_URI: "request.origin",
|
|
75
|
+
RENEW_STATUS: "token.renew.status",
|
|
76
|
+
URL_HASH: "urlHash",
|
|
77
|
+
REQUEST_PARAMS: "request.params",
|
|
78
|
+
SCOPES: "scopes",
|
|
79
|
+
INTERACTION_STATUS_KEY: "interaction.status",
|
|
80
|
+
CCS_CREDENTIAL: "ccs.credential",
|
|
81
|
+
CORRELATION_ID: "request.correlationId",
|
|
82
|
+
NATIVE_REQUEST: "request.native",
|
|
83
|
+
REDIRECT_CONTEXT: "request.redirect.context",
|
|
84
|
+
};
|
|
85
|
+
const StaticCacheKeys = {
|
|
86
|
+
ACCOUNT_KEYS: "msal.account.keys",
|
|
87
|
+
TOKEN_KEYS: "msal.token.keys",
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Cache keys stored in-memory
|
|
91
|
+
*/
|
|
92
|
+
const InMemoryCacheKeys = {
|
|
93
|
+
WRAPPER_SKU: "wrapper.sku",
|
|
94
|
+
WRAPPER_VER: "wrapper.version",
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* API Codes for Telemetry purposes.
|
|
98
|
+
* Before adding a new code you must claim it in the MSAL Telemetry tracker as these number spaces are shared across all MSALs
|
|
99
|
+
* 0-99 Silent Flow
|
|
100
|
+
* 800-899 Auth Code Flow
|
|
101
|
+
*/
|
|
102
|
+
const ApiId = {
|
|
103
|
+
acquireTokenRedirect: 861,
|
|
104
|
+
acquireTokenPopup: 862,
|
|
105
|
+
ssoSilent: 863,
|
|
106
|
+
acquireTokenSilent_authCode: 864,
|
|
107
|
+
handleRedirectPromise: 865,
|
|
108
|
+
acquireTokenByCode: 866,
|
|
109
|
+
acquireTokenSilent_silentFlow: 61,
|
|
110
|
+
logout: 961,
|
|
111
|
+
logoutPopup: 962,
|
|
112
|
+
};
|
|
113
|
+
/*
|
|
114
|
+
* Interaction type of the API - used for state and telemetry
|
|
115
|
+
*/
|
|
116
|
+
var InteractionType;
|
|
117
|
+
(function (InteractionType) {
|
|
118
|
+
InteractionType["Redirect"] = "redirect";
|
|
119
|
+
InteractionType["Popup"] = "popup";
|
|
120
|
+
InteractionType["Silent"] = "silent";
|
|
121
|
+
InteractionType["None"] = "none";
|
|
122
|
+
})(InteractionType || (InteractionType = {}));
|
|
123
|
+
/**
|
|
124
|
+
* Types of interaction currently in progress.
|
|
125
|
+
* Used in events in wrapper libraries to invoke functions when certain interaction is in progress or all interactions are complete.
|
|
126
|
+
*/
|
|
127
|
+
const InteractionStatus = {
|
|
128
|
+
/**
|
|
129
|
+
* Initial status before interaction occurs
|
|
130
|
+
*/
|
|
131
|
+
Startup: "startup",
|
|
132
|
+
/**
|
|
133
|
+
* Status set when all login calls occuring
|
|
134
|
+
*/
|
|
135
|
+
Login: "login",
|
|
136
|
+
/**
|
|
137
|
+
* Status set when logout call occuring
|
|
138
|
+
*/
|
|
139
|
+
Logout: "logout",
|
|
140
|
+
/**
|
|
141
|
+
* Status set for acquireToken calls
|
|
142
|
+
*/
|
|
143
|
+
AcquireToken: "acquireToken",
|
|
144
|
+
/**
|
|
145
|
+
* Status set for ssoSilent calls
|
|
146
|
+
*/
|
|
147
|
+
SsoSilent: "ssoSilent",
|
|
148
|
+
/**
|
|
149
|
+
* Status set when handleRedirect in progress
|
|
150
|
+
*/
|
|
151
|
+
HandleRedirect: "handleRedirect",
|
|
152
|
+
/**
|
|
153
|
+
* Status set when interaction is complete
|
|
154
|
+
*/
|
|
155
|
+
None: "none",
|
|
156
|
+
};
|
|
157
|
+
const DEFAULT_REQUEST = {
|
|
158
|
+
scopes: OIDC_DEFAULT_SCOPES,
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* JWK Key Format string (Type MUST be defined for window crypto APIs)
|
|
162
|
+
*/
|
|
163
|
+
const KEY_FORMAT_JWK = "jwk";
|
|
164
|
+
// Supported wrapper SKUs
|
|
165
|
+
const WrapperSKU = {
|
|
166
|
+
React: "@azure/msal-react",
|
|
167
|
+
Angular: "@azure/msal-angular",
|
|
168
|
+
};
|
|
169
|
+
// DatabaseStorage Constants
|
|
170
|
+
const DB_NAME = "msal.db";
|
|
171
|
+
const DB_VERSION = 1;
|
|
172
|
+
const DB_TABLE_NAME = `${DB_NAME}.keys`;
|
|
173
|
+
const CacheLookupPolicy = {
|
|
174
|
+
/*
|
|
175
|
+
* acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired
|
|
176
|
+
* or cannot be found the refresh token will be used to acquire a new one. Finally, if the refresh token
|
|
177
|
+
* is expired acquireTokenSilent will attempt to acquire new access and refresh tokens.
|
|
178
|
+
*/
|
|
179
|
+
Default: 0,
|
|
180
|
+
/*
|
|
181
|
+
* acquireTokenSilent will only look for access tokens in the cache. It will not attempt to renew access or
|
|
182
|
+
* refresh tokens.
|
|
183
|
+
*/
|
|
184
|
+
AccessToken: 1,
|
|
185
|
+
/*
|
|
186
|
+
* acquireTokenSilent will attempt to retrieve an access token from the cache. If the access token is expired or
|
|
187
|
+
* cannot be found, the refresh token will be used to acquire a new one. If the refresh token is expired, it
|
|
188
|
+
* will not be renewed and acquireTokenSilent will fail.
|
|
189
|
+
*/
|
|
190
|
+
AccessTokenAndRefreshToken: 2,
|
|
191
|
+
/*
|
|
192
|
+
* acquireTokenSilent will not attempt to retrieve access tokens from the cache and will instead attempt to
|
|
193
|
+
* exchange the cached refresh token for a new access token. If the refresh token is expired, it will not be
|
|
194
|
+
* renewed and acquireTokenSilent will fail.
|
|
195
|
+
*/
|
|
196
|
+
RefreshToken: 3,
|
|
197
|
+
/*
|
|
198
|
+
* acquireTokenSilent will not look in the cache for the access token. It will go directly to network with the
|
|
199
|
+
* cached refresh token. If the refresh token is expired an attempt will be made to renew it. This is equivalent to
|
|
200
|
+
* setting "forceRefresh: true".
|
|
201
|
+
*/
|
|
202
|
+
RefreshTokenAndNetwork: 4,
|
|
203
|
+
/*
|
|
204
|
+
* acquireTokenSilent will attempt to renew both access and refresh tokens. It will not look in the cache. This will
|
|
205
|
+
* always fail if 3rd party cookies are blocked by the browser.
|
|
206
|
+
*/
|
|
207
|
+
Skip: 5,
|
|
208
|
+
};
|
|
209
|
+
const iFrameRenewalPolicies = [
|
|
210
|
+
CacheLookupPolicy.Default,
|
|
211
|
+
CacheLookupPolicy.Skip,
|
|
212
|
+
CacheLookupPolicy.RefreshTokenAndNetwork,
|
|
213
|
+
];
|
|
214
|
+
const LOG_LEVEL_CACHE_KEY = "msal.browser.log.level";
|
|
215
|
+
const LOG_PII_CACHE_KEY = "msal.browser.log.pii";
|
|
216
216
|
const BROWSER_PERF_ENABLED_KEY = "msal.browser.performance.enabled";
|
|
217
217
|
|
|
218
218
|
export { ApiId, BROWSER_PERF_ENABLED_KEY, BrowserCacheLocation, BrowserConstants, CacheLookupPolicy, DB_NAME, DB_TABLE_NAME, DB_VERSION, DEFAULT_REQUEST, HTTP_REQUEST_TYPE, InMemoryCacheKeys, InteractionStatus, InteractionType, KEY_FORMAT_JWK, LOG_LEVEL_CACHE_KEY, LOG_PII_CACHE_KEY, NativeConstants, NativeExtensionMethod, StaticCacheKeys, TemporaryCacheKeys, WrapperSKU, iFrameRenewalPolicies };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { InteractionType } from "./BrowserConstants";
|
|
2
|
-
import { ICrypto } from "@azure/msal-common";
|
|
3
|
-
export type BrowserStateObject = {
|
|
4
|
-
interactionType: InteractionType;
|
|
5
|
-
};
|
|
6
|
-
/**
|
|
7
|
-
* Extracts the BrowserStateObject from the state string.
|
|
8
|
-
* @param browserCrypto
|
|
9
|
-
* @param state
|
|
10
|
-
*/
|
|
11
|
-
export declare function extractBrowserRequestState(browserCrypto: ICrypto, state: string): BrowserStateObject | null;
|
|
1
|
+
import { InteractionType } from "./BrowserConstants";
|
|
2
|
+
import { ICrypto } from "@azure/msal-common";
|
|
3
|
+
export type BrowserStateObject = {
|
|
4
|
+
interactionType: InteractionType;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Extracts the BrowserStateObject from the state string.
|
|
8
|
+
* @param browserCrypto
|
|
9
|
+
* @param state
|
|
10
|
+
*/
|
|
11
|
+
export declare function extractBrowserRequestState(browserCrypto: ICrypto, state: string): BrowserStateObject | null;
|
|
12
12
|
//# sourceMappingURL=BrowserProtocolUtils.d.ts.map
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.
|
|
1
|
+
/*! @azure/msal-browser v3.22.0 2024-08-28 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { ProtocolUtils, createClientAuthError, ClientAuthErrorCodes } from '@azure/msal-common';
|
|
4
4
|
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
-
* Licensed under the MIT License.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Extracts the BrowserStateObject from the state string.
|
|
11
|
-
* @param browserCrypto
|
|
12
|
-
* @param state
|
|
13
|
-
*/
|
|
14
|
-
function extractBrowserRequestState(browserCrypto, state) {
|
|
15
|
-
if (!state) {
|
|
16
|
-
return null;
|
|
17
|
-
}
|
|
18
|
-
try {
|
|
19
|
-
const requestStateObj = ProtocolUtils.parseRequestState(browserCrypto, state);
|
|
20
|
-
return requestStateObj.libraryState.meta;
|
|
21
|
-
}
|
|
22
|
-
catch (e) {
|
|
23
|
-
throw createClientAuthError(ClientAuthErrorCodes.invalidState);
|
|
24
|
-
}
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
+
* Licensed under the MIT License.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Extracts the BrowserStateObject from the state string.
|
|
11
|
+
* @param browserCrypto
|
|
12
|
+
* @param state
|
|
13
|
+
*/
|
|
14
|
+
function extractBrowserRequestState(browserCrypto, state) {
|
|
15
|
+
if (!state) {
|
|
16
|
+
return null;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const requestStateObj = ProtocolUtils.parseRequestState(browserCrypto, state);
|
|
20
|
+
return requestStateObj.libraryState.meta;
|
|
21
|
+
}
|
|
22
|
+
catch (e) {
|
|
23
|
+
throw createClientAuthError(ClientAuthErrorCodes.invalidState);
|
|
24
|
+
}
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
export { extractBrowserRequestState };
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { invoke, invokeAsync } from "@azure/msal-common";
|
|
2
|
-
import { BrowserConfiguration } from "../config/Configuration";
|
|
3
|
-
/**
|
|
4
|
-
* Clears hash from window url.
|
|
5
|
-
*/
|
|
6
|
-
export declare function clearHash(contentWindow: Window): void;
|
|
7
|
-
/**
|
|
8
|
-
* Replaces current hash with hash from provided url
|
|
9
|
-
*/
|
|
10
|
-
export declare function replaceHash(url: string): void;
|
|
11
|
-
/**
|
|
12
|
-
* Returns boolean of whether the current window is in an iframe or not.
|
|
13
|
-
*/
|
|
14
|
-
export declare function isInIframe(): boolean;
|
|
15
|
-
/**
|
|
16
|
-
* Returns boolean of whether or not the current window is a popup opened by msal
|
|
17
|
-
*/
|
|
18
|
-
export declare function isInPopup(): boolean;
|
|
19
|
-
/**
|
|
20
|
-
* Returns current window URL as redirect uri
|
|
21
|
-
*/
|
|
22
|
-
export declare function getCurrentUri(): string;
|
|
23
|
-
/**
|
|
24
|
-
* Gets the homepage url for the current window location.
|
|
25
|
-
*/
|
|
26
|
-
export declare function getHomepage(): string;
|
|
27
|
-
/**
|
|
28
|
-
* Throws error if we have completed an auth and are
|
|
29
|
-
* attempting another auth request inside an iframe.
|
|
30
|
-
*/
|
|
31
|
-
export declare function blockReloadInHiddenIframes(): void;
|
|
32
|
-
/**
|
|
33
|
-
* Block redirect operations in iframes unless explicitly allowed
|
|
34
|
-
* @param interactionType Interaction type for the request
|
|
35
|
-
* @param allowRedirectInIframe Config value to allow redirects when app is inside an iframe
|
|
36
|
-
*/
|
|
37
|
-
export declare function blockRedirectInIframe(allowRedirectInIframe: boolean): void;
|
|
38
|
-
/**
|
|
39
|
-
* Block redirectUri loaded in popup from calling AcquireToken APIs
|
|
40
|
-
*/
|
|
41
|
-
export declare function blockAcquireTokenInPopups(): void;
|
|
42
|
-
/**
|
|
43
|
-
* Throws error if token requests are made in non-browser environment
|
|
44
|
-
* @param isBrowserEnvironment Flag indicating if environment is a browser.
|
|
45
|
-
*/
|
|
46
|
-
export declare function blockNonBrowserEnvironment(): void;
|
|
47
|
-
/**
|
|
48
|
-
* Throws error if initialize hasn't been called
|
|
49
|
-
* @param initialized
|
|
50
|
-
*/
|
|
51
|
-
export declare function blockAPICallsBeforeInitialize(initialized: boolean): void;
|
|
52
|
-
/**
|
|
53
|
-
* Helper to validate app environment before making an auth request
|
|
54
|
-
* @param initialized
|
|
55
|
-
*/
|
|
56
|
-
export declare function preflightCheck(initialized: boolean): void;
|
|
57
|
-
/**
|
|
58
|
-
* Helper to validate app enviornment before making redirect request
|
|
59
|
-
* @param initialized
|
|
60
|
-
* @param config
|
|
61
|
-
*/
|
|
62
|
-
export declare function redirectPreflightCheck(initialized: boolean, config: BrowserConfiguration): void;
|
|
63
|
-
/**
|
|
64
|
-
* Adds a preconnect link element to the header which begins DNS resolution and SSL connection in anticipation of the /token request
|
|
65
|
-
* @param loginDomain Authority domain, including https protocol e.g. https://login.microsoftonline.com
|
|
66
|
-
* @returns
|
|
67
|
-
*/
|
|
68
|
-
export declare function preconnect(authority: string): void;
|
|
69
|
-
/**
|
|
70
|
-
* Wrapper function that creates a UUID v7 from the current timestamp.
|
|
71
|
-
* @returns {string}
|
|
72
|
-
*/
|
|
73
|
-
export declare function createGuid(): string;
|
|
74
|
-
export { invoke };
|
|
75
|
-
export { invokeAsync };
|
|
1
|
+
import { invoke, invokeAsync } from "@azure/msal-common";
|
|
2
|
+
import { BrowserConfiguration } from "../config/Configuration";
|
|
3
|
+
/**
|
|
4
|
+
* Clears hash from window url.
|
|
5
|
+
*/
|
|
6
|
+
export declare function clearHash(contentWindow: Window): void;
|
|
7
|
+
/**
|
|
8
|
+
* Replaces current hash with hash from provided url
|
|
9
|
+
*/
|
|
10
|
+
export declare function replaceHash(url: string): void;
|
|
11
|
+
/**
|
|
12
|
+
* Returns boolean of whether the current window is in an iframe or not.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isInIframe(): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Returns boolean of whether or not the current window is a popup opened by msal
|
|
17
|
+
*/
|
|
18
|
+
export declare function isInPopup(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Returns current window URL as redirect uri
|
|
21
|
+
*/
|
|
22
|
+
export declare function getCurrentUri(): string;
|
|
23
|
+
/**
|
|
24
|
+
* Gets the homepage url for the current window location.
|
|
25
|
+
*/
|
|
26
|
+
export declare function getHomepage(): string;
|
|
27
|
+
/**
|
|
28
|
+
* Throws error if we have completed an auth and are
|
|
29
|
+
* attempting another auth request inside an iframe.
|
|
30
|
+
*/
|
|
31
|
+
export declare function blockReloadInHiddenIframes(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Block redirect operations in iframes unless explicitly allowed
|
|
34
|
+
* @param interactionType Interaction type for the request
|
|
35
|
+
* @param allowRedirectInIframe Config value to allow redirects when app is inside an iframe
|
|
36
|
+
*/
|
|
37
|
+
export declare function blockRedirectInIframe(allowRedirectInIframe: boolean): void;
|
|
38
|
+
/**
|
|
39
|
+
* Block redirectUri loaded in popup from calling AcquireToken APIs
|
|
40
|
+
*/
|
|
41
|
+
export declare function blockAcquireTokenInPopups(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Throws error if token requests are made in non-browser environment
|
|
44
|
+
* @param isBrowserEnvironment Flag indicating if environment is a browser.
|
|
45
|
+
*/
|
|
46
|
+
export declare function blockNonBrowserEnvironment(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Throws error if initialize hasn't been called
|
|
49
|
+
* @param initialized
|
|
50
|
+
*/
|
|
51
|
+
export declare function blockAPICallsBeforeInitialize(initialized: boolean): void;
|
|
52
|
+
/**
|
|
53
|
+
* Helper to validate app environment before making an auth request
|
|
54
|
+
* @param initialized
|
|
55
|
+
*/
|
|
56
|
+
export declare function preflightCheck(initialized: boolean): void;
|
|
57
|
+
/**
|
|
58
|
+
* Helper to validate app enviornment before making redirect request
|
|
59
|
+
* @param initialized
|
|
60
|
+
* @param config
|
|
61
|
+
*/
|
|
62
|
+
export declare function redirectPreflightCheck(initialized: boolean, config: BrowserConfiguration): void;
|
|
63
|
+
/**
|
|
64
|
+
* Adds a preconnect link element to the header which begins DNS resolution and SSL connection in anticipation of the /token request
|
|
65
|
+
* @param loginDomain Authority domain, including https protocol e.g. https://login.microsoftonline.com
|
|
66
|
+
* @returns
|
|
67
|
+
*/
|
|
68
|
+
export declare function preconnect(authority: string): void;
|
|
69
|
+
/**
|
|
70
|
+
* Wrapper function that creates a UUID v7 from the current timestamp.
|
|
71
|
+
* @returns {string}
|
|
72
|
+
*/
|
|
73
|
+
export declare function createGuid(): string;
|
|
74
|
+
export { invoke };
|
|
75
|
+
export { invokeAsync };
|
|
76
76
|
//# sourceMappingURL=BrowserUtils.d.ts.map
|