@azure/msal-browser 3.0.0-alpha.1 → 3.0.0-alpha.2
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/LICENSE +21 -21
- package/README.md +213 -213
- package/dist/app/IPublicClientApplication.d.ts +45 -45
- package/dist/app/IPublicClientApplication.js +96 -96
- package/dist/app/PublicClientApplication.d.ts +244 -244
- package/dist/app/PublicClientApplication.js +307 -307
- package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +63 -63
- package/dist/broker/nativeBroker/NativeMessageHandler.js +255 -255
- package/dist/broker/nativeBroker/NativeRequest.d.ts +43 -43
- package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
- package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
- package/dist/cache/AsyncMemoryStorage.js +132 -132
- package/dist/cache/BrowserCacheManager.d.ts +377 -377
- package/dist/cache/BrowserCacheManager.js +1276 -1276
- package/dist/cache/BrowserStorage.d.ts +11 -11
- package/dist/cache/BrowserStorage.js +35 -35
- package/dist/cache/CryptoKeyStore.d.ts +17 -17
- package/dist/cache/CryptoKeyStore.js +41 -41
- package/dist/cache/DatabaseStorage.d.ts +56 -56
- package/dist/cache/DatabaseStorage.js +190 -190
- package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
- package/dist/cache/ITokenCache.d.ts +10 -10
- package/dist/cache/IWindowStorage.d.ts +27 -27
- package/dist/cache/MemoryStorage.d.ts +11 -11
- package/dist/cache/MemoryStorage.js +31 -31
- package/dist/cache/TokenCache.d.ts +76 -76
- package/dist/cache/TokenCache.js +225 -225
- package/dist/config/Configuration.d.ts +203 -203
- package/dist/config/Configuration.js +101 -101
- package/dist/controllers/ControllerFactory.d.ts +9 -9
- package/dist/controllers/ControllerFactory.js +37 -37
- package/dist/controllers/IController.d.ts +66 -66
- package/dist/controllers/StandardController.d.ts +413 -413
- package/dist/controllers/StandardController.js +1272 -1272
- package/dist/crypto/BrowserCrypto.d.ts +61 -61
- package/dist/crypto/BrowserCrypto.js +131 -131
- package/dist/crypto/CryptoOps.d.ts +73 -73
- package/dist/crypto/CryptoOps.js +150 -150
- package/dist/crypto/GuidGenerator.d.ts +12 -12
- package/dist/crypto/GuidGenerator.js +96 -96
- package/dist/crypto/ISubtleCrypto.d.ts +9 -9
- package/dist/crypto/ModernBrowserCrypto.d.ts +9 -9
- package/dist/crypto/ModernBrowserCrypto.js +24 -24
- package/dist/crypto/MsBrowserCrypto.d.ts +9 -9
- package/dist/crypto/MsBrowserCrypto.js +79 -79
- package/dist/crypto/MsrBrowserCrypto.d.ts +17 -17
- package/dist/crypto/MsrBrowserCrypto.js +28 -28
- package/dist/crypto/PkceGenerator.d.ts +24 -24
- package/dist/crypto/PkceGenerator.js +58 -58
- package/dist/crypto/SignedHttpRequest.d.ts +30 -30
- package/dist/crypto/SignedHttpRequest.js +39 -39
- package/dist/encode/Base64Decode.d.ts +22 -22
- package/dist/encode/Base64Decode.js +73 -73
- package/dist/encode/Base64Encode.d.ts +31 -31
- package/dist/encode/Base64Encode.js +79 -79
- package/dist/error/BrowserAuthError.d.ts +382 -382
- package/dist/error/BrowserAuthError.js +483 -483
- package/dist/error/BrowserConfigurationAuthError.d.ts +70 -70
- package/dist/error/BrowserConfigurationAuthError.js +96 -96
- package/dist/error/NativeAuthError.d.ts +56 -56
- package/dist/error/NativeAuthError.js +88 -88
- package/dist/event/EventHandler.d.ts +41 -41
- package/dist/event/EventHandler.js +119 -119
- package/dist/event/EventMessage.d.ts +25 -25
- package/dist/event/EventMessage.js +67 -67
- package/dist/event/EventType.d.ts +26 -26
- package/dist/event/EventType.js +31 -31
- package/dist/index.d.ts +35 -35
- package/dist/index.js +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +52 -52
- package/dist/interaction_client/BaseInteractionClient.js +138 -138
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +10 -10
- package/dist/interaction_client/NativeInteractionClient.d.ts +148 -148
- package/dist/interaction_client/NativeInteractionClient.js +516 -516
- package/dist/interaction_client/PopupClient.d.ts +111 -111
- package/dist/interaction_client/PopupClient.js +476 -476
- package/dist/interaction_client/RedirectClient.d.ts +48 -48
- package/dist/interaction_client/RedirectClient.js +290 -290
- package/dist/interaction_client/SilentAuthCodeClient.d.ts +22 -22
- package/dist/interaction_client/SilentAuthCodeClient.js +62 -62
- package/dist/interaction_client/SilentCacheClient.d.ts +21 -21
- package/dist/interaction_client/SilentCacheClient.js +67 -67
- package/dist/interaction_client/SilentIframeClient.d.ts +31 -31
- package/dist/interaction_client/SilentIframeClient.js +127 -127
- package/dist/interaction_client/SilentRefreshClient.d.ts +19 -19
- package/dist/interaction_client/SilentRefreshClient.js +62 -62
- package/dist/interaction_client/StandardInteractionClient.d.ts +59 -59
- package/dist/interaction_client/StandardInteractionClient.js +259 -259
- package/dist/interaction_handler/InteractionHandler.d.ts +39 -39
- package/dist/interaction_handler/InteractionHandler.js +127 -127
- package/dist/interaction_handler/RedirectHandler.d.ts +24 -24
- package/dist/interaction_handler/RedirectHandler.js +118 -118
- package/dist/interaction_handler/SilentHandler.d.ts +47 -47
- package/dist/interaction_handler/SilentHandler.js +162 -162
- package/dist/internals.d.ts +23 -23
- package/dist/internals.js +4 -4
- package/dist/navigation/INavigationClient.d.ts +16 -16
- package/dist/navigation/NavigationClient.d.ts +22 -22
- package/dist/navigation/NavigationClient.js +40 -40
- package/dist/navigation/NavigationOptions.d.ts +12 -12
- package/dist/network/FetchClient.d.ts +26 -26
- package/dist/network/FetchClient.js +99 -99
- package/dist/network/XhrClient.d.ts +40 -40
- package/dist/network/XhrClient.js +117 -117
- package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
- package/dist/operatingcontext/BaseOperatingContext.js +44 -44
- package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/StandardOperatingContext.js +43 -43
- package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +25 -25
- package/dist/operatingcontext/TeamsAppOperatingContext.js +42 -42
- package/dist/packageMetadata.d.ts +2 -2
- package/dist/packageMetadata.js +4 -4
- package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
- package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
- package/dist/request/EndSessionPopupRequest.d.ts +18 -18
- package/dist/request/EndSessionRequest.d.ts +15 -15
- package/dist/request/PopupRequest.d.ts +32 -32
- package/dist/request/PopupWindowAttributes.d.ts +15 -15
- package/dist/request/RedirectRequest.d.ts +33 -33
- package/dist/request/SilentRequest.d.ts +30 -30
- package/dist/request/SsoSilentRequest.d.ts +26 -26
- package/dist/telemetry/BrowserPerformanceClient.d.ts +38 -38
- package/dist/telemetry/BrowserPerformanceClient.js +124 -124
- package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
- package/dist/telemetry/BrowserPerformanceMeasurement.js +92 -92
- package/dist/utils/BrowserConstants.d.ts +166 -166
- package/dist/utils/BrowserConstants.js +214 -214
- package/dist/utils/BrowserProtocolUtils.d.ts +18 -18
- package/dist/utils/BrowserProtocolUtils.js +34 -34
- package/dist/utils/BrowserStringUtils.d.ts +26 -26
- package/dist/utils/BrowserStringUtils.js +149 -149
- package/dist/utils/BrowserUtils.d.ts +65 -65
- package/dist/utils/BrowserUtils.js +138 -138
- package/dist/utils/MathUtils.d.ts +11 -11
- package/dist/utils/MathUtils.js +21 -21
- package/lib/msal-browser.cjs.js +18383 -0
- package/lib/msal-browser.cjs.js.map +1 -0
- package/lib/msal-browser.js +18389 -0
- package/lib/msal-browser.js.map +1 -0
- package/lib/msal-browser.min.js +74 -0
- package/package.json +97 -95
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.0.0-alpha.
|
|
1
|
+
/*! @azure/msal-browser v3.0.0-alpha.2 2023-05-17 */
|
|
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
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
/*! @azure/msal-browser v3.0.0-alpha.
|
|
1
|
+
/*! @azure/msal-browser v3.0.0-alpha.2 2023-05-17 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { Constants } from '@azure/msal-common';
|
|
4
4
|
import { BrowserAuthError } from '../error/BrowserAuthError.js';
|
|
5
5
|
import { HTTP_REQUEST_TYPE } from '../utils/BrowserConstants.js';
|
|
6
6
|
|
|
7
|
-
/*
|
|
8
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
-
* Licensed under the MIT License.
|
|
10
|
-
*/
|
|
11
|
-
/**
|
|
12
|
-
* 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
|
|
13
|
-
*/
|
|
14
|
-
class FetchClient {
|
|
15
|
-
/**
|
|
16
|
-
* Fetch Client for REST endpoints - Get request
|
|
17
|
-
* @param url
|
|
18
|
-
* @param headers
|
|
19
|
-
* @param body
|
|
20
|
-
*/
|
|
21
|
-
async sendGetRequestAsync(url, options) {
|
|
22
|
-
let response;
|
|
23
|
-
try {
|
|
24
|
-
response = await fetch(url, {
|
|
25
|
-
method: HTTP_REQUEST_TYPE.GET,
|
|
26
|
-
headers: this.getFetchHeaders(options),
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
if (window.navigator.onLine) {
|
|
31
|
-
throw BrowserAuthError.createGetRequestFailedError(e, url);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
throw BrowserAuthError.createNoNetworkConnectivityError();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
try {
|
|
38
|
-
return {
|
|
39
|
-
headers: this.getHeaderDict(response.headers),
|
|
40
|
-
body: (await response.json()),
|
|
41
|
-
status: response.status,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
catch (e) {
|
|
45
|
-
throw BrowserAuthError.createFailedToParseNetworkResponseError(url);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Fetch Client for REST endpoints - Post request
|
|
50
|
-
* @param url
|
|
51
|
-
* @param headers
|
|
52
|
-
* @param body
|
|
53
|
-
*/
|
|
54
|
-
async sendPostRequestAsync(url, options) {
|
|
55
|
-
const reqBody = (options && options.body) || Constants.EMPTY_STRING;
|
|
56
|
-
let response;
|
|
57
|
-
try {
|
|
58
|
-
response = await fetch(url, {
|
|
59
|
-
method: HTTP_REQUEST_TYPE.POST,
|
|
60
|
-
headers: this.getFetchHeaders(options),
|
|
61
|
-
body: reqBody,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
catch (e) {
|
|
65
|
-
if (window.navigator.onLine) {
|
|
66
|
-
throw BrowserAuthError.createPostRequestFailedError(e, url);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
throw BrowserAuthError.createNoNetworkConnectivityError();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
try {
|
|
73
|
-
return {
|
|
74
|
-
headers: this.getHeaderDict(response.headers),
|
|
75
|
-
body: (await response.json()),
|
|
76
|
-
status: response.status,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
catch (e) {
|
|
80
|
-
throw BrowserAuthError.createFailedToParseNetworkResponseError(url);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Get Fetch API Headers object from string map
|
|
85
|
-
* @param inputHeaders
|
|
86
|
-
*/
|
|
87
|
-
getFetchHeaders(options) {
|
|
88
|
-
const headers = new Headers();
|
|
89
|
-
if (!(options && options.headers)) {
|
|
90
|
-
return headers;
|
|
91
|
-
}
|
|
92
|
-
const optionsHeaders = options.headers;
|
|
93
|
-
Object.keys(optionsHeaders).forEach((key) => {
|
|
94
|
-
headers.append(key, optionsHeaders[key]);
|
|
95
|
-
});
|
|
96
|
-
return headers;
|
|
97
|
-
}
|
|
98
|
-
getHeaderDict(headers) {
|
|
99
|
-
const headerDict = {};
|
|
100
|
-
headers.forEach((value, key) => {
|
|
101
|
-
headerDict[key] = value;
|
|
102
|
-
});
|
|
103
|
-
return headerDict;
|
|
104
|
-
}
|
|
7
|
+
/*
|
|
8
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
9
|
+
* Licensed under the MIT License.
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* 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
|
|
13
|
+
*/
|
|
14
|
+
class FetchClient {
|
|
15
|
+
/**
|
|
16
|
+
* Fetch Client for REST endpoints - Get request
|
|
17
|
+
* @param url
|
|
18
|
+
* @param headers
|
|
19
|
+
* @param body
|
|
20
|
+
*/
|
|
21
|
+
async sendGetRequestAsync(url, options) {
|
|
22
|
+
let response;
|
|
23
|
+
try {
|
|
24
|
+
response = await fetch(url, {
|
|
25
|
+
method: HTTP_REQUEST_TYPE.GET,
|
|
26
|
+
headers: this.getFetchHeaders(options),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
catch (e) {
|
|
30
|
+
if (window.navigator.onLine) {
|
|
31
|
+
throw BrowserAuthError.createGetRequestFailedError(e, url);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
throw BrowserAuthError.createNoNetworkConnectivityError();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
try {
|
|
38
|
+
return {
|
|
39
|
+
headers: this.getHeaderDict(response.headers),
|
|
40
|
+
body: (await response.json()),
|
|
41
|
+
status: response.status,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
catch (e) {
|
|
45
|
+
throw BrowserAuthError.createFailedToParseNetworkResponseError(url);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Fetch Client for REST endpoints - Post request
|
|
50
|
+
* @param url
|
|
51
|
+
* @param headers
|
|
52
|
+
* @param body
|
|
53
|
+
*/
|
|
54
|
+
async sendPostRequestAsync(url, options) {
|
|
55
|
+
const reqBody = (options && options.body) || Constants.EMPTY_STRING;
|
|
56
|
+
let response;
|
|
57
|
+
try {
|
|
58
|
+
response = await fetch(url, {
|
|
59
|
+
method: HTTP_REQUEST_TYPE.POST,
|
|
60
|
+
headers: this.getFetchHeaders(options),
|
|
61
|
+
body: reqBody,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
if (window.navigator.onLine) {
|
|
66
|
+
throw BrowserAuthError.createPostRequestFailedError(e, url);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
throw BrowserAuthError.createNoNetworkConnectivityError();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
try {
|
|
73
|
+
return {
|
|
74
|
+
headers: this.getHeaderDict(response.headers),
|
|
75
|
+
body: (await response.json()),
|
|
76
|
+
status: response.status,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
catch (e) {
|
|
80
|
+
throw BrowserAuthError.createFailedToParseNetworkResponseError(url);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get Fetch API Headers object from string map
|
|
85
|
+
* @param inputHeaders
|
|
86
|
+
*/
|
|
87
|
+
getFetchHeaders(options) {
|
|
88
|
+
const headers = new Headers();
|
|
89
|
+
if (!(options && options.headers)) {
|
|
90
|
+
return headers;
|
|
91
|
+
}
|
|
92
|
+
const optionsHeaders = options.headers;
|
|
93
|
+
Object.keys(optionsHeaders).forEach((key) => {
|
|
94
|
+
headers.append(key, optionsHeaders[key]);
|
|
95
|
+
});
|
|
96
|
+
return headers;
|
|
97
|
+
}
|
|
98
|
+
getHeaderDict(headers) {
|
|
99
|
+
const headerDict = {};
|
|
100
|
+
headers.forEach((value, key) => {
|
|
101
|
+
headerDict[key] = value;
|
|
102
|
+
});
|
|
103
|
+
return headerDict;
|
|
104
|
+
}
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
export { FetchClient };
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { INetworkModule, NetworkRequestOptions, NetworkResponse } from "@azure/msal-common";
|
|
2
|
-
/**
|
|
3
|
-
* This client implements the XMLHttpRequest class to send GET and POST requests.
|
|
4
|
-
*/
|
|
5
|
-
export declare class XhrClient implements INetworkModule {
|
|
6
|
-
/**
|
|
7
|
-
* XhrClient 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
|
-
* XhrClient 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
|
-
* Helper for XhrClient requests.
|
|
22
|
-
* @param url
|
|
23
|
-
* @param method
|
|
24
|
-
* @param options
|
|
25
|
-
*/
|
|
26
|
-
private sendRequestAsync;
|
|
27
|
-
/**
|
|
28
|
-
* Helper to set XHR headers for request.
|
|
29
|
-
* @param xhr
|
|
30
|
-
* @param options
|
|
31
|
-
*/
|
|
32
|
-
private setXhrHeaders;
|
|
33
|
-
/**
|
|
34
|
-
* Gets a string map of the headers received in the response.
|
|
35
|
-
*
|
|
36
|
-
* Algorithm comes from https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders
|
|
37
|
-
* @param xhr
|
|
38
|
-
*/
|
|
39
|
-
private getHeaderDict;
|
|
40
|
-
}
|
|
1
|
+
import { INetworkModule, NetworkRequestOptions, NetworkResponse } from "@azure/msal-common";
|
|
2
|
+
/**
|
|
3
|
+
* This client implements the XMLHttpRequest class to send GET and POST requests.
|
|
4
|
+
*/
|
|
5
|
+
export declare class XhrClient implements INetworkModule {
|
|
6
|
+
/**
|
|
7
|
+
* XhrClient 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
|
+
* XhrClient 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
|
+
* Helper for XhrClient requests.
|
|
22
|
+
* @param url
|
|
23
|
+
* @param method
|
|
24
|
+
* @param options
|
|
25
|
+
*/
|
|
26
|
+
private sendRequestAsync;
|
|
27
|
+
/**
|
|
28
|
+
* Helper to set XHR headers for request.
|
|
29
|
+
* @param xhr
|
|
30
|
+
* @param options
|
|
31
|
+
*/
|
|
32
|
+
private setXhrHeaders;
|
|
33
|
+
/**
|
|
34
|
+
* Gets a string map of the headers received in the response.
|
|
35
|
+
*
|
|
36
|
+
* Algorithm comes from https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/getAllResponseHeaders
|
|
37
|
+
* @param xhr
|
|
38
|
+
*/
|
|
39
|
+
private getHeaderDict;
|
|
40
|
+
}
|
|
41
41
|
//# sourceMappingURL=XhrClient.d.ts.map
|