@azure/msal-browser 5.6.1 → 5.6.3
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.mjs +1 -1
- package/dist/app/PublicClientApplication.mjs +1 -1
- package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
- package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
- package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
- package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
- package/dist/cache/AccountManager.mjs +1 -1
- package/dist/cache/AsyncMemoryStorage.mjs +1 -1
- package/dist/cache/BrowserCacheManager.mjs +1 -1
- package/dist/cache/CacheHelpers.mjs +1 -1
- package/dist/cache/CacheKeys.mjs +1 -1
- package/dist/cache/CookieStorage.mjs +1 -1
- package/dist/cache/DatabaseStorage.mjs +1 -1
- package/dist/cache/EncryptedData.mjs +1 -1
- package/dist/cache/LocalStorage.mjs +1 -1
- package/dist/cache/MemoryStorage.mjs +1 -1
- package/dist/cache/SessionStorage.mjs +1 -1
- package/dist/cache/TokenCache.d.ts.map +1 -1
- package/dist/cache/TokenCache.mjs +9 -9
- package/dist/cache/TokenCache.mjs.map +1 -1
- package/dist/config/Configuration.d.ts +13 -1
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.mjs +9 -2
- package/dist/config/Configuration.mjs.map +1 -1
- package/dist/controllers/NestedAppAuthController.mjs +1 -1
- package/dist/controllers/StandardController.d.ts +4 -2
- package/dist/controllers/StandardController.d.ts.map +1 -1
- package/dist/controllers/StandardController.mjs +56 -19
- package/dist/controllers/StandardController.mjs.map +1 -1
- package/dist/crypto/BrowserCrypto.mjs +1 -1
- package/dist/crypto/CryptoOps.mjs +1 -1
- package/dist/crypto/PkceGenerator.mjs +1 -1
- package/dist/crypto/SignedHttpRequest.mjs +1 -1
- package/dist/custom-auth-path/app/PublicClientApplication.mjs +1 -1
- package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
- package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
- package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
- package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
- package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
- package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
- package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +1 -1
- package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
- package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
- package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
- package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
- package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
- package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
- package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
- package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
- package/dist/custom-auth-path/cache/TokenCache.d.ts.map +1 -1
- package/dist/custom-auth-path/config/Configuration.d.ts +13 -1
- package/dist/custom-auth-path/config/Configuration.d.ts.map +1 -1
- package/dist/custom-auth-path/config/Configuration.mjs +9 -2
- package/dist/custom-auth-path/config/Configuration.mjs.map +1 -1
- package/dist/custom-auth-path/controllers/StandardController.d.ts +4 -2
- package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
- package/dist/custom-auth-path/controllers/StandardController.mjs +56 -19
- package/dist/custom-auth-path/controllers/StandardController.mjs.map +1 -1
- package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
- package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
- package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +1 -1
- package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowStateTypes.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
- package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
- package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
- package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
- package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
- package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
- package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
- package/dist/custom-auth-path/error/NativeAuthError.mjs +1 -1
- package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
- package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
- package/dist/custom-auth-path/event/EventType.mjs +1 -1
- package/dist/custom-auth-path/index.d.ts +1 -1
- package/dist/custom-auth-path/index.d.ts.map +1 -1
- package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
- package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
- package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.d.ts +10 -10
- package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
- package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +8 -8
- package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
- package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
- package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -1
- package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
- package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
- package/dist/custom-auth-path/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +21 -8
- package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs.map +1 -1
- package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
- package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +1 -1
- package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
- package/dist/custom-auth-path/interaction_handler/SilentHandler.d.ts +6 -0
- package/dist/custom-auth-path/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +12 -2
- package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs.map +1 -1
- package/dist/custom-auth-path/log-strings-mapping.json +23 -3
- package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
- package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
- package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
- package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
- package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
- package/dist/custom-auth-path/packageMetadata.mjs +2 -2
- package/dist/custom-auth-path/protocol/Authorize.mjs +1 -1
- package/dist/custom-auth-path/redirect_bridge/index.d.ts.map +1 -1
- package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
- package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
- package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts +1 -0
- package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/custom-auth-path/telemetry/BrowserPerformanceEvents.d.ts +5 -0
- package/dist/custom-auth-path/telemetry/BrowserPerformanceEvents.d.ts.map +1 -1
- package/dist/custom-auth-path/telemetry/BrowserPerformanceEvents.mjs +9 -3
- package/dist/custom-auth-path/telemetry/BrowserPerformanceEvents.mjs.map +1 -1
- package/dist/custom-auth-path/telemetry/BrowserRootPerformanceEvents.mjs +1 -1
- package/dist/custom-auth-path/utils/BrowserConstants.mjs +1 -1
- package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
- package/dist/custom-auth-path/utils/BrowserUtils.d.ts +2 -2
- package/dist/custom-auth-path/utils/BrowserUtils.d.ts.map +1 -1
- package/dist/custom-auth-path/utils/BrowserUtils.mjs +27 -3
- package/dist/custom-auth-path/utils/BrowserUtils.mjs.map +1 -1
- package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
- package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
- package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
- package/dist/encode/Base64Decode.mjs +1 -1
- package/dist/encode/Base64Encode.mjs +1 -1
- package/dist/error/BrowserAuthError.mjs +1 -1
- package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
- package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
- package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
- package/dist/error/NativeAuthError.mjs +1 -1
- package/dist/error/NativeAuthErrorCodes.mjs +1 -1
- package/dist/error/NestedAppAuthError.mjs +1 -1
- package/dist/event/EventHandler.mjs +1 -1
- package/dist/event/EventMessage.mjs +1 -1
- package/dist/event/EventType.mjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
- package/dist/interaction_client/PlatformAuthInteractionClient.d.ts +10 -10
- package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/PlatformAuthInteractionClient.mjs +8 -8
- package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
- package/dist/interaction_client/PopupClient.mjs +1 -1
- package/dist/interaction_client/RedirectClient.mjs +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
- package/dist/interaction_client/SilentCacheClient.mjs +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.mjs +21 -8
- package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
- package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
- package/dist/interaction_handler/InteractionHandler.mjs +1 -1
- package/dist/interaction_handler/SilentHandler.d.ts +6 -0
- package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/dist/interaction_handler/SilentHandler.mjs +12 -2
- package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
- package/dist/log-strings-mapping.json +31 -11
- package/dist/naa/BridgeError.mjs +1 -1
- package/dist/naa/BridgeProxy.mjs +1 -1
- package/dist/naa/BridgeStatusCode.mjs +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
- package/dist/navigation/NavigationClient.mjs +1 -1
- package/dist/network/FetchClient.mjs +1 -1
- package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
- package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
- package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/protocol/Authorize.mjs +1 -1
- package/dist/redirect-bridge/cache/CacheKeys.mjs +1 -1
- package/dist/redirect-bridge/cache/TokenCache.d.ts.map +1 -1
- package/dist/redirect-bridge/config/Configuration.d.ts +13 -1
- package/dist/redirect-bridge/config/Configuration.d.ts.map +1 -1
- package/dist/redirect-bridge/config/Configuration.mjs +1 -1
- package/dist/redirect-bridge/controllers/StandardController.d.ts +4 -2
- package/dist/redirect-bridge/controllers/StandardController.d.ts.map +1 -1
- package/dist/redirect-bridge/custom_auth/CustomAuthConstants.d.ts +1 -1
- package/dist/redirect-bridge/encode/Base64Decode.mjs +1 -1
- package/dist/redirect-bridge/error/BrowserAuthError.mjs +1 -1
- package/dist/redirect-bridge/error/BrowserAuthErrorCodes.mjs +1 -1
- package/dist/redirect-bridge/index.d.ts +1 -1
- package/dist/redirect-bridge/index.d.ts.map +1 -1
- package/dist/redirect-bridge/interaction_client/PlatformAuthInteractionClient.d.ts +10 -10
- package/dist/redirect-bridge/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
- package/dist/redirect-bridge/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/redirect-bridge/interaction_handler/SilentHandler.d.ts +6 -0
- package/dist/redirect-bridge/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/dist/redirect-bridge/navigation/NavigationClient.mjs +1 -1
- package/dist/redirect-bridge/packageMetadata.d.ts +1 -1
- package/dist/redirect-bridge/redirect_bridge/index.d.ts.map +1 -1
- package/dist/redirect-bridge/redirect_bridge/index.mjs +43 -24
- package/dist/redirect-bridge/redirect_bridge/index.mjs.map +1 -1
- package/dist/redirect-bridge/telemetry/BrowserPerformanceClient.d.ts +1 -0
- package/dist/redirect-bridge/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/redirect-bridge/telemetry/BrowserPerformanceEvents.d.ts +5 -0
- package/dist/redirect-bridge/telemetry/BrowserPerformanceEvents.d.ts.map +1 -1
- package/dist/redirect-bridge/utils/BrowserConstants.mjs +1 -1
- package/dist/redirect-bridge/utils/BrowserUtils.d.ts +2 -2
- package/dist/redirect-bridge/utils/BrowserUtils.d.ts.map +1 -1
- package/dist/redirect-bridge/utils/BrowserUtils.mjs +1 -1
- package/dist/redirect-bridge/utils/BrowserUtils.mjs.map +1 -1
- package/dist/redirect_bridge/index.d.ts.map +1 -1
- package/dist/request/RequestHelpers.mjs +1 -1
- package/dist/response/ResponseHandler.mjs +1 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts +1 -0
- package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.mjs +6 -1
- package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
- package/dist/telemetry/BrowserPerformanceEvents.d.ts +5 -0
- package/dist/telemetry/BrowserPerformanceEvents.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceEvents.mjs +9 -3
- package/dist/telemetry/BrowserPerformanceEvents.mjs.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
- package/dist/telemetry/BrowserRootPerformanceEvents.mjs +1 -1
- package/dist/utils/BrowserConstants.mjs +1 -1
- package/dist/utils/BrowserProtocolUtils.mjs +1 -1
- package/dist/utils/BrowserUtils.d.ts +2 -2
- package/dist/utils/BrowserUtils.d.ts.map +1 -1
- package/dist/utils/BrowserUtils.mjs +27 -3
- package/dist/utils/BrowserUtils.mjs.map +1 -1
- package/dist/utils/Helpers.mjs +1 -1
- package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
- package/lib/custom-auth-path/log-strings-mapping.json +23 -3
- package/lib/custom-auth-path/msal-custom-auth.cjs +649 -546
- package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
- package/lib/custom-auth-path/types/cache/TokenCache.d.ts.map +1 -1
- package/lib/custom-auth-path/types/config/Configuration.d.ts +13 -1
- package/lib/custom-auth-path/types/config/Configuration.d.ts.map +1 -1
- package/lib/custom-auth-path/types/controllers/StandardController.d.ts +4 -2
- package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
- package/lib/custom-auth-path/types/index.d.ts +1 -1
- package/lib/custom-auth-path/types/index.d.ts.map +1 -1
- package/lib/custom-auth-path/types/interaction_client/PlatformAuthInteractionClient.d.ts +10 -10
- package/lib/custom-auth-path/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/interaction_handler/SilentHandler.d.ts +6 -0
- package/lib/custom-auth-path/types/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
- package/lib/custom-auth-path/types/redirect_bridge/index.d.ts.map +1 -1
- package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts +1 -0
- package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/telemetry/BrowserPerformanceEvents.d.ts +5 -0
- package/lib/custom-auth-path/types/telemetry/BrowserPerformanceEvents.d.ts.map +1 -1
- package/lib/custom-auth-path/types/utils/BrowserUtils.d.ts +2 -2
- package/lib/custom-auth-path/types/utils/BrowserUtils.d.ts.map +1 -1
- package/lib/log-strings-mapping.json +31 -11
- package/lib/msal-browser.cjs +794 -685
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +794 -685
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +2 -2
- package/lib/redirect-bridge/msal-redirect-bridge.js +52 -33
- package/lib/redirect-bridge/msal-redirect-bridge.js.map +1 -1
- package/lib/redirect-bridge/msal-redirect-bridge.min.js +2 -2
- package/lib/types/cache/TokenCache.d.ts.map +1 -1
- package/lib/types/config/Configuration.d.ts +13 -1
- package/lib/types/config/Configuration.d.ts.map +1 -1
- package/lib/types/controllers/StandardController.d.ts +4 -2
- package/lib/types/controllers/StandardController.d.ts.map +1 -1
- package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts +10 -10
- package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
- package/lib/types/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/lib/types/interaction_handler/SilentHandler.d.ts +6 -0
- package/lib/types/interaction_handler/SilentHandler.d.ts.map +1 -1
- package/lib/types/packageMetadata.d.ts +1 -1
- package/lib/types/redirect_bridge/index.d.ts.map +1 -1
- package/lib/types/telemetry/BrowserPerformanceClient.d.ts +1 -0
- package/lib/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/lib/types/telemetry/BrowserPerformanceEvents.d.ts +5 -0
- package/lib/types/telemetry/BrowserPerformanceEvents.d.ts.map +1 -1
- package/lib/types/utils/BrowserUtils.d.ts +2 -2
- package/lib/types/utils/BrowserUtils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/cache/TokenCache.ts +27 -24
- package/src/config/Configuration.ts +22 -0
- package/src/controllers/StandardController.ts +84 -35
- package/src/index.ts +1 -0
- package/src/interaction_client/PlatformAuthInteractionClient.ts +55 -53
- package/src/interaction_client/SilentIframeClient.ts +55 -29
- package/src/interaction_handler/SilentHandler.ts +11 -0
- package/src/packageMetadata.ts +1 -1
- package/src/redirect_bridge/index.ts +47 -25
- package/src/telemetry/BrowserPerformanceClient.ts +6 -0
- package/src/telemetry/BrowserPerformanceEvents.ts +6 -0
- package/src/utils/BrowserUtils.ts +36 -4
|
@@ -4,80 +4,80 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
AuthToken,
|
|
7
|
+
AADServerParamKeys,
|
|
8
|
+
AccessTokenEntity,
|
|
10
9
|
AccountEntity,
|
|
10
|
+
AccountEntityUtils,
|
|
11
|
+
AccountInfo,
|
|
12
|
+
AuthError,
|
|
13
|
+
AuthToken,
|
|
11
14
|
AuthorityType,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
CacheHelpers,
|
|
16
|
+
ClientAuthErrorCodes,
|
|
17
|
+
CommonSilentFlowRequest,
|
|
18
|
+
Constants,
|
|
19
|
+
ICrypto,
|
|
17
20
|
IPerformanceClient,
|
|
18
21
|
IdTokenEntity,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
InProgressPerformanceEvent,
|
|
23
|
+
Logger,
|
|
24
|
+
PerformanceEvents,
|
|
25
|
+
PopTokenGenerator,
|
|
26
|
+
ScopeSet,
|
|
27
|
+
ServerTelemetryManager,
|
|
28
|
+
SignedHttpRequestParameters,
|
|
29
|
+
TimeUtils,
|
|
24
30
|
TokenClaims,
|
|
31
|
+
UrlString,
|
|
32
|
+
buildAccountToCache,
|
|
25
33
|
createClientAuthError,
|
|
26
|
-
ClientAuthErrorCodes,
|
|
27
34
|
invokeAsync,
|
|
28
35
|
updateAccountTenantProfileData,
|
|
29
|
-
CacheHelpers,
|
|
30
|
-
buildAccountToCache,
|
|
31
|
-
InProgressPerformanceEvent,
|
|
32
|
-
ServerTelemetryManager,
|
|
33
|
-
AccountEntityUtils,
|
|
34
|
-
Constants,
|
|
35
|
-
PerformanceEvents,
|
|
36
36
|
} from "@azure/msal-common/browser";
|
|
37
|
-
import {
|
|
38
|
-
BaseInteractionClient,
|
|
39
|
-
getDiscoveredAuthority,
|
|
40
|
-
getRedirectUri,
|
|
41
|
-
initializeServerTelemetryManager,
|
|
42
|
-
} from "./BaseInteractionClient.js";
|
|
43
|
-
import * as BrowserPerformanceEvents from "../telemetry/BrowserPerformanceEvents.js";
|
|
44
|
-
import { BrowserConfiguration } from "../config/Configuration.js";
|
|
45
|
-
import { BrowserCacheManager } from "../cache/BrowserCacheManager.js";
|
|
46
|
-
import { EventHandler } from "../event/EventHandler.js";
|
|
47
|
-
import { PopupRequest } from "../request/PopupRequest.js";
|
|
48
|
-
import { SilentRequest } from "../request/SilentRequest.js";
|
|
49
|
-
import { SsoSilentRequest } from "../request/SsoSilentRequest.js";
|
|
50
|
-
import {
|
|
51
|
-
ApiId,
|
|
52
|
-
TemporaryCacheKeys,
|
|
53
|
-
PlatformAuthConstants,
|
|
54
|
-
BrowserConstants,
|
|
55
|
-
CacheLookupPolicy,
|
|
56
|
-
} from "../utils/BrowserConstants.js";
|
|
37
|
+
import { IPlatformAuthHandler } from "../broker/nativeBroker/IPlatformAuthHandler.js";
|
|
57
38
|
import { PlatformAuthRequest } from "../broker/nativeBroker/PlatformAuthRequest.js";
|
|
58
39
|
import {
|
|
59
40
|
MATS,
|
|
60
41
|
PlatformAuthResponse,
|
|
61
42
|
} from "../broker/nativeBroker/PlatformAuthResponse.js";
|
|
43
|
+
import { BrowserCacheManager } from "../cache/BrowserCacheManager.js";
|
|
44
|
+
import { BrowserConfiguration } from "../config/Configuration.js";
|
|
45
|
+
import { base64Decode } from "../encode/Base64Decode.js";
|
|
46
|
+
import {
|
|
47
|
+
BrowserAuthErrorCodes,
|
|
48
|
+
createBrowserAuthError,
|
|
49
|
+
} from "../error/BrowserAuthError.js";
|
|
62
50
|
import {
|
|
63
51
|
NativeAuthError,
|
|
64
52
|
NativeAuthErrorCodes,
|
|
65
53
|
createNativeAuthError,
|
|
66
54
|
isFatalNativeAuthError,
|
|
67
55
|
} from "../error/NativeAuthError.js";
|
|
68
|
-
import {
|
|
69
|
-
import { NavigationOptions } from "../navigation/NavigationOptions.js";
|
|
56
|
+
import { EventHandler } from "../event/EventHandler.js";
|
|
70
57
|
import { INavigationClient } from "../navigation/INavigationClient.js";
|
|
71
|
-
import {
|
|
72
|
-
createBrowserAuthError,
|
|
73
|
-
BrowserAuthErrorCodes,
|
|
74
|
-
} from "../error/BrowserAuthError.js";
|
|
75
|
-
import { SilentCacheClient } from "./SilentCacheClient.js";
|
|
76
|
-
import { AuthenticationResult } from "../response/AuthenticationResult.js";
|
|
77
|
-
import { base64Decode } from "../encode/Base64Decode.js";
|
|
58
|
+
import { NavigationOptions } from "../navigation/NavigationOptions.js";
|
|
78
59
|
import { version } from "../packageMetadata.js";
|
|
79
|
-
import { IPlatformAuthHandler } from "../broker/nativeBroker/IPlatformAuthHandler.js";
|
|
80
60
|
import { HandleRedirectPromiseOptions } from "../request/HandleRedirectPromiseOptions.js";
|
|
61
|
+
import { PopupRequest } from "../request/PopupRequest.js";
|
|
62
|
+
import { RedirectRequest } from "../request/RedirectRequest.js";
|
|
63
|
+
import { SilentRequest } from "../request/SilentRequest.js";
|
|
64
|
+
import { SsoSilentRequest } from "../request/SsoSilentRequest.js";
|
|
65
|
+
import { AuthenticationResult } from "../response/AuthenticationResult.js";
|
|
66
|
+
import * as BrowserPerformanceEvents from "../telemetry/BrowserPerformanceEvents.js";
|
|
67
|
+
import {
|
|
68
|
+
ApiId,
|
|
69
|
+
BrowserConstants,
|
|
70
|
+
CacheLookupPolicy,
|
|
71
|
+
PlatformAuthConstants,
|
|
72
|
+
TemporaryCacheKeys,
|
|
73
|
+
} from "../utils/BrowserConstants.js";
|
|
74
|
+
import {
|
|
75
|
+
BaseInteractionClient,
|
|
76
|
+
getDiscoveredAuthority,
|
|
77
|
+
getRedirectUri,
|
|
78
|
+
initializeServerTelemetryManager,
|
|
79
|
+
} from "./BaseInteractionClient.js";
|
|
80
|
+
import { SilentCacheClient } from "./SilentCacheClient.js";
|
|
81
81
|
|
|
82
82
|
export class PlatformAuthInteractionClient extends BaseInteractionClient {
|
|
83
83
|
protected apiId: ApiId;
|
|
@@ -542,10 +542,12 @@ export class PlatformAuthInteractionClient extends BaseInteractionClient {
|
|
|
542
542
|
this.correlationId,
|
|
543
543
|
idTokenClaims,
|
|
544
544
|
response.client_info,
|
|
545
|
-
|
|
545
|
+
authority.getPreferredCache(), // environment
|
|
546
546
|
idTokenClaims.tid,
|
|
547
547
|
undefined, // auth code payload
|
|
548
|
-
response.account.id
|
|
548
|
+
response.account.id,
|
|
549
|
+
this.logger,
|
|
550
|
+
this.performanceClient
|
|
549
551
|
);
|
|
550
552
|
|
|
551
553
|
// Ensure expires_in is in number format
|
|
@@ -38,6 +38,7 @@ import {
|
|
|
38
38
|
initiateCodeRequest,
|
|
39
39
|
initiateCodeFlowWithPost,
|
|
40
40
|
initiateEarRequest,
|
|
41
|
+
removeHiddenIframe,
|
|
41
42
|
} from "../interaction_handler/SilentHandler.js";
|
|
42
43
|
import { SsoSilentRequest } from "../request/SsoSilentRequest.js";
|
|
43
44
|
import { AuthenticationResult } from "../response/AuthenticationResult.js";
|
|
@@ -276,7 +277,7 @@ export class SilentIframeClient extends StandardInteractionClient {
|
|
|
276
277
|
earJwk: earJwk,
|
|
277
278
|
codeChallenge: pkceCodes.challenge,
|
|
278
279
|
};
|
|
279
|
-
await invokeAsync(
|
|
280
|
+
const iframe = await invokeAsync(
|
|
280
281
|
initiateEarRequest,
|
|
281
282
|
BrowserPerformanceEvents.SilentHandlerInitiateAuthRequest,
|
|
282
283
|
this.logger,
|
|
@@ -291,19 +292,31 @@ export class SilentIframeClient extends StandardInteractionClient {
|
|
|
291
292
|
);
|
|
292
293
|
|
|
293
294
|
const responseType = this.config.auth.OIDCOptions.responseMode;
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
295
|
+
let responseString: string;
|
|
296
|
+
try {
|
|
297
|
+
responseString = await invokeAsync(
|
|
298
|
+
BrowserUtils.waitForBridgeResponse,
|
|
299
|
+
BrowserPerformanceEvents.SilentHandlerMonitorIframeForHash,
|
|
300
|
+
this.logger,
|
|
301
|
+
this.performanceClient,
|
|
302
|
+
correlationId
|
|
303
|
+
)(
|
|
304
|
+
this.config.system.iframeBridgeTimeout,
|
|
305
|
+
this.logger,
|
|
306
|
+
this.browserCrypto,
|
|
307
|
+
request,
|
|
308
|
+
this.performanceClient,
|
|
309
|
+
this.config.experimental
|
|
310
|
+
);
|
|
311
|
+
} finally {
|
|
312
|
+
invoke(
|
|
313
|
+
removeHiddenIframe,
|
|
314
|
+
BrowserPerformanceEvents.RemoveHiddenIframe,
|
|
315
|
+
this.logger,
|
|
316
|
+
this.performanceClient,
|
|
317
|
+
correlationId
|
|
318
|
+
)(iframe);
|
|
319
|
+
}
|
|
307
320
|
|
|
308
321
|
const serverParams = invoke(
|
|
309
322
|
ResponseHandler.deserializeResponse,
|
|
@@ -415,8 +428,9 @@ export class SilentIframeClient extends StandardInteractionClient {
|
|
|
415
428
|
codeChallenge: pkceCodes.challenge,
|
|
416
429
|
};
|
|
417
430
|
|
|
431
|
+
let iframe: HTMLIFrameElement;
|
|
418
432
|
if (request.httpMethod === Constants.HttpMethod.POST) {
|
|
419
|
-
await invokeAsync(
|
|
433
|
+
iframe = await invokeAsync(
|
|
420
434
|
initiateCodeFlowWithPost,
|
|
421
435
|
BrowserPerformanceEvents.SilentHandlerInitiateAuthRequest,
|
|
422
436
|
this.logger,
|
|
@@ -446,7 +460,7 @@ export class SilentIframeClient extends StandardInteractionClient {
|
|
|
446
460
|
);
|
|
447
461
|
|
|
448
462
|
// Get the frame handle for the silent request
|
|
449
|
-
await invokeAsync(
|
|
463
|
+
iframe = await invokeAsync(
|
|
450
464
|
initiateCodeRequest,
|
|
451
465
|
BrowserPerformanceEvents.SilentHandlerInitiateAuthRequest,
|
|
452
466
|
this.logger,
|
|
@@ -457,19 +471,31 @@ export class SilentIframeClient extends StandardInteractionClient {
|
|
|
457
471
|
|
|
458
472
|
const responseType = this.config.auth.OIDCOptions.responseMode;
|
|
459
473
|
// Wait for response from the redirect bridge.
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
474
|
+
let responseString: string;
|
|
475
|
+
try {
|
|
476
|
+
responseString = await invokeAsync(
|
|
477
|
+
BrowserUtils.waitForBridgeResponse,
|
|
478
|
+
BrowserPerformanceEvents.SilentHandlerMonitorIframeForHash,
|
|
479
|
+
this.logger,
|
|
480
|
+
this.performanceClient,
|
|
481
|
+
correlationId
|
|
482
|
+
)(
|
|
483
|
+
this.config.system.iframeBridgeTimeout,
|
|
484
|
+
this.logger,
|
|
485
|
+
this.browserCrypto,
|
|
486
|
+
request,
|
|
487
|
+
this.performanceClient,
|
|
488
|
+
this.config.experimental
|
|
489
|
+
);
|
|
490
|
+
} finally {
|
|
491
|
+
invoke(
|
|
492
|
+
removeHiddenIframe,
|
|
493
|
+
BrowserPerformanceEvents.RemoveHiddenIframe,
|
|
494
|
+
this.logger,
|
|
495
|
+
this.performanceClient,
|
|
496
|
+
correlationId
|
|
497
|
+
)(iframe);
|
|
498
|
+
}
|
|
473
499
|
|
|
474
500
|
const serverParams = invoke(
|
|
475
501
|
ResponseHandler.deserializeResponse,
|
|
@@ -127,3 +127,14 @@ function createHiddenIframe(): HTMLIFrameElement {
|
|
|
127
127
|
|
|
128
128
|
return authFrame;
|
|
129
129
|
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* @hidden
|
|
133
|
+
* Removes a hidden iframe from `document.body` if it is a direct child.
|
|
134
|
+
* @param iframe - The iframe element to remove.
|
|
135
|
+
*/
|
|
136
|
+
export function removeHiddenIframe(iframe: HTMLIFrameElement): void {
|
|
137
|
+
if (document.body === iframe.parentNode) {
|
|
138
|
+
document.body.removeChild(iframe);
|
|
139
|
+
}
|
|
140
|
+
}
|
package/src/packageMetadata.ts
CHANGED
|
@@ -66,39 +66,61 @@ export async function broadcastResponseToMainFrame(
|
|
|
66
66
|
};
|
|
67
67
|
|
|
68
68
|
let navigateToUrl = "";
|
|
69
|
+
let clientId = "";
|
|
69
70
|
const interactionKey = `${PREFIX}.${TemporaryCacheKeys.INTERACTION_STATUS_KEY}`;
|
|
71
|
+
/*
|
|
72
|
+
* Retrieve the clientId and original navigation URL from
|
|
73
|
+
* sessionStorage. If sessionStorage access or JSON.parse fails,
|
|
74
|
+
* we fall back to URL-based navigation below.
|
|
75
|
+
*/
|
|
70
76
|
try {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
);
|
|
77
|
+
const rawInteractionStatus =
|
|
78
|
+
window.sessionStorage.getItem(interactionKey);
|
|
79
|
+
const interactionStatus = JSON.parse(rawInteractionStatus || "");
|
|
80
|
+
clientId = interactionStatus.clientId || "";
|
|
81
|
+
|
|
77
82
|
if (clientId) {
|
|
78
|
-
const
|
|
79
|
-
navigateToUrl = window.sessionStorage.getItem(
|
|
83
|
+
const originKey = `${PREFIX}.${clientId}.${TemporaryCacheKeys.ORIGIN_URI}`;
|
|
84
|
+
navigateToUrl = window.sessionStorage.getItem(originKey) || "";
|
|
80
85
|
}
|
|
81
|
-
} catch
|
|
82
|
-
//
|
|
86
|
+
} catch {
|
|
87
|
+
// sessionStorage access or JSON.parse failed
|
|
83
88
|
}
|
|
84
89
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
90
|
+
/*
|
|
91
|
+
* Cache the auth response payload in sessionStorage under the URL_HASH
|
|
92
|
+
* key, then navigate directly to the origin URL. This replicates what
|
|
93
|
+
* RedirectClient.handleRedirectPromise does when the current page is
|
|
94
|
+
* not the loginRequestUrl: it caches the response and navigates.
|
|
95
|
+
*
|
|
96
|
+
* On the target page, handleRedirectPromise will find no response in
|
|
97
|
+
* the URL but will pick up the cached payload from sessionStorage.
|
|
98
|
+
* This avoids appending the auth response to the URL, which would
|
|
99
|
+
* create malformed URLs for hash-routed SPAs (e.g. /#/route#code=...).
|
|
100
|
+
*
|
|
101
|
+
* If caching fails (clientId unavailable, quota exceeded, storage
|
|
102
|
+
* disabled), we still navigate to the origin/homepage. The target
|
|
103
|
+
* page's handleRedirectPromise will return null and the app can
|
|
104
|
+
* handle re-authentication. Appending auth params to the URL would
|
|
105
|
+
* not help because handleRedirectPromise also relies on
|
|
106
|
+
* sessionStorage to persist tokens.
|
|
107
|
+
*/
|
|
108
|
+
if (clientId) {
|
|
109
|
+
try {
|
|
110
|
+
window.sessionStorage.setItem(
|
|
111
|
+
`${PREFIX}.${clientId}.${TemporaryCacheKeys.URL_HASH}`,
|
|
112
|
+
payload
|
|
113
|
+
);
|
|
114
|
+
} catch {
|
|
115
|
+
// sessionStorage write failed — navigate anyway; handleRedirectPromise will return null
|
|
116
|
+
}
|
|
96
117
|
}
|
|
97
118
|
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
119
|
+
const url = navigateToUrl || BrowserUtils.getHomepage();
|
|
120
|
+
// Strip bare trailing "?" (empty query string) to match canonical URL form
|
|
121
|
+
const navigationUrl = url.endsWith("?") ? url.slice(0, -1) : url;
|
|
122
|
+
|
|
123
|
+
await navClient.navigateInternal(navigationUrl, navigationOptions);
|
|
102
124
|
|
|
103
125
|
// Do NOT clear URL for redirect flow - we're navigating away anyway
|
|
104
126
|
return;
|
|
@@ -94,6 +94,10 @@ export class BrowserPerformanceClient
|
|
|
94
94
|
return document.visibilityState?.toString() || null;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
+
private getOnlineStatus(): boolean | null {
|
|
98
|
+
return typeof navigator !== "undefined" ? navigator.onLine : null;
|
|
99
|
+
}
|
|
100
|
+
|
|
97
101
|
private deleteIncompleteSubMeasurements(
|
|
98
102
|
inProgressEvent: InProgressPerformanceEvent
|
|
99
103
|
): void {
|
|
@@ -134,6 +138,7 @@ export class BrowserPerformanceClient
|
|
|
134
138
|
): InProgressPerformanceEvent {
|
|
135
139
|
// Capture page visibilityState and then invoke start/end measurement
|
|
136
140
|
const startPageVisibility = this.getPageVisibility();
|
|
141
|
+
const startOnlineStatus = this.getOnlineStatus();
|
|
137
142
|
const inProgressEvent = super.startMeasurement(
|
|
138
143
|
measureName,
|
|
139
144
|
correlationId
|
|
@@ -166,6 +171,7 @@ export class BrowserPerformanceClient
|
|
|
166
171
|
{
|
|
167
172
|
...event,
|
|
168
173
|
startPageVisibility,
|
|
174
|
+
startOnlineStatus,
|
|
169
175
|
endPageVisibility: this.getPageVisibility(),
|
|
170
176
|
durationMs: getPerfDurationMs(startTime),
|
|
171
177
|
networkEffectiveType: networkInfo.effectiveType,
|
|
@@ -184,3 +184,9 @@ export const LoadAccount = "loadAccount";
|
|
|
184
184
|
export const LoadIdToken = "loadIdToken";
|
|
185
185
|
export const LoadAccessToken = "loadAccessToken";
|
|
186
186
|
export const LoadRefreshToken = "loadRefreshToken";
|
|
187
|
+
|
|
188
|
+
/**
|
|
189
|
+
* Background telemetry measurement that tracks whether a late bridge response
|
|
190
|
+
* arrives after the iframe timeout has already fired.
|
|
191
|
+
*/
|
|
192
|
+
export const WaitForBridgeLateResponse = "waitForBridgeLateResponse";
|
|
@@ -11,11 +11,13 @@ import {
|
|
|
11
11
|
RequestParameterBuilder,
|
|
12
12
|
ICrypto,
|
|
13
13
|
IPerformanceClient,
|
|
14
|
+
InProgressPerformanceEvent,
|
|
14
15
|
Logger,
|
|
15
16
|
CommonAuthorizationUrlRequest,
|
|
16
17
|
CommonEndSessionRequest,
|
|
17
18
|
ProtocolUtils,
|
|
18
19
|
} from "@azure/msal-common/browser";
|
|
20
|
+
import * as BrowserPerformanceEvents from "../telemetry/BrowserPerformanceEvents.js";
|
|
19
21
|
import {
|
|
20
22
|
createBrowserAuthError,
|
|
21
23
|
BrowserAuthErrorCodes,
|
|
@@ -26,7 +28,10 @@ import {
|
|
|
26
28
|
BrowserConfigurationAuthErrorCodes,
|
|
27
29
|
createBrowserConfigurationAuthError,
|
|
28
30
|
} from "../error/BrowserConfigurationAuthError.js";
|
|
29
|
-
import {
|
|
31
|
+
import {
|
|
32
|
+
BrowserConfiguration,
|
|
33
|
+
BrowserExperimentalOptions,
|
|
34
|
+
} from "../config/Configuration.js";
|
|
30
35
|
import { redirectBridgeEmptyResponse } from "../error/BrowserAuthErrorCodes.js";
|
|
31
36
|
import { base64Decode } from "../encode/Base64Decode.js";
|
|
32
37
|
|
|
@@ -236,7 +241,8 @@ export async function waitForBridgeResponse(
|
|
|
236
241
|
logger: Logger,
|
|
237
242
|
browserCrypto: ICrypto,
|
|
238
243
|
request: CommonAuthorizationUrlRequest | CommonEndSessionRequest,
|
|
239
|
-
performanceClient: IPerformanceClient
|
|
244
|
+
performanceClient: IPerformanceClient,
|
|
245
|
+
experimentalConfig?: BrowserExperimentalOptions
|
|
240
246
|
): Promise<string> {
|
|
241
247
|
return new Promise<string>((resolve, reject) => {
|
|
242
248
|
logger.verbose(
|
|
@@ -249,6 +255,8 @@ export async function waitForBridgeResponse(
|
|
|
249
255
|
performanceClient.addFields(
|
|
250
256
|
{
|
|
251
257
|
redirectBridgeTimeoutMs: timeoutMs,
|
|
258
|
+
lateResponseExperimentEnabled:
|
|
259
|
+
experimentalConfig?.iframeTimeoutTelemetry || false,
|
|
252
260
|
},
|
|
253
261
|
correlationId
|
|
254
262
|
);
|
|
@@ -259,12 +267,27 @@ export async function waitForBridgeResponse(
|
|
|
259
267
|
);
|
|
260
268
|
const channel = new BroadcastChannel(libraryState.id);
|
|
261
269
|
let responseString: string | undefined = undefined;
|
|
270
|
+
let timedOut = false;
|
|
271
|
+
let lateTimeoutId: number | undefined;
|
|
272
|
+
let lateMeasurement: InProgressPerformanceEvent | undefined;
|
|
262
273
|
|
|
263
274
|
const timeoutId = window.setTimeout(() => {
|
|
264
275
|
// Clear the active monitor
|
|
265
276
|
activeBridgeMonitor = null;
|
|
266
|
-
|
|
267
|
-
|
|
277
|
+
if (experimentalConfig?.iframeTimeoutTelemetry) {
|
|
278
|
+
lateMeasurement = performanceClient.startMeasurement(
|
|
279
|
+
BrowserPerformanceEvents.WaitForBridgeLateResponse,
|
|
280
|
+
correlationId
|
|
281
|
+
);
|
|
282
|
+
timedOut = true;
|
|
283
|
+
lateTimeoutId = window.setTimeout(() => {
|
|
284
|
+
lateMeasurement?.end({ success: false });
|
|
285
|
+
clearTimeout(lateTimeoutId);
|
|
286
|
+
channel.close();
|
|
287
|
+
}, 60000); // 60s late response timeout to allow for telemetry of late responses
|
|
288
|
+
} else {
|
|
289
|
+
channel.close();
|
|
290
|
+
}
|
|
268
291
|
reject(
|
|
269
292
|
createBrowserAuthError(
|
|
270
293
|
BrowserAuthErrorCodes.timedOut,
|
|
@@ -288,6 +311,15 @@ export async function waitForBridgeResponse(
|
|
|
288
311
|
? event.data.v
|
|
289
312
|
: undefined;
|
|
290
313
|
|
|
314
|
+
if (timedOut) {
|
|
315
|
+
lateMeasurement?.end({
|
|
316
|
+
success: responseString ? true : false,
|
|
317
|
+
});
|
|
318
|
+
clearTimeout(lateTimeoutId);
|
|
319
|
+
channel.close();
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
|
|
291
323
|
performanceClient.addFields(
|
|
292
324
|
{
|
|
293
325
|
redirectBridgeMessageVersion: messageVersion,
|