@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
package/dist/index.d.ts CHANGED
@@ -1,36 +1,36 @@
1
- /**
2
- * @packageDocumentation
3
- * @module @azure/msal-browser
4
- */
5
- /**
6
- * Warning: This set of exports is purely intended to be used by other MSAL libraries, and should be considered potentially unstable. We strongly discourage using them directly, you do so at your own risk.
7
- * Breaking changes to these APIs will be shipped under a minor version, instead of a major version.
8
- */
9
- import * as internals from "./internals";
10
- export { internals };
11
- export { PublicClientApplication } from "./app/PublicClientApplication";
12
- export { Configuration, BrowserAuthOptions, CacheOptions, BrowserSystemOptions, BrowserConfiguration, DEFAULT_IFRAME_TIMEOUT_MS, } from "./config/Configuration";
13
- export { InteractionType, InteractionStatus, BrowserCacheLocation, WrapperSKU, ApiId, CacheLookupPolicy, } from "./utils/BrowserConstants";
14
- export { BrowserUtils } from "./utils/BrowserUtils";
15
- export { BrowserAuthError, BrowserAuthErrorMessage, } from "./error/BrowserAuthError";
16
- export { BrowserConfigurationAuthError, BrowserConfigurationAuthErrorMessage, } from "./error/BrowserConfigurationAuthError";
17
- export { IPublicClientApplication, stubbedPublicClientApplication, } from "./app/IPublicClientApplication";
18
- export { INavigationClient } from "./navigation/INavigationClient";
19
- export { NavigationClient } from "./navigation/NavigationClient";
20
- export { NavigationOptions } from "./navigation/NavigationOptions";
21
- export { PopupRequest } from "./request/PopupRequest";
22
- export { RedirectRequest } from "./request/RedirectRequest";
23
- export { SilentRequest } from "./request/SilentRequest";
24
- export { SsoSilentRequest } from "./request/SsoSilentRequest";
25
- export { EndSessionRequest } from "./request/EndSessionRequest";
26
- export { EndSessionPopupRequest } from "./request/EndSessionPopupRequest";
27
- export { AuthorizationUrlRequest } from "./request/AuthorizationUrlRequest";
28
- export { AuthorizationCodeRequest } from "./request/AuthorizationCodeRequest";
29
- export { LoadTokenOptions } from "./cache/TokenCache";
30
- export { EventMessage, EventPayload, EventError, EventCallbackFunction, EventMessageUtils, PopupEvent, } from "./event/EventMessage";
31
- export { EventType } from "./event/EventType";
32
- export { SignedHttpRequest, SignedHttpRequestOptions, } from "./crypto/SignedHttpRequest";
33
- export { PopupWindowAttributes } from "./request/PopupWindowAttributes";
34
- export { AuthenticationScheme, AccountInfo, AccountEntity, AuthenticationResult, AuthError, AuthErrorMessage, ClientAuthError, ClientAuthErrorMessage, ClientConfigurationError, ClientConfigurationErrorMessage, InteractionRequiredAuthError, InteractionRequiredAuthErrorMessage, ServerError, INetworkModule, NetworkResponse, NetworkRequestOptions, ILoggerCallback, Logger, LogLevel, ProtocolMode, ExternalTokenResponse, StringUtils, UrlString, AzureCloudInstance, AzureCloudOptions, AuthenticationHeaderParser, OIDC_DEFAULT_SCOPES, PerformanceCallbackFunction, PerformanceEvent, PerformanceEvents, } from "@azure/msal-common";
35
- export { version } from "./packageMetadata";
1
+ /**
2
+ * @packageDocumentation
3
+ * @module @azure/msal-browser
4
+ */
5
+ /**
6
+ * Warning: This set of exports is purely intended to be used by other MSAL libraries, and should be considered potentially unstable. We strongly discourage using them directly, you do so at your own risk.
7
+ * Breaking changes to these APIs will be shipped under a minor version, instead of a major version.
8
+ */
9
+ import * as internals from "./internals";
10
+ export { internals };
11
+ export { PublicClientApplication } from "./app/PublicClientApplication";
12
+ export { Configuration, BrowserAuthOptions, CacheOptions, BrowserSystemOptions, BrowserConfiguration, DEFAULT_IFRAME_TIMEOUT_MS, } from "./config/Configuration";
13
+ export { InteractionType, InteractionStatus, BrowserCacheLocation, WrapperSKU, ApiId, CacheLookupPolicy, } from "./utils/BrowserConstants";
14
+ export { BrowserUtils } from "./utils/BrowserUtils";
15
+ export { BrowserAuthError, BrowserAuthErrorMessage, } from "./error/BrowserAuthError";
16
+ export { BrowserConfigurationAuthError, BrowserConfigurationAuthErrorMessage, } from "./error/BrowserConfigurationAuthError";
17
+ export { IPublicClientApplication, stubbedPublicClientApplication, } from "./app/IPublicClientApplication";
18
+ export { INavigationClient } from "./navigation/INavigationClient";
19
+ export { NavigationClient } from "./navigation/NavigationClient";
20
+ export { NavigationOptions } from "./navigation/NavigationOptions";
21
+ export { PopupRequest } from "./request/PopupRequest";
22
+ export { RedirectRequest } from "./request/RedirectRequest";
23
+ export { SilentRequest } from "./request/SilentRequest";
24
+ export { SsoSilentRequest } from "./request/SsoSilentRequest";
25
+ export { EndSessionRequest } from "./request/EndSessionRequest";
26
+ export { EndSessionPopupRequest } from "./request/EndSessionPopupRequest";
27
+ export { AuthorizationUrlRequest } from "./request/AuthorizationUrlRequest";
28
+ export { AuthorizationCodeRequest } from "./request/AuthorizationCodeRequest";
29
+ export { LoadTokenOptions } from "./cache/TokenCache";
30
+ export { EventMessage, EventPayload, EventError, EventCallbackFunction, EventMessageUtils, PopupEvent, } from "./event/EventMessage";
31
+ export { EventType } from "./event/EventType";
32
+ export { SignedHttpRequest, SignedHttpRequestOptions, } from "./crypto/SignedHttpRequest";
33
+ export { PopupWindowAttributes } from "./request/PopupWindowAttributes";
34
+ export { AuthenticationScheme, AccountInfo, AccountEntity, AuthenticationResult, AuthError, AuthErrorMessage, ClientAuthError, ClientAuthErrorMessage, ClientConfigurationError, ClientConfigurationErrorMessage, InteractionRequiredAuthError, InteractionRequiredAuthErrorMessage, ServerError, INetworkModule, NetworkResponse, NetworkRequestOptions, ILoggerCallback, Logger, LogLevel, ProtocolMode, ExternalTokenResponse, StringUtils, UrlString, AzureCloudInstance, AzureCloudOptions, AuthenticationHeaderParser, OIDC_DEFAULT_SCOPES, PerformanceCallbackFunction, PerformanceEvent, PerformanceEvents, } from "@azure/msal-common";
35
+ export { version } from "./packageMetadata";
36
36
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -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 * as internals from './internals.js';
4
4
  export { internals };
@@ -1,53 +1,53 @@
1
- import { ICrypto, INetworkModule, Logger, AuthenticationResult, AccountInfo, BaseAuthRequest, ServerTelemetryManager, Authority, IPerformanceClient } from "@azure/msal-common";
2
- import { BrowserConfiguration } from "../config/Configuration";
3
- import { BrowserCacheManager } from "../cache/BrowserCacheManager";
4
- import { EventHandler } from "../event/EventHandler";
5
- import { EndSessionRequest } from "../request/EndSessionRequest";
6
- import { RedirectRequest } from "../request/RedirectRequest";
7
- import { PopupRequest } from "../request/PopupRequest";
8
- import { SsoSilentRequest } from "../request/SsoSilentRequest";
9
- import { INavigationClient } from "../navigation/INavigationClient";
10
- import { NativeMessageHandler } from "../broker/nativeBroker/NativeMessageHandler";
11
- export declare abstract class BaseInteractionClient {
12
- protected config: BrowserConfiguration;
13
- protected browserStorage: BrowserCacheManager;
14
- protected browserCrypto: ICrypto;
15
- protected networkClient: INetworkModule;
16
- protected logger: Logger;
17
- protected eventHandler: EventHandler;
18
- protected navigationClient: INavigationClient;
19
- protected nativeMessageHandler: NativeMessageHandler | undefined;
20
- protected correlationId: string;
21
- protected performanceClient: IPerformanceClient;
22
- constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, performanceClient: IPerformanceClient, nativeMessageHandler?: NativeMessageHandler, correlationId?: string);
23
- abstract acquireToken(request: RedirectRequest | PopupRequest | SsoSilentRequest): Promise<AuthenticationResult | void>;
24
- abstract logout(request: EndSessionRequest): Promise<void>;
25
- protected clearCacheOnLogout(account?: AccountInfo | null): Promise<void>;
26
- /**
27
- * Initializer function for all request APIs
28
- * @param request
29
- */
30
- protected initializeBaseRequest(request: Partial<BaseAuthRequest>): Promise<BaseAuthRequest>;
31
- /**
32
- *
33
- * Use to get the redirect uri configured in MSAL or null.
34
- * @param requestRedirectUri
35
- * @returns Redirect URL
36
- *
37
- */
38
- getRedirectUri(requestRedirectUri?: string): string;
39
- /**
40
- *
41
- * @param apiId
42
- * @param correlationId
43
- * @param forceRefresh
44
- */
45
- protected initializeServerTelemetryManager(apiId: number, forceRefresh?: boolean): ServerTelemetryManager;
46
- /**
47
- * Used to get a discovered version of the default authority.
48
- * @param requestAuthority
49
- * @param requestCorrelationId
50
- */
51
- protected getDiscoveredAuthority(requestAuthority?: string): Promise<Authority>;
52
- }
1
+ import { ICrypto, INetworkModule, Logger, AuthenticationResult, AccountInfo, BaseAuthRequest, ServerTelemetryManager, Authority, IPerformanceClient } from "@azure/msal-common";
2
+ import { BrowserConfiguration } from "../config/Configuration";
3
+ import { BrowserCacheManager } from "../cache/BrowserCacheManager";
4
+ import { EventHandler } from "../event/EventHandler";
5
+ import { EndSessionRequest } from "../request/EndSessionRequest";
6
+ import { RedirectRequest } from "../request/RedirectRequest";
7
+ import { PopupRequest } from "../request/PopupRequest";
8
+ import { SsoSilentRequest } from "../request/SsoSilentRequest";
9
+ import { INavigationClient } from "../navigation/INavigationClient";
10
+ import { NativeMessageHandler } from "../broker/nativeBroker/NativeMessageHandler";
11
+ export declare abstract class BaseInteractionClient {
12
+ protected config: BrowserConfiguration;
13
+ protected browserStorage: BrowserCacheManager;
14
+ protected browserCrypto: ICrypto;
15
+ protected networkClient: INetworkModule;
16
+ protected logger: Logger;
17
+ protected eventHandler: EventHandler;
18
+ protected navigationClient: INavigationClient;
19
+ protected nativeMessageHandler: NativeMessageHandler | undefined;
20
+ protected correlationId: string;
21
+ protected performanceClient: IPerformanceClient;
22
+ constructor(config: BrowserConfiguration, storageImpl: BrowserCacheManager, browserCrypto: ICrypto, logger: Logger, eventHandler: EventHandler, navigationClient: INavigationClient, performanceClient: IPerformanceClient, nativeMessageHandler?: NativeMessageHandler, correlationId?: string);
23
+ abstract acquireToken(request: RedirectRequest | PopupRequest | SsoSilentRequest): Promise<AuthenticationResult | void>;
24
+ abstract logout(request: EndSessionRequest): Promise<void>;
25
+ protected clearCacheOnLogout(account?: AccountInfo | null): Promise<void>;
26
+ /**
27
+ * Initializer function for all request APIs
28
+ * @param request
29
+ */
30
+ protected initializeBaseRequest(request: Partial<BaseAuthRequest>): Promise<BaseAuthRequest>;
31
+ /**
32
+ *
33
+ * Use to get the redirect uri configured in MSAL or null.
34
+ * @param requestRedirectUri
35
+ * @returns Redirect URL
36
+ *
37
+ */
38
+ getRedirectUri(requestRedirectUri?: string): string;
39
+ /**
40
+ *
41
+ * @param apiId
42
+ * @param correlationId
43
+ * @param forceRefresh
44
+ */
45
+ protected initializeServerTelemetryManager(apiId: number, forceRefresh?: boolean): ServerTelemetryManager;
46
+ /**
47
+ * Used to get a discovered version of the default authority.
48
+ * @param requestAuthority
49
+ * @param requestCorrelationId
50
+ */
51
+ protected getDiscoveredAuthority(requestAuthority?: string): Promise<Authority>;
52
+ }
53
53
  //# sourceMappingURL=BaseInteractionClient.d.ts.map
@@ -1,147 +1,147 @@
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 { AccountEntity, PerformanceEvents, AuthenticationScheme, ClientConfigurationError, StringUtils, UrlString, ServerTelemetryManager, AuthorityFactory } from '@azure/msal-common';
4
4
  import { version } from '../packageMetadata.js';
5
5
  import { BrowserConstants } from '../utils/BrowserConstants.js';
6
6
  import { BrowserUtils } from '../utils/BrowserUtils.js';
7
7
 
8
- /*
9
- * Copyright (c) Microsoft Corporation. All rights reserved.
10
- * Licensed under the MIT License.
11
- */
12
- class BaseInteractionClient {
13
- constructor(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) {
14
- this.config = config;
15
- this.browserStorage = storageImpl;
16
- this.browserCrypto = browserCrypto;
17
- this.networkClient = this.config.system.networkClient;
18
- this.eventHandler = eventHandler;
19
- this.navigationClient = navigationClient;
20
- this.nativeMessageHandler = nativeMessageHandler;
21
- this.correlationId =
22
- correlationId || this.browserCrypto.createNewGuid();
23
- this.logger = logger.clone(BrowserConstants.MSAL_SKU, version, this.correlationId);
24
- this.performanceClient = performanceClient;
25
- }
26
- async clearCacheOnLogout(account) {
27
- if (account) {
28
- if (AccountEntity.accountInfoIsEqual(account, this.browserStorage.getActiveAccount(), false)) {
29
- this.logger.verbose("Setting active account to null");
30
- this.browserStorage.setActiveAccount(null);
31
- }
32
- // Clear given account.
33
- try {
34
- await this.browserStorage.removeAccount(AccountEntity.generateAccountCacheKey(account));
35
- this.logger.verbose("Cleared cache items belonging to the account provided in the logout request.");
36
- }
37
- catch (error) {
38
- this.logger.error("Account provided in logout request was not found. Local cache unchanged.");
39
- }
40
- }
41
- else {
42
- try {
43
- this.logger.verbose("No account provided in logout request, clearing all cache items.", this.correlationId);
44
- // Clear all accounts and tokens
45
- await this.browserStorage.clear();
46
- // Clear any stray keys from IndexedDB
47
- await this.browserCrypto.clearKeystore();
48
- }
49
- catch (e) {
50
- this.logger.error("Attempted to clear all MSAL cache items and failed. Local cache unchanged.");
51
- }
52
- }
53
- }
54
- /**
55
- * Initializer function for all request APIs
56
- * @param request
57
- */
58
- async initializeBaseRequest(request) {
59
- this.performanceClient.addQueueMeasurement(PerformanceEvents.InitializeBaseRequest, request.correlationId);
60
- this.logger.verbose("Initializing BaseAuthRequest");
61
- const authority = request.authority || this.config.auth.authority;
62
- const scopes = [...((request && request.scopes) || [])];
63
- const validatedRequest = {
64
- ...request,
65
- correlationId: this.correlationId,
66
- authority,
67
- scopes,
68
- };
69
- // Set authenticationScheme to BEARER if not explicitly set in the request
70
- if (!validatedRequest.authenticationScheme) {
71
- validatedRequest.authenticationScheme = AuthenticationScheme.BEARER;
72
- this.logger.verbose('Authentication Scheme wasn\'t explicitly set in request, defaulting to "Bearer" request');
73
- }
74
- else {
75
- if (validatedRequest.authenticationScheme ===
76
- AuthenticationScheme.SSH) {
77
- if (!request.sshJwk) {
78
- throw ClientConfigurationError.createMissingSshJwkError();
79
- }
80
- if (!request.sshKid) {
81
- throw ClientConfigurationError.createMissingSshKidError();
82
- }
83
- }
84
- this.logger.verbose(`Authentication Scheme set to "${validatedRequest.authenticationScheme}" as configured in Auth request`);
85
- }
86
- // Set requested claims hash if claims were requested
87
- if (request.claims && !StringUtils.isEmpty(request.claims)) {
88
- validatedRequest.requestedClaimsHash =
89
- await this.browserCrypto.hashString(request.claims);
90
- }
91
- return validatedRequest;
92
- }
93
- /**
94
- *
95
- * Use to get the redirect uri configured in MSAL or null.
96
- * @param requestRedirectUri
97
- * @returns Redirect URL
98
- *
99
- */
100
- getRedirectUri(requestRedirectUri) {
101
- this.logger.verbose("getRedirectUri called");
102
- const redirectUri = requestRedirectUri ||
103
- this.config.auth.redirectUri ||
104
- BrowserUtils.getCurrentUri();
105
- return UrlString.getAbsoluteUrl(redirectUri, BrowserUtils.getCurrentUri());
106
- }
107
- /**
108
- *
109
- * @param apiId
110
- * @param correlationId
111
- * @param forceRefresh
112
- */
113
- initializeServerTelemetryManager(apiId, forceRefresh) {
114
- this.logger.verbose("initializeServerTelemetryManager called");
115
- const telemetryPayload = {
116
- clientId: this.config.auth.clientId,
117
- correlationId: this.correlationId,
118
- apiId: apiId,
119
- forceRefresh: forceRefresh || false,
120
- wrapperSKU: this.browserStorage.getWrapperMetadata()[0],
121
- wrapperVer: this.browserStorage.getWrapperMetadata()[1],
122
- };
123
- return new ServerTelemetryManager(telemetryPayload, this.browserStorage);
124
- }
125
- /**
126
- * Used to get a discovered version of the default authority.
127
- * @param requestAuthority
128
- * @param requestCorrelationId
129
- */
130
- async getDiscoveredAuthority(requestAuthority) {
131
- this.logger.verbose("getDiscoveredAuthority called");
132
- const authorityOptions = {
133
- protocolMode: this.config.auth.protocolMode,
134
- knownAuthorities: this.config.auth.knownAuthorities,
135
- cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
136
- authorityMetadata: this.config.auth.authorityMetadata,
137
- };
138
- if (requestAuthority) {
139
- this.logger.verbose("Creating discovered authority with request authority");
140
- return await AuthorityFactory.createDiscoveredInstance(requestAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions, this.logger);
141
- }
142
- this.logger.verbose("Creating discovered authority with configured authority");
143
- return await AuthorityFactory.createDiscoveredInstance(this.config.auth.authority, this.config.system.networkClient, this.browserStorage, authorityOptions, this.logger);
144
- }
8
+ /*
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Licensed under the MIT License.
11
+ */
12
+ class BaseInteractionClient {
13
+ constructor(config, storageImpl, browserCrypto, logger, eventHandler, navigationClient, performanceClient, nativeMessageHandler, correlationId) {
14
+ this.config = config;
15
+ this.browserStorage = storageImpl;
16
+ this.browserCrypto = browserCrypto;
17
+ this.networkClient = this.config.system.networkClient;
18
+ this.eventHandler = eventHandler;
19
+ this.navigationClient = navigationClient;
20
+ this.nativeMessageHandler = nativeMessageHandler;
21
+ this.correlationId =
22
+ correlationId || this.browserCrypto.createNewGuid();
23
+ this.logger = logger.clone(BrowserConstants.MSAL_SKU, version, this.correlationId);
24
+ this.performanceClient = performanceClient;
25
+ }
26
+ async clearCacheOnLogout(account) {
27
+ if (account) {
28
+ if (AccountEntity.accountInfoIsEqual(account, this.browserStorage.getActiveAccount(), false)) {
29
+ this.logger.verbose("Setting active account to null");
30
+ this.browserStorage.setActiveAccount(null);
31
+ }
32
+ // Clear given account.
33
+ try {
34
+ await this.browserStorage.removeAccount(AccountEntity.generateAccountCacheKey(account));
35
+ this.logger.verbose("Cleared cache items belonging to the account provided in the logout request.");
36
+ }
37
+ catch (error) {
38
+ this.logger.error("Account provided in logout request was not found. Local cache unchanged.");
39
+ }
40
+ }
41
+ else {
42
+ try {
43
+ this.logger.verbose("No account provided in logout request, clearing all cache items.", this.correlationId);
44
+ // Clear all accounts and tokens
45
+ await this.browserStorage.clear();
46
+ // Clear any stray keys from IndexedDB
47
+ await this.browserCrypto.clearKeystore();
48
+ }
49
+ catch (e) {
50
+ this.logger.error("Attempted to clear all MSAL cache items and failed. Local cache unchanged.");
51
+ }
52
+ }
53
+ }
54
+ /**
55
+ * Initializer function for all request APIs
56
+ * @param request
57
+ */
58
+ async initializeBaseRequest(request) {
59
+ this.performanceClient.addQueueMeasurement(PerformanceEvents.InitializeBaseRequest, request.correlationId);
60
+ this.logger.verbose("Initializing BaseAuthRequest");
61
+ const authority = request.authority || this.config.auth.authority;
62
+ const scopes = [...((request && request.scopes) || [])];
63
+ const validatedRequest = {
64
+ ...request,
65
+ correlationId: this.correlationId,
66
+ authority,
67
+ scopes,
68
+ };
69
+ // Set authenticationScheme to BEARER if not explicitly set in the request
70
+ if (!validatedRequest.authenticationScheme) {
71
+ validatedRequest.authenticationScheme = AuthenticationScheme.BEARER;
72
+ this.logger.verbose('Authentication Scheme wasn\'t explicitly set in request, defaulting to "Bearer" request');
73
+ }
74
+ else {
75
+ if (validatedRequest.authenticationScheme ===
76
+ AuthenticationScheme.SSH) {
77
+ if (!request.sshJwk) {
78
+ throw ClientConfigurationError.createMissingSshJwkError();
79
+ }
80
+ if (!request.sshKid) {
81
+ throw ClientConfigurationError.createMissingSshKidError();
82
+ }
83
+ }
84
+ this.logger.verbose(`Authentication Scheme set to "${validatedRequest.authenticationScheme}" as configured in Auth request`);
85
+ }
86
+ // Set requested claims hash if claims were requested
87
+ if (request.claims && !StringUtils.isEmpty(request.claims)) {
88
+ validatedRequest.requestedClaimsHash =
89
+ await this.browserCrypto.hashString(request.claims);
90
+ }
91
+ return validatedRequest;
92
+ }
93
+ /**
94
+ *
95
+ * Use to get the redirect uri configured in MSAL or null.
96
+ * @param requestRedirectUri
97
+ * @returns Redirect URL
98
+ *
99
+ */
100
+ getRedirectUri(requestRedirectUri) {
101
+ this.logger.verbose("getRedirectUri called");
102
+ const redirectUri = requestRedirectUri ||
103
+ this.config.auth.redirectUri ||
104
+ BrowserUtils.getCurrentUri();
105
+ return UrlString.getAbsoluteUrl(redirectUri, BrowserUtils.getCurrentUri());
106
+ }
107
+ /**
108
+ *
109
+ * @param apiId
110
+ * @param correlationId
111
+ * @param forceRefresh
112
+ */
113
+ initializeServerTelemetryManager(apiId, forceRefresh) {
114
+ this.logger.verbose("initializeServerTelemetryManager called");
115
+ const telemetryPayload = {
116
+ clientId: this.config.auth.clientId,
117
+ correlationId: this.correlationId,
118
+ apiId: apiId,
119
+ forceRefresh: forceRefresh || false,
120
+ wrapperSKU: this.browserStorage.getWrapperMetadata()[0],
121
+ wrapperVer: this.browserStorage.getWrapperMetadata()[1],
122
+ };
123
+ return new ServerTelemetryManager(telemetryPayload, this.browserStorage);
124
+ }
125
+ /**
126
+ * Used to get a discovered version of the default authority.
127
+ * @param requestAuthority
128
+ * @param requestCorrelationId
129
+ */
130
+ async getDiscoveredAuthority(requestAuthority) {
131
+ this.logger.verbose("getDiscoveredAuthority called");
132
+ const authorityOptions = {
133
+ protocolMode: this.config.auth.protocolMode,
134
+ knownAuthorities: this.config.auth.knownAuthorities,
135
+ cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
136
+ authorityMetadata: this.config.auth.authorityMetadata,
137
+ };
138
+ if (requestAuthority) {
139
+ this.logger.verbose("Creating discovered authority with request authority");
140
+ return await AuthorityFactory.createDiscoveredInstance(requestAuthority, this.config.system.networkClient, this.browserStorage, authorityOptions, this.logger);
141
+ }
142
+ this.logger.verbose("Creating discovered authority with configured authority");
143
+ return await AuthorityFactory.createDiscoveredInstance(this.config.auth.authority, this.config.system.networkClient, this.browserStorage, authorityOptions, this.logger);
144
+ }
145
145
  }
146
146
 
147
147
  export { BaseInteractionClient };
@@ -1,5 +1,5 @@
1
- import { AuthorizationCodeClient, ClientConfiguration } from "@azure/msal-common";
2
- export declare class HybridSpaAuthorizationCodeClient extends AuthorizationCodeClient {
3
- constructor(config: ClientConfiguration);
4
- }
1
+ import { AuthorizationCodeClient, ClientConfiguration } from "@azure/msal-common";
2
+ export declare class HybridSpaAuthorizationCodeClient extends AuthorizationCodeClient {
3
+ constructor(config: ClientConfiguration);
4
+ }
5
5
  //# sourceMappingURL=HybridSpaAuthorizationCodeClient.d.ts.map
@@ -1,16 +1,16 @@
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 { AuthorizationCodeClient } from '@azure/msal-common';
4
4
 
5
- /*
6
- * Copyright (c) Microsoft Corporation. All rights reserved.
7
- * Licensed under the MIT License.
8
- */
9
- class HybridSpaAuthorizationCodeClient extends AuthorizationCodeClient {
10
- constructor(config) {
11
- super(config);
12
- this.includeRedirectUri = false;
13
- }
5
+ /*
6
+ * Copyright (c) Microsoft Corporation. All rights reserved.
7
+ * Licensed under the MIT License.
8
+ */
9
+ class HybridSpaAuthorizationCodeClient extends AuthorizationCodeClient {
10
+ constructor(config) {
11
+ super(config);
12
+ this.includeRedirectUri = false;
13
+ }
14
14
  }
15
15
 
16
16
  export { HybridSpaAuthorizationCodeClient };