@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.
Files changed (142) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +213 -213
  3. package/dist/app/IPublicClientApplication.d.ts +45 -45
  4. package/dist/app/IPublicClientApplication.js +96 -96
  5. package/dist/app/PublicClientApplication.d.ts +244 -244
  6. package/dist/app/PublicClientApplication.js +307 -307
  7. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +63 -63
  8. package/dist/broker/nativeBroker/NativeMessageHandler.js +255 -255
  9. package/dist/broker/nativeBroker/NativeRequest.d.ts +43 -43
  10. package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
  11. package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
  12. package/dist/cache/AsyncMemoryStorage.js +132 -132
  13. package/dist/cache/BrowserCacheManager.d.ts +377 -377
  14. package/dist/cache/BrowserCacheManager.js +1276 -1276
  15. package/dist/cache/BrowserStorage.d.ts +11 -11
  16. package/dist/cache/BrowserStorage.js +35 -35
  17. package/dist/cache/CryptoKeyStore.d.ts +17 -17
  18. package/dist/cache/CryptoKeyStore.js +41 -41
  19. package/dist/cache/DatabaseStorage.d.ts +56 -56
  20. package/dist/cache/DatabaseStorage.js +190 -190
  21. package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
  22. package/dist/cache/ITokenCache.d.ts +10 -10
  23. package/dist/cache/IWindowStorage.d.ts +27 -27
  24. package/dist/cache/MemoryStorage.d.ts +11 -11
  25. package/dist/cache/MemoryStorage.js +31 -31
  26. package/dist/cache/TokenCache.d.ts +76 -76
  27. package/dist/cache/TokenCache.js +225 -225
  28. package/dist/config/Configuration.d.ts +203 -203
  29. package/dist/config/Configuration.js +101 -101
  30. package/dist/controllers/ControllerFactory.d.ts +9 -9
  31. package/dist/controllers/ControllerFactory.js +37 -37
  32. package/dist/controllers/IController.d.ts +66 -66
  33. package/dist/controllers/StandardController.d.ts +413 -413
  34. package/dist/controllers/StandardController.js +1272 -1272
  35. package/dist/crypto/BrowserCrypto.d.ts +61 -61
  36. package/dist/crypto/BrowserCrypto.js +131 -131
  37. package/dist/crypto/CryptoOps.d.ts +73 -73
  38. package/dist/crypto/CryptoOps.js +150 -150
  39. package/dist/crypto/GuidGenerator.d.ts +12 -12
  40. package/dist/crypto/GuidGenerator.js +96 -96
  41. package/dist/crypto/ISubtleCrypto.d.ts +9 -9
  42. package/dist/crypto/ModernBrowserCrypto.d.ts +9 -9
  43. package/dist/crypto/ModernBrowserCrypto.js +24 -24
  44. package/dist/crypto/MsBrowserCrypto.d.ts +9 -9
  45. package/dist/crypto/MsBrowserCrypto.js +79 -79
  46. package/dist/crypto/MsrBrowserCrypto.d.ts +17 -17
  47. package/dist/crypto/MsrBrowserCrypto.js +28 -28
  48. package/dist/crypto/PkceGenerator.d.ts +24 -24
  49. package/dist/crypto/PkceGenerator.js +58 -58
  50. package/dist/crypto/SignedHttpRequest.d.ts +30 -30
  51. package/dist/crypto/SignedHttpRequest.js +39 -39
  52. package/dist/encode/Base64Decode.d.ts +22 -22
  53. package/dist/encode/Base64Decode.js +73 -73
  54. package/dist/encode/Base64Encode.d.ts +31 -31
  55. package/dist/encode/Base64Encode.js +79 -79
  56. package/dist/error/BrowserAuthError.d.ts +382 -382
  57. package/dist/error/BrowserAuthError.js +483 -483
  58. package/dist/error/BrowserConfigurationAuthError.d.ts +70 -70
  59. package/dist/error/BrowserConfigurationAuthError.js +96 -96
  60. package/dist/error/NativeAuthError.d.ts +56 -56
  61. package/dist/error/NativeAuthError.js +88 -88
  62. package/dist/event/EventHandler.d.ts +41 -41
  63. package/dist/event/EventHandler.js +119 -119
  64. package/dist/event/EventMessage.d.ts +25 -25
  65. package/dist/event/EventMessage.js +67 -67
  66. package/dist/event/EventType.d.ts +26 -26
  67. package/dist/event/EventType.js +31 -31
  68. package/dist/index.d.ts +35 -35
  69. package/dist/index.js +1 -1
  70. package/dist/interaction_client/BaseInteractionClient.d.ts +52 -52
  71. package/dist/interaction_client/BaseInteractionClient.js +138 -138
  72. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  73. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +10 -10
  74. package/dist/interaction_client/NativeInteractionClient.d.ts +148 -148
  75. package/dist/interaction_client/NativeInteractionClient.js +516 -516
  76. package/dist/interaction_client/PopupClient.d.ts +111 -111
  77. package/dist/interaction_client/PopupClient.js +476 -476
  78. package/dist/interaction_client/RedirectClient.d.ts +48 -48
  79. package/dist/interaction_client/RedirectClient.js +290 -290
  80. package/dist/interaction_client/SilentAuthCodeClient.d.ts +22 -22
  81. package/dist/interaction_client/SilentAuthCodeClient.js +62 -62
  82. package/dist/interaction_client/SilentCacheClient.d.ts +21 -21
  83. package/dist/interaction_client/SilentCacheClient.js +67 -67
  84. package/dist/interaction_client/SilentIframeClient.d.ts +31 -31
  85. package/dist/interaction_client/SilentIframeClient.js +127 -127
  86. package/dist/interaction_client/SilentRefreshClient.d.ts +19 -19
  87. package/dist/interaction_client/SilentRefreshClient.js +62 -62
  88. package/dist/interaction_client/StandardInteractionClient.d.ts +59 -59
  89. package/dist/interaction_client/StandardInteractionClient.js +259 -259
  90. package/dist/interaction_handler/InteractionHandler.d.ts +39 -39
  91. package/dist/interaction_handler/InteractionHandler.js +127 -127
  92. package/dist/interaction_handler/RedirectHandler.d.ts +24 -24
  93. package/dist/interaction_handler/RedirectHandler.js +118 -118
  94. package/dist/interaction_handler/SilentHandler.d.ts +47 -47
  95. package/dist/interaction_handler/SilentHandler.js +162 -162
  96. package/dist/internals.d.ts +23 -23
  97. package/dist/internals.js +4 -4
  98. package/dist/navigation/INavigationClient.d.ts +16 -16
  99. package/dist/navigation/NavigationClient.d.ts +22 -22
  100. package/dist/navigation/NavigationClient.js +40 -40
  101. package/dist/navigation/NavigationOptions.d.ts +12 -12
  102. package/dist/network/FetchClient.d.ts +26 -26
  103. package/dist/network/FetchClient.js +99 -99
  104. package/dist/network/XhrClient.d.ts +40 -40
  105. package/dist/network/XhrClient.js +117 -117
  106. package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
  107. package/dist/operatingcontext/BaseOperatingContext.js +44 -44
  108. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  109. package/dist/operatingcontext/StandardOperatingContext.js +43 -43
  110. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +25 -25
  111. package/dist/operatingcontext/TeamsAppOperatingContext.js +42 -42
  112. package/dist/packageMetadata.d.ts +2 -2
  113. package/dist/packageMetadata.js +4 -4
  114. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  115. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  116. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  117. package/dist/request/EndSessionRequest.d.ts +15 -15
  118. package/dist/request/PopupRequest.d.ts +32 -32
  119. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  120. package/dist/request/RedirectRequest.d.ts +33 -33
  121. package/dist/request/SilentRequest.d.ts +30 -30
  122. package/dist/request/SsoSilentRequest.d.ts +26 -26
  123. package/dist/telemetry/BrowserPerformanceClient.d.ts +38 -38
  124. package/dist/telemetry/BrowserPerformanceClient.js +124 -124
  125. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  126. package/dist/telemetry/BrowserPerformanceMeasurement.js +92 -92
  127. package/dist/utils/BrowserConstants.d.ts +166 -166
  128. package/dist/utils/BrowserConstants.js +214 -214
  129. package/dist/utils/BrowserProtocolUtils.d.ts +18 -18
  130. package/dist/utils/BrowserProtocolUtils.js +34 -34
  131. package/dist/utils/BrowserStringUtils.d.ts +26 -26
  132. package/dist/utils/BrowserStringUtils.js +149 -149
  133. package/dist/utils/BrowserUtils.d.ts +65 -65
  134. package/dist/utils/BrowserUtils.js +138 -138
  135. package/dist/utils/MathUtils.d.ts +11 -11
  136. package/dist/utils/MathUtils.js +21 -21
  137. package/lib/msal-browser.cjs.js +18383 -0
  138. package/lib/msal-browser.cjs.js.map +1 -0
  139. package/lib/msal-browser.js +18389 -0
  140. package/lib/msal-browser.js.map +1 -0
  141. package/lib/msal-browser.min.js +74 -0
  142. package/package.json +97 -95
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v3.0.0-alpha.1 2023-05-08 */
1
+ /*! @azure/msal-browser v3.0.0-alpha.2 2023-05-17 */
2
2
  'use strict';
3
3
  import { Constants, UrlString } from '@azure/msal-common';
4
4
  import { FetchClient } from '../network/FetchClient.js';
@@ -6,143 +6,143 @@ import { XhrClient } from '../network/XhrClient.js';
6
6
  import { BrowserAuthError } from '../error/BrowserAuthError.js';
7
7
  import { BrowserConstants, InteractionType } from './BrowserConstants.js';
8
8
 
9
- /*
10
- * Copyright (c) Microsoft Corporation. All rights reserved.
11
- * Licensed under the MIT License.
12
- */
13
- /**
14
- * Utility class for browser specific functions
15
- */
16
- class BrowserUtils {
17
- // #region Window Navigation and URL management
18
- /**
19
- * Clears hash from window url.
20
- */
21
- static clearHash(contentWindow) {
22
- // Office.js sets history.replaceState to null
23
- contentWindow.location.hash = Constants.EMPTY_STRING;
24
- if (typeof contentWindow.history.replaceState === "function") {
25
- // Full removes "#" from url
26
- contentWindow.history.replaceState(null, Constants.EMPTY_STRING, `${contentWindow.location.origin}${contentWindow.location.pathname}${contentWindow.location.search}`);
27
- }
28
- }
29
- /**
30
- * Replaces current hash with hash from provided url
31
- */
32
- static replaceHash(url) {
33
- const urlParts = url.split("#");
34
- urlParts.shift(); // Remove part before the hash
35
- window.location.hash =
36
- urlParts.length > 0 ? urlParts.join("#") : Constants.EMPTY_STRING;
37
- }
38
- /**
39
- * Returns boolean of whether the current window is in an iframe or not.
40
- */
41
- static isInIframe() {
42
- return window.parent !== window;
43
- }
44
- /**
45
- * Returns boolean of whether or not the current window is a popup opened by msal
46
- */
47
- static isInPopup() {
48
- return (typeof window !== "undefined" &&
49
- !!window.opener &&
50
- window.opener !== window &&
51
- typeof window.name === "string" &&
52
- window.name.indexOf(`${BrowserConstants.POPUP_NAME_PREFIX}.`) === 0);
53
- }
54
- // #endregion
55
- /**
56
- * Returns current window URL as redirect uri
57
- */
58
- static getCurrentUri() {
59
- return window.location.href.split("?")[0].split("#")[0];
60
- }
61
- /**
62
- * Gets the homepage url for the current window location.
63
- */
64
- static getHomepage() {
65
- const currentUrl = new UrlString(window.location.href);
66
- const urlComponents = currentUrl.getUrlComponents();
67
- return `${urlComponents.Protocol}//${urlComponents.HostNameAndPort}/`;
68
- }
69
- /**
70
- * Returns best compatible network client object.
71
- */
72
- static getBrowserNetworkClient() {
73
- // @ts-ignore TS2774
74
- if (window.fetch && window.Headers) {
75
- return new FetchClient();
76
- }
77
- else {
78
- return new XhrClient();
79
- }
80
- }
81
- /**
82
- * Throws error if we have completed an auth and are
83
- * attempting another auth request inside an iframe.
84
- */
85
- static blockReloadInHiddenIframes() {
86
- const isResponseHash = UrlString.hashContainsKnownProperties(window.location.hash);
87
- // return an error if called from the hidden iframe created by the msal js silent calls
88
- if (isResponseHash && BrowserUtils.isInIframe()) {
89
- throw BrowserAuthError.createBlockReloadInHiddenIframeError();
90
- }
91
- }
92
- /**
93
- * Block redirect operations in iframes unless explicitly allowed
94
- * @param interactionType Interaction type for the request
95
- * @param allowRedirectInIframe Config value to allow redirects when app is inside an iframe
96
- */
97
- static blockRedirectInIframe(interactionType, allowRedirectInIframe) {
98
- const isIframedApp = BrowserUtils.isInIframe();
99
- if (interactionType === InteractionType.Redirect &&
100
- isIframedApp &&
101
- !allowRedirectInIframe) {
102
- // If we are not in top frame, we shouldn't redirect. This is also handled by the service.
103
- throw BrowserAuthError.createRedirectInIframeError(isIframedApp);
104
- }
105
- }
106
- /**
107
- * Block redirectUri loaded in popup from calling AcquireToken APIs
108
- */
109
- static blockAcquireTokenInPopups() {
110
- // Popups opened by msal popup APIs are given a name that starts with "msal."
111
- if (BrowserUtils.isInPopup()) {
112
- throw BrowserAuthError.createBlockAcquireTokenInPopupsError();
113
- }
114
- }
115
- /**
116
- * Throws error if token requests are made in non-browser environment
117
- * @param isBrowserEnvironment Flag indicating if environment is a browser.
118
- */
119
- static blockNonBrowserEnvironment(isBrowserEnvironment) {
120
- if (!isBrowserEnvironment) {
121
- throw BrowserAuthError.createNonBrowserEnvironmentError();
122
- }
123
- }
124
- /**
125
- * Throws error if native brokering is enabled but initialize hasn't been called
126
- * @param allowNativeBroker
127
- * @param initialized
128
- */
129
- static blockNativeBrokerCalledBeforeInitialized(allowNativeBroker, initialized) {
130
- if (allowNativeBroker && !initialized) {
131
- throw BrowserAuthError.createNativeBrokerCalledBeforeInitialize();
132
- }
133
- }
134
- /**
135
- * Returns boolean of whether current browser is an Internet Explorer or Edge browser.
136
- */
137
- static detectIEOrEdge() {
138
- const ua = window.navigator.userAgent;
139
- const msie = ua.indexOf("MSIE ");
140
- const msie11 = ua.indexOf("Trident/");
141
- const msedge = ua.indexOf("Edge/");
142
- const isIE = msie > 0 || msie11 > 0;
143
- const isEdge = msedge > 0;
144
- return isIE || isEdge;
145
- }
9
+ /*
10
+ * Copyright (c) Microsoft Corporation. All rights reserved.
11
+ * Licensed under the MIT License.
12
+ */
13
+ /**
14
+ * Utility class for browser specific functions
15
+ */
16
+ class BrowserUtils {
17
+ // #region Window Navigation and URL management
18
+ /**
19
+ * Clears hash from window url.
20
+ */
21
+ static clearHash(contentWindow) {
22
+ // Office.js sets history.replaceState to null
23
+ contentWindow.location.hash = Constants.EMPTY_STRING;
24
+ if (typeof contentWindow.history.replaceState === "function") {
25
+ // Full removes "#" from url
26
+ contentWindow.history.replaceState(null, Constants.EMPTY_STRING, `${contentWindow.location.origin}${contentWindow.location.pathname}${contentWindow.location.search}`);
27
+ }
28
+ }
29
+ /**
30
+ * Replaces current hash with hash from provided url
31
+ */
32
+ static replaceHash(url) {
33
+ const urlParts = url.split("#");
34
+ urlParts.shift(); // Remove part before the hash
35
+ window.location.hash =
36
+ urlParts.length > 0 ? urlParts.join("#") : Constants.EMPTY_STRING;
37
+ }
38
+ /**
39
+ * Returns boolean of whether the current window is in an iframe or not.
40
+ */
41
+ static isInIframe() {
42
+ return window.parent !== window;
43
+ }
44
+ /**
45
+ * Returns boolean of whether or not the current window is a popup opened by msal
46
+ */
47
+ static isInPopup() {
48
+ return (typeof window !== "undefined" &&
49
+ !!window.opener &&
50
+ window.opener !== window &&
51
+ typeof window.name === "string" &&
52
+ window.name.indexOf(`${BrowserConstants.POPUP_NAME_PREFIX}.`) === 0);
53
+ }
54
+ // #endregion
55
+ /**
56
+ * Returns current window URL as redirect uri
57
+ */
58
+ static getCurrentUri() {
59
+ return window.location.href.split("?")[0].split("#")[0];
60
+ }
61
+ /**
62
+ * Gets the homepage url for the current window location.
63
+ */
64
+ static getHomepage() {
65
+ const currentUrl = new UrlString(window.location.href);
66
+ const urlComponents = currentUrl.getUrlComponents();
67
+ return `${urlComponents.Protocol}//${urlComponents.HostNameAndPort}/`;
68
+ }
69
+ /**
70
+ * Returns best compatible network client object.
71
+ */
72
+ static getBrowserNetworkClient() {
73
+ // @ts-ignore TS2774
74
+ if (window.fetch && window.Headers) {
75
+ return new FetchClient();
76
+ }
77
+ else {
78
+ return new XhrClient();
79
+ }
80
+ }
81
+ /**
82
+ * Throws error if we have completed an auth and are
83
+ * attempting another auth request inside an iframe.
84
+ */
85
+ static blockReloadInHiddenIframes() {
86
+ const isResponseHash = UrlString.hashContainsKnownProperties(window.location.hash);
87
+ // return an error if called from the hidden iframe created by the msal js silent calls
88
+ if (isResponseHash && BrowserUtils.isInIframe()) {
89
+ throw BrowserAuthError.createBlockReloadInHiddenIframeError();
90
+ }
91
+ }
92
+ /**
93
+ * Block redirect operations in iframes unless explicitly allowed
94
+ * @param interactionType Interaction type for the request
95
+ * @param allowRedirectInIframe Config value to allow redirects when app is inside an iframe
96
+ */
97
+ static blockRedirectInIframe(interactionType, allowRedirectInIframe) {
98
+ const isIframedApp = BrowserUtils.isInIframe();
99
+ if (interactionType === InteractionType.Redirect &&
100
+ isIframedApp &&
101
+ !allowRedirectInIframe) {
102
+ // If we are not in top frame, we shouldn't redirect. This is also handled by the service.
103
+ throw BrowserAuthError.createRedirectInIframeError(isIframedApp);
104
+ }
105
+ }
106
+ /**
107
+ * Block redirectUri loaded in popup from calling AcquireToken APIs
108
+ */
109
+ static blockAcquireTokenInPopups() {
110
+ // Popups opened by msal popup APIs are given a name that starts with "msal."
111
+ if (BrowserUtils.isInPopup()) {
112
+ throw BrowserAuthError.createBlockAcquireTokenInPopupsError();
113
+ }
114
+ }
115
+ /**
116
+ * Throws error if token requests are made in non-browser environment
117
+ * @param isBrowserEnvironment Flag indicating if environment is a browser.
118
+ */
119
+ static blockNonBrowserEnvironment(isBrowserEnvironment) {
120
+ if (!isBrowserEnvironment) {
121
+ throw BrowserAuthError.createNonBrowserEnvironmentError();
122
+ }
123
+ }
124
+ /**
125
+ * Throws error if native brokering is enabled but initialize hasn't been called
126
+ * @param allowNativeBroker
127
+ * @param initialized
128
+ */
129
+ static blockNativeBrokerCalledBeforeInitialized(allowNativeBroker, initialized) {
130
+ if (allowNativeBroker && !initialized) {
131
+ throw BrowserAuthError.createNativeBrokerCalledBeforeInitialize();
132
+ }
133
+ }
134
+ /**
135
+ * Returns boolean of whether current browser is an Internet Explorer or Edge browser.
136
+ */
137
+ static detectIEOrEdge() {
138
+ const ua = window.navigator.userAgent;
139
+ const msie = ua.indexOf("MSIE ");
140
+ const msie11 = ua.indexOf("Trident/");
141
+ const msedge = ua.indexOf("Edge/");
142
+ const isIE = msie > 0 || msie11 > 0;
143
+ const isEdge = msedge > 0;
144
+ return isIE || isEdge;
145
+ }
146
146
  }
147
147
 
148
148
  export { BrowserUtils };
@@ -1,12 +1,12 @@
1
- /**
2
- * Utility class for math specific functions in browser.
3
- */
4
- export declare class MathUtils {
5
- /**
6
- * Decimal to Hex
7
- *
8
- * @param num
9
- */
10
- static decimalToHex(num: number): string;
11
- }
1
+ /**
2
+ * Utility class for math specific functions in browser.
3
+ */
4
+ export declare class MathUtils {
5
+ /**
6
+ * Decimal to Hex
7
+ *
8
+ * @param num
9
+ */
10
+ static decimalToHex(num: number): string;
11
+ }
12
12
  //# sourceMappingURL=MathUtils.d.ts.map
@@ -1,25 +1,25 @@
1
- /*! @azure/msal-browser v3.0.0-alpha.1 2023-05-08 */
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
- /**
8
- * Utility class for math specific functions in browser.
9
- */
10
- class MathUtils {
11
- /**
12
- * Decimal to Hex
13
- *
14
- * @param num
15
- */
16
- static decimalToHex(num) {
17
- let hex = num.toString(16);
18
- while (hex.length < 2) {
19
- hex = "0" + hex;
20
- }
21
- return hex;
22
- }
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ /**
8
+ * Utility class for math specific functions in browser.
9
+ */
10
+ class MathUtils {
11
+ /**
12
+ * Decimal to Hex
13
+ *
14
+ * @param num
15
+ */
16
+ static decimalToHex(num) {
17
+ let hex = num.toString(16);
18
+ while (hex.length < 2) {
19
+ hex = "0" + hex;
20
+ }
21
+ return hex;
22
+ }
23
23
  }
24
24
 
25
25
  export { MathUtils };