@azure/msal-browser 5.16.0 → 5.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/IPublicClientApplication.mjs +1 -1
- package/dist/app/IPublicClientApplication.mjs.map +1 -1
- package/dist/app/PublicClientApplication.mjs +1 -1
- package/dist/app/PublicClientApplication.mjs.map +1 -1
- package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
- package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
- package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs.map +1 -1
- package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
- package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs.map +1 -1
- package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
- package/dist/broker/nativeBroker/PlatformAuthProvider.mjs.map +1 -1
- package/dist/cache/AccountManager.mjs +1 -1
- package/dist/cache/AccountManager.mjs.map +1 -1
- package/dist/cache/AsyncMemoryStorage.mjs +1 -1
- package/dist/cache/AsyncMemoryStorage.mjs.map +1 -1
- package/dist/cache/BrowserCacheManager.mjs +1 -1
- package/dist/cache/BrowserCacheManager.mjs.map +1 -1
- package/dist/cache/CacheHelpers.mjs +1 -1
- package/dist/cache/CacheHelpers.mjs.map +1 -1
- package/dist/cache/CacheKeys.mjs +1 -1
- package/dist/cache/CacheKeys.mjs.map +1 -1
- package/dist/cache/CookieStorage.mjs +1 -1
- package/dist/cache/CookieStorage.mjs.map +1 -1
- package/dist/cache/DatabaseStorage.mjs +1 -1
- package/dist/cache/DatabaseStorage.mjs.map +1 -1
- package/dist/cache/EncryptedData.mjs +1 -1
- package/dist/cache/LocalStorage.mjs +1 -1
- package/dist/cache/LocalStorage.mjs.map +1 -1
- package/dist/cache/MemoryStorage.mjs +1 -1
- package/dist/cache/MemoryStorage.mjs.map +1 -1
- package/dist/cache/SessionStorage.mjs +1 -1
- package/dist/cache/SessionStorage.mjs.map +1 -1
- package/dist/cache/TokenCache.mjs +1 -1
- package/dist/cache/TokenCache.mjs.map +1 -1
- package/dist/config/Configuration.mjs +2 -1
- package/dist/config/Configuration.mjs.map +1 -1
- package/dist/controllers/NestedAppAuthController.mjs +1 -1
- package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
- package/dist/controllers/StandardController.mjs +2 -2
- package/dist/controllers/StandardController.mjs.map +1 -1
- package/dist/crypto/BrowserCrypto.mjs +1 -1
- package/dist/crypto/BrowserCrypto.mjs.map +1 -1
- package/dist/crypto/CryptoOps.mjs +1 -1
- package/dist/crypto/CryptoOps.mjs.map +1 -1
- package/dist/crypto/PkceGenerator.mjs +1 -1
- package/dist/crypto/PkceGenerator.mjs.map +1 -1
- package/dist/crypto/SignedHttpRequest.mjs +1 -1
- package/dist/crypto/SignedHttpRequest.mjs.map +1 -1
- package/dist/custom_auth/CustomAuthConstants.mjs +1 -1
- package/dist/custom_auth/CustomAuthConstants.mjs.map +1 -1
- package/dist/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
- package/dist/custom_auth/CustomAuthPublicClientApplication.mjs.map +1 -1
- package/dist/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
- package/dist/custom_auth/controller/CustomAuthStandardController.mjs.map +1 -1
- package/dist/custom_auth/core/CustomAuthAuthority.mjs +1 -1
- package/dist/custom_auth/core/CustomAuthAuthority.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/AuthFlowResultBase.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/AuthFlowState.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/AuthFlowStateTypes.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs.map +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/state/MfaState.mjs +1 -1
- package/dist/custom_auth/core/auth_flow/mfa/state/MfaState.mjs.map +1 -1
- package/dist/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
- package/dist/custom_auth/core/error/CustomAuthApiError.mjs.map +1 -1
- package/dist/custom_auth/core/error/CustomAuthError.mjs +1 -1
- package/dist/custom_auth/core/error/CustomAuthError.mjs.map +1 -1
- package/dist/custom_auth/core/error/HttpError.mjs +1 -1
- package/dist/custom_auth/core/error/HttpError.mjs.map +1 -1
- package/dist/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
- package/dist/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
- package/dist/custom_auth/core/error/InvalidArgumentError.mjs.map +1 -1
- package/dist/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
- package/dist/custom_auth/core/error/InvalidConfigurationError.mjs.map +1 -1
- package/dist/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
- package/dist/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
- package/dist/custom_auth/core/error/MethodNotImplementedError.mjs.map +1 -1
- package/dist/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
- package/dist/custom_auth/core/error/MsalCustomAuthError.mjs.map +1 -1
- package/dist/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
- package/dist/custom_auth/core/error/NoCachedAccountFoundError.mjs.map +1 -1
- package/dist/custom_auth/core/error/ParsedUrlError.mjs +1 -1
- package/dist/custom_auth/core/error/ParsedUrlError.mjs.map +1 -1
- package/dist/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
- package/dist/custom_auth/core/error/UnexpectedError.mjs +1 -1
- package/dist/custom_auth/core/error/UnexpectedError.mjs.map +1 -1
- package/dist/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
- package/dist/custom_auth/core/error/UnsupportedEnvironmentError.mjs.map +1 -1
- package/dist/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
- package/dist/custom_auth/core/error/UserAccountAttributeError.mjs.map +1 -1
- package/dist/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
- package/dist/custom_auth/core/error/UserAlreadySignedInError.mjs.map +1 -1
- package/dist/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
- package/dist/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs.map +1 -1
- package/dist/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
- package/dist/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs.map +1 -1
- package/dist/custom_auth/core/interaction_client/jit/JitClient.mjs +1 -1
- package/dist/custom_auth/core/interaction_client/jit/JitClient.mjs.map +1 -1
- package/dist/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +1 -1
- package/dist/custom_auth/core/interaction_client/mfa/MfaClient.mjs +1 -1
- package/dist/custom_auth/core/interaction_client/mfa/MfaClient.mjs.map +1 -1
- package/dist/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs.map +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs.map +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs.map +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs.map +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs.map +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs.map +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
- package/dist/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
- package/dist/custom_auth/core/network_client/http_client/FetchHttpClient.mjs.map +1 -1
- package/dist/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
- package/dist/custom_auth/core/network_client/http_client/IHttpClient.mjs.map +1 -1
- package/dist/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
- package/dist/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
- package/dist/custom_auth/core/utils/ArgumentValidator.mjs.map +1 -1
- package/dist/custom_auth/core/utils/CustomHeaderUtils.mjs +1 -1
- package/dist/custom_auth/core/utils/CustomHeaderUtils.mjs.map +1 -1
- package/dist/custom_auth/core/utils/UrlUtils.mjs +1 -1
- package/dist/custom_auth/core/utils/UrlUtils.mjs.map +1 -1
- package/dist/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
- package/dist/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs.map +1 -1
- package/dist/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
- package/dist/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs.map +1 -1
- package/dist/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
- package/dist/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs.map +1 -1
- package/dist/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
- package/dist/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs.map +1 -1
- package/dist/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
- package/dist/custom_auth/get_account/auth_flow/result/SignOutResult.mjs.map +1 -1
- package/dist/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
- package/dist/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs.map +1 -1
- package/dist/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
- package/dist/custom_auth/get_account/auth_flow/state/GetAccountState.mjs.map +1 -1
- package/dist/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
- package/dist/custom_auth/get_account/auth_flow/state/SignOutState.mjs.map +1 -1
- package/dist/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
- package/dist/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs.map +1 -1
- package/dist/custom_auth/index.mjs +1 -1
- package/dist/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
- package/dist/custom_auth/operating_context/CustomAuthOperatingContext.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs.map +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
- package/dist/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs.map +1 -1
- package/dist/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
- package/dist/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/SignInScenario.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/result/SignInResult.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInState.mjs.map +1 -1
- package/dist/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
- package/dist/custom_auth/sign_in/interaction_client/SignInClient.mjs.map +1 -1
- package/dist/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs.map +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
- package/dist/custom_auth/sign_up/auth_flow/state/SignUpState.mjs.map +1 -1
- package/dist/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
- package/dist/custom_auth/sign_up/interaction_client/SignUpClient.mjs.map +1 -1
- package/dist/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +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/BrowserAuthError.mjs.map +1 -1
- package/dist/error/BrowserAuthErrorCodes.mjs +3 -2
- package/dist/error/BrowserAuthErrorCodes.mjs.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
- package/dist/error/BrowserConfigurationAuthError.mjs.map +1 -1
- package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
- package/dist/error/NativeAuthError.mjs +1 -1
- package/dist/error/NativeAuthError.mjs.map +1 -1
- package/dist/error/NativeAuthErrorCodes.mjs +1 -1
- package/dist/error/NestedAppAuthError.mjs +1 -1
- package/dist/error/NestedAppAuthError.mjs.map +1 -1
- package/dist/event/EventHandler.mjs +1 -1
- package/dist/event/EventHandler.mjs.map +1 -1
- package/dist/event/EventMessage.mjs +1 -1
- package/dist/event/EventMessage.mjs.map +1 -1
- package/dist/event/EventType.mjs +1 -1
- package/dist/event/EventType.mjs.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/BaseInteractionClient.mjs.map +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs.map +1 -1
- package/dist/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
- package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
- package/dist/interaction_client/PopupClient.mjs +77 -10
- package/dist/interaction_client/PopupClient.mjs.map +1 -1
- package/dist/interaction_client/RedirectClient.mjs +1 -1
- package/dist/interaction_client/RedirectClient.mjs.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentCacheClient.mjs +1 -1
- package/dist/interaction_client/SilentCacheClient.mjs.map +1 -1
- package/dist/interaction_client/SilentIframeClient.mjs +1 -1
- package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
- package/dist/interaction_client/SilentRefreshClient.mjs.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
- package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
- package/dist/interaction_handler/InteractionHandler.mjs +1 -1
- package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
- package/dist/interaction_handler/SilentHandler.mjs +1 -1
- package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
- package/dist/log-strings-mapping.json +7 -3
- package/dist/naa/BridgeError.mjs +1 -1
- package/dist/naa/BridgeProxy.mjs +2 -2
- package/dist/naa/BridgeProxy.mjs.map +1 -1
- package/dist/naa/BridgeStatusCode.mjs +1 -1
- package/dist/naa/BridgeStatusCode.mjs.map +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
- package/dist/navigation/NavigationClient.mjs +1 -1
- package/dist/navigation/NavigationClient.mjs.map +1 -1
- package/dist/network/FetchClient.mjs +1 -1
- package/dist/network/FetchClient.mjs.map +1 -1
- package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
- package/dist/operatingcontext/BaseOperatingContext.mjs.map +1 -1
- package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
- package/dist/operatingcontext/NestedAppOperatingContext.mjs.map +1 -1
- package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
- package/dist/operatingcontext/StandardOperatingContext.mjs.map +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/popup_relay/constants.mjs +21 -0
- package/dist/popup_relay/constants.mjs.map +1 -0
- package/dist/popup_relay/index.mjs +163 -0
- package/dist/popup_relay/index.mjs.map +1 -0
- package/dist/popup_relay/relayClient.mjs +114 -0
- package/dist/popup_relay/relayClient.mjs.map +1 -0
- package/dist/protocol/Authorize.mjs +42 -24
- package/dist/protocol/Authorize.mjs.map +1 -1
- package/dist/redirect_bridge/index.mjs +1 -1
- package/dist/redirect_bridge/index.mjs.map +1 -1
- package/dist/request/RequestHelpers.mjs +1 -1
- package/dist/request/RequestHelpers.mjs.map +1 -1
- package/dist/response/ResponseHandler.mjs +1 -1
- package/dist/response/ResponseHandler.mjs.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.mjs +1 -1
- package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
- package/dist/telemetry/BrowserPerformanceEvents.mjs +1 -1
- package/dist/telemetry/BrowserPerformanceEvents.mjs.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs.map +1 -1
- package/dist/telemetry/BrowserRootPerformanceEvents.mjs +1 -1
- package/dist/utils/BrowserConstants.mjs +1 -1
- package/dist/utils/BrowserConstants.mjs.map +1 -1
- package/dist/utils/BrowserProtocolUtils.mjs +1 -1
- package/dist/utils/BrowserProtocolUtils.mjs.map +1 -1
- package/dist/utils/BrowserUtils.mjs +2 -2
- package/dist/utils/BrowserUtils.mjs.map +1 -1
- package/dist/utils/Helpers.mjs +1 -1
- package/dist/utils/Helpers.mjs.map +1 -1
- package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
- package/dist/utils/MsalFrameStatsUtils.mjs.map +1 -1
- package/lib/custom-auth-path/log-strings-mapping.json +7 -3
- package/lib/custom-auth-path/msal-custom-auth.cjs +5973 -5767
- package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
- package/lib/custom-auth-path/msal-custom-auth.js +5973 -5767
- package/lib/custom-auth-path/msal-custom-auth.js.map +1 -1
- package/lib/log-strings-mapping.json +7 -3
- package/lib/msal-browser.cjs +6814 -6605
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +6814 -6605
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +2 -2
- package/lib/popup-relay/msal-popup-relay.cjs +278 -0
- package/lib/popup-relay/msal-popup-relay.cjs.map +1 -0
- package/lib/popup-relay/msal-popup-relay.js +284 -0
- package/lib/popup-relay/msal-popup-relay.js.map +1 -0
- package/lib/popup-relay/msal-popup-relay.min.js +2 -0
- package/lib/redirect-bridge/msal-redirect-bridge.cjs +39 -39
- package/lib/redirect-bridge/msal-redirect-bridge.cjs.map +1 -1
- package/lib/redirect-bridge/msal-redirect-bridge.js +39 -39
- package/lib/redirect-bridge/msal-redirect-bridge.js.map +1 -1
- package/lib/redirect-bridge/msal-redirect-bridge.min.js +2 -2
- package/package.json +14 -3
- package/scripts/README.md +112 -0
- package/scripts/decode-logs.cjs +822 -0
- package/src/config/Configuration.ts +18 -0
- package/src/error/BrowserAuthErrorCodes.ts +1 -0
- package/src/interaction_client/PopupClient.ts +137 -23
- package/src/packageMetadata.ts +1 -1
- package/src/popup_relay/constants.ts +17 -0
- package/src/popup_relay/index.ts +221 -0
- package/src/popup_relay/relayClient.ts +178 -0
- package/src/protocol/Authorize.ts +76 -27
- package/types/config/Configuration.d.ts +16 -0
- package/types/config/Configuration.d.ts.map +1 -1
- package/types/custom_auth/CustomAuthConstants.d.ts +1 -1
- package/types/error/BrowserAuthErrorCodes.d.ts +1 -0
- package/types/error/BrowserAuthErrorCodes.d.ts.map +1 -1
- package/types/interaction_client/PopupClient.d.ts +13 -0
- package/types/interaction_client/PopupClient.d.ts.map +1 -1
- package/types/packageMetadata.d.ts +1 -1
- package/types/popup_relay/constants.d.ts +13 -0
- package/types/popup_relay/constants.d.ts.map +1 -0
- package/types/popup_relay/index.d.cts +1 -0
- package/types/popup_relay/index.d.ts +42 -0
- package/types/popup_relay/index.d.ts.map +1 -0
- package/types/popup_relay/relayClient.d.ts +43 -0
- package/types/popup_relay/relayClient.d.ts.map +1 -0
- package/types/protocol/Authorize.d.ts +25 -0
- package/types/protocol/Authorize.d.ts.map +1 -1
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/*! @azure/msal-browser v5.17.0 2026-07-07 */
|
|
2
|
+
'use strict';
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
/*
|
|
6
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
+
* Licensed under the MIT License.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* postMessage envelope type used to relay an auth response from a popup-relay
|
|
11
|
+
* page (see `runPopupRelay`) back to the embedded frame that opened it. See
|
|
12
|
+
* {@link BrowserAuthOptions.popupRelayUri}.
|
|
13
|
+
*
|
|
14
|
+
* Kept dependency-free so both the relay-page entry (`./index.js`) and the
|
|
15
|
+
* client-side helpers (`./relayClient.js`) can import it without either bundle
|
|
16
|
+
* pulling in the other's dependencies.
|
|
17
|
+
*
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
const POPUP_RELAY_RESPONSE_TYPE = "msal:popup-relay-response:v1";
|
|
21
|
+
|
|
22
|
+
/*! @azure/msal-common v16.11.1 2026-07-07 */
|
|
23
|
+
/*
|
|
24
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
25
|
+
* Licensed under the MIT License.
|
|
26
|
+
*/
|
|
27
|
+
function getDefaultErrorMessage$1(code) {
|
|
28
|
+
return `See https://aka.ms/msal.js.errors#${code} for details`;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* General error class thrown by the MSAL.js library.
|
|
32
|
+
*/
|
|
33
|
+
class AuthError extends Error {
|
|
34
|
+
constructor(errorCode, correlationId, errorMessage, suberror) {
|
|
35
|
+
const message = errorMessage ||
|
|
36
|
+
(errorCode ? getDefaultErrorMessage$1(errorCode) : "");
|
|
37
|
+
const errorString = message ? `${errorCode}: ${message}` : errorCode;
|
|
38
|
+
super(errorString);
|
|
39
|
+
Object.setPrototypeOf(this, AuthError.prototype);
|
|
40
|
+
this.errorCode = errorCode || "";
|
|
41
|
+
this.errorMessage = message || "";
|
|
42
|
+
this.subError = suberror || "";
|
|
43
|
+
this.correlationId = correlationId;
|
|
44
|
+
this.name = "AuthError";
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/*
|
|
49
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
50
|
+
* Licensed under the MIT License.
|
|
51
|
+
*/
|
|
52
|
+
const popupWindowError = "popup_window_error";
|
|
53
|
+
const userCancelled = "user_cancelled";
|
|
54
|
+
const popupRelayUnsupportedFlow = "popup_relay_unsupported_flow";
|
|
55
|
+
const timedOut = "timed_out";
|
|
56
|
+
|
|
57
|
+
/*
|
|
58
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
59
|
+
* Licensed under the MIT License.
|
|
60
|
+
*/
|
|
61
|
+
function getDefaultErrorMessage(code) {
|
|
62
|
+
return `See https://aka.ms/msal.js.errors#${code} for details`;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Browser library error class thrown by the MSAL.js library for SPAs
|
|
66
|
+
*/
|
|
67
|
+
class BrowserAuthError extends AuthError {
|
|
68
|
+
constructor(errorCode, correlationId, subError) {
|
|
69
|
+
super(errorCode, correlationId, getDefaultErrorMessage(errorCode), subError);
|
|
70
|
+
Object.setPrototypeOf(this, BrowserAuthError.prototype);
|
|
71
|
+
this.name = "BrowserAuthError";
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
function createBrowserAuthError(errorCode, correlationId, subError) {
|
|
75
|
+
return new BrowserAuthError(errorCode, correlationId, subError);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/*
|
|
79
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
80
|
+
* Licensed under the MIT License.
|
|
81
|
+
*/
|
|
82
|
+
/*
|
|
83
|
+
* Interaction type of the API - used for state and telemetry
|
|
84
|
+
*/
|
|
85
|
+
var InteractionType;
|
|
86
|
+
(function (InteractionType) {
|
|
87
|
+
InteractionType["Redirect"] = "redirect";
|
|
88
|
+
InteractionType["Popup"] = "popup";
|
|
89
|
+
InteractionType["Silent"] = "silent";
|
|
90
|
+
InteractionType["None"] = "none";
|
|
91
|
+
})(InteractionType || (InteractionType = {}));
|
|
92
|
+
|
|
93
|
+
/*
|
|
94
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
95
|
+
* Licensed under the MIT License.
|
|
96
|
+
*/
|
|
97
|
+
/**
|
|
98
|
+
* Creates a POST `<form>` in the provided document with the given auth
|
|
99
|
+
* parameters as hidden inputs, targeting `action`. Shared by the popup auth
|
|
100
|
+
* flows (`getEARForm` / `getCodeForm`) and the popup-relay page
|
|
101
|
+
* (`runPopupRelay`) so the form is built one way only.
|
|
102
|
+
*
|
|
103
|
+
* @param frame - document to create the form in
|
|
104
|
+
* @param action - form action (the /authorize URL)
|
|
105
|
+
* @param fields - POST-body fields
|
|
106
|
+
* @internal
|
|
107
|
+
*/
|
|
108
|
+
function createForm(frame, action, fields) {
|
|
109
|
+
const form = frame.createElement("form");
|
|
110
|
+
form.method = "post";
|
|
111
|
+
form.action = action;
|
|
112
|
+
Object.keys(fields).forEach((name) => {
|
|
113
|
+
const input = frame.createElement("input");
|
|
114
|
+
input.hidden = true;
|
|
115
|
+
input.name = name;
|
|
116
|
+
input.value = fields[name];
|
|
117
|
+
form.appendChild(input);
|
|
118
|
+
});
|
|
119
|
+
frame.body.appendChild(form);
|
|
120
|
+
return form;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/*
|
|
124
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
125
|
+
* Licensed under the MIT License.
|
|
126
|
+
*/
|
|
127
|
+
const DEFAULT_POPUP_RELAY_TIMEOUT_MS = 300000;
|
|
128
|
+
const DEFAULT_POPUP_RELAY_WIDTH = 520;
|
|
129
|
+
const DEFAULT_POPUP_RELAY_HEIGHT = 640;
|
|
130
|
+
/**
|
|
131
|
+
* Builds the `window.open` features string for the IdP child popup from a
|
|
132
|
+
* {@link PopupWindowAttributes}, mirroring the shape used by
|
|
133
|
+
* `PopupRequest.popupWindowAttributes`.
|
|
134
|
+
*/
|
|
135
|
+
function buildChildPopupFeatures(attributes) {
|
|
136
|
+
const width = attributes?.popupSize?.width || DEFAULT_POPUP_RELAY_WIDTH;
|
|
137
|
+
const height = attributes?.popupSize?.height || DEFAULT_POPUP_RELAY_HEIGHT;
|
|
138
|
+
const features = [`width=${width}`, `height=${height}`];
|
|
139
|
+
if (attributes?.popupPosition?.top !== undefined) {
|
|
140
|
+
features.push(`top=${attributes.popupPosition.top}`);
|
|
141
|
+
}
|
|
142
|
+
if (attributes?.popupPosition?.left !== undefined) {
|
|
143
|
+
features.push(`left=${attributes.popupPosition.left}`);
|
|
144
|
+
}
|
|
145
|
+
features.push("scrollbars=yes");
|
|
146
|
+
return features.join(",");
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Entry point for the top-level "popup-relay" page referenced by
|
|
150
|
+
* `auth.popupRelayUri`. Call this from the relay page (which MSAL opens as a
|
|
151
|
+
* top-level popup from inside an embedded, cross-origin iframe). It:
|
|
152
|
+
*
|
|
153
|
+
* 1. Reads the IdP navigation MSAL passed in this page's hash (a GET URL, or a
|
|
154
|
+
* POST form for the form_post / EAR response modes), then scrubs the hash.
|
|
155
|
+
* 2. Opens the IdP child popup and performs that navigation (the relay page
|
|
156
|
+
* stays put, so its `window.opener` link back to the embedded frame
|
|
157
|
+
* survives COOP).
|
|
158
|
+
* 3. Waits for the child's redirect URI page (which must run the redirect
|
|
159
|
+
* bridge, `broadcastResponseToMainFrame`) to broadcast the raw auth
|
|
160
|
+
* response over a same-origin `BroadcastChannel`.
|
|
161
|
+
* 4. Relays that raw response back to the embedded frame via
|
|
162
|
+
* `opener.postMessage`, posting only to its own (same) origin, then closes.
|
|
163
|
+
*
|
|
164
|
+
* The embedded frame keeps the PKCE verifier (and EAR private key) and exchanges
|
|
165
|
+
* the relayed response itself — no token, verifier, or private key ever crosses
|
|
166
|
+
* a window boundary.
|
|
167
|
+
*
|
|
168
|
+
* Note: the child popup is opened when this function runs, so call it from a
|
|
169
|
+
* user gesture (e.g. a "Continue" button click) to avoid popup blockers.
|
|
170
|
+
*
|
|
171
|
+
* @param options - {@link PopupRelayOptions}
|
|
172
|
+
*/
|
|
173
|
+
function runPopupRelay(options) {
|
|
174
|
+
const opener = window.opener;
|
|
175
|
+
const targetOrigin = window.location.origin;
|
|
176
|
+
const hashParams = new URLSearchParams(window.location.hash.replace(/^#/, ""));
|
|
177
|
+
const rawReq = hashParams.get("req") || "";
|
|
178
|
+
// Scrub the relayed request out of the relay page's own URL immediately.
|
|
179
|
+
if (typeof window.history.replaceState === "function") {
|
|
180
|
+
window.history.replaceState(null, "", window.location.origin + window.location.pathname);
|
|
181
|
+
}
|
|
182
|
+
if (!opener) {
|
|
183
|
+
throw createBrowserAuthError(popupRelayUnsupportedFlow, "", "popup_relay_no_opener");
|
|
184
|
+
}
|
|
185
|
+
let request;
|
|
186
|
+
try {
|
|
187
|
+
request = JSON.parse(rawReq);
|
|
188
|
+
}
|
|
189
|
+
catch (e) {
|
|
190
|
+
throw createBrowserAuthError(popupRelayUnsupportedFlow, "", "popup_relay_bad_request");
|
|
191
|
+
}
|
|
192
|
+
if (!request || !request.id) {
|
|
193
|
+
throw createBrowserAuthError(popupRelayUnsupportedFlow, "", "popup_relay_bad_request");
|
|
194
|
+
}
|
|
195
|
+
const id = request.id;
|
|
196
|
+
const channel = new BroadcastChannel(id);
|
|
197
|
+
let settled = false;
|
|
198
|
+
/*
|
|
199
|
+
* Timer handles are kept on a const holder so relay() (declared before the
|
|
200
|
+
* timers are created) can clear them — `let` handles trip prefer-const, and
|
|
201
|
+
* `const` handles can't be referenced before assignment (TDZ).
|
|
202
|
+
*/
|
|
203
|
+
const timers = {};
|
|
204
|
+
const relay = (message) => {
|
|
205
|
+
if (settled) {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
settled = true;
|
|
209
|
+
try {
|
|
210
|
+
channel.close();
|
|
211
|
+
}
|
|
212
|
+
catch (e) {
|
|
213
|
+
/* ignore */
|
|
214
|
+
}
|
|
215
|
+
clearInterval(timers.closedPoll);
|
|
216
|
+
clearTimeout(timers.timeoutId);
|
|
217
|
+
opener.postMessage({ type: POPUP_RELAY_RESPONSE_TYPE, id, ...message }, targetOrigin);
|
|
218
|
+
setTimeout(() => {
|
|
219
|
+
try {
|
|
220
|
+
window.close();
|
|
221
|
+
}
|
|
222
|
+
catch (e) {
|
|
223
|
+
/* ignore */
|
|
224
|
+
}
|
|
225
|
+
}, 0);
|
|
226
|
+
};
|
|
227
|
+
// The redirect bridge broadcasts the raw auth response payload here.
|
|
228
|
+
channel.onmessage = (event) => {
|
|
229
|
+
const payload = event.data && event.data.payload;
|
|
230
|
+
if (payload) {
|
|
231
|
+
relay({ payload });
|
|
232
|
+
}
|
|
233
|
+
};
|
|
234
|
+
const features = buildChildPopupFeatures(options?.popupWindowAttributes);
|
|
235
|
+
const childPopup = request.method === "POST"
|
|
236
|
+
? window.open("about:blank", "msalPopupRelayChild", features)
|
|
237
|
+
: window.open(request.url, "msalPopupRelayChild", features);
|
|
238
|
+
if (!childPopup) {
|
|
239
|
+
relay({ error: popupWindowError });
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (request.method === "POST") {
|
|
243
|
+
createForm(childPopup.document, request.action, request.fields).submit();
|
|
244
|
+
}
|
|
245
|
+
timers.closedPoll = window.setInterval(() => {
|
|
246
|
+
if (childPopup.closed && !settled) {
|
|
247
|
+
/*
|
|
248
|
+
* The popup is gone, so the overall timeout no longer applies —
|
|
249
|
+
* drop it and report cancellation. A successful sign-in settles
|
|
250
|
+
* first: the redirect bridge broadcasts the response before it
|
|
251
|
+
* closes the popup, so onmessage runs on the
|
|
252
|
+
* next event-loop turn, well before this 500ms poll observes the
|
|
253
|
+
* close — the `!settled` guard then skips cancellation.
|
|
254
|
+
*/
|
|
255
|
+
clearTimeout(timers.timeoutId);
|
|
256
|
+
relay({ error: userCancelled });
|
|
257
|
+
}
|
|
258
|
+
}, 500);
|
|
259
|
+
timers.timeoutId = window.setTimeout(() => {
|
|
260
|
+
if (!settled) {
|
|
261
|
+
/*
|
|
262
|
+
* Stop the close poll before we close the popup ourselves, so it
|
|
263
|
+
* can't observe the close and report user_cancelled instead.
|
|
264
|
+
*/
|
|
265
|
+
clearInterval(timers.closedPoll);
|
|
266
|
+
try {
|
|
267
|
+
childPopup.close();
|
|
268
|
+
}
|
|
269
|
+
catch (e) {
|
|
270
|
+
/* ignore */
|
|
271
|
+
}
|
|
272
|
+
relay({ error: timedOut });
|
|
273
|
+
}
|
|
274
|
+
}, options?.timeoutMs || DEFAULT_POPUP_RELAY_TIMEOUT_MS);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
exports.runPopupRelay = runPopupRelay;
|
|
278
|
+
//# sourceMappingURL=msal-popup-relay.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"msal-popup-relay.cjs","sources":["../../../../src/popup_relay/constants.ts","../../../msal-common/dist-browser/error/AuthError.mjs","../../../../src/error/BrowserAuthErrorCodes.ts","../../../../src/error/BrowserAuthError.ts","../../../../src/utils/BrowserConstants.ts","../../../../src/protocol/Authorize.ts","../../../../src/popup_relay/index.ts"],"sourcesContent":[null,"/*! @azure/msal-common v16.11.1 2026-07-07 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nfunction getDefaultErrorMessage(code) {\r\n return `See https://aka.ms/msal.js.errors#${code} for details`;\r\n}\r\n/**\r\n * General error class thrown by the MSAL.js library.\r\n */\r\nclass AuthError extends Error {\r\n constructor(errorCode, correlationId, errorMessage, suberror) {\r\n const message = errorMessage ||\r\n (errorCode ? getDefaultErrorMessage(errorCode) : \"\");\r\n const errorString = message ? `${errorCode}: ${message}` : errorCode;\r\n super(errorString);\r\n Object.setPrototypeOf(this, AuthError.prototype);\r\n this.errorCode = errorCode || \"\";\r\n this.errorMessage = message || \"\";\r\n this.subError = suberror || \"\";\r\n this.correlationId = correlationId;\r\n this.name = \"AuthError\";\r\n }\r\n}\r\nfunction createAuthError(code, correlationId, additionalMessage) {\r\n return new AuthError(code, correlationId, additionalMessage || getDefaultErrorMessage(code));\r\n}\n\nexport { AuthError, createAuthError, getDefaultErrorMessage };\n//# sourceMappingURL=AuthError.mjs.map\n",null,null,null,null,null],"names":["getDefaultErrorMessage","BrowserAuthErrorCodes.popupRelayUnsupportedFlow","BrowserAuthErrorCodes.popupWindowError","BrowserAuthErrorCodes.userCancelled","BrowserAuthErrorCodes.timedOut"],"mappings":"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"}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
/*! @azure/msal-browser v5.17.0 2026-07-07 */
|
|
2
|
+
'use strict';
|
|
3
|
+
(function (global, factory) {
|
|
4
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
|
|
5
|
+
typeof define === 'function' && define.amd ? define(['exports'], factory) :
|
|
6
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.msalPopupRelay = {}));
|
|
7
|
+
})(this, (function (exports) { 'use strict';
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
11
|
+
* Licensed under the MIT License.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* postMessage envelope type used to relay an auth response from a popup-relay
|
|
15
|
+
* page (see `runPopupRelay`) back to the embedded frame that opened it. See
|
|
16
|
+
* {@link BrowserAuthOptions.popupRelayUri}.
|
|
17
|
+
*
|
|
18
|
+
* Kept dependency-free so both the relay-page entry (`./index.js`) and the
|
|
19
|
+
* client-side helpers (`./relayClient.js`) can import it without either bundle
|
|
20
|
+
* pulling in the other's dependencies.
|
|
21
|
+
*
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
const POPUP_RELAY_RESPONSE_TYPE = "msal:popup-relay-response:v1";
|
|
25
|
+
|
|
26
|
+
/*! @azure/msal-common v16.11.1 2026-07-07 */
|
|
27
|
+
/*
|
|
28
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
29
|
+
* Licensed under the MIT License.
|
|
30
|
+
*/
|
|
31
|
+
function getDefaultErrorMessage$1(code) {
|
|
32
|
+
return `See https://aka.ms/msal.js.errors#${code} for details`;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* General error class thrown by the MSAL.js library.
|
|
36
|
+
*/
|
|
37
|
+
class AuthError extends Error {
|
|
38
|
+
constructor(errorCode, correlationId, errorMessage, suberror) {
|
|
39
|
+
const message = errorMessage ||
|
|
40
|
+
(errorCode ? getDefaultErrorMessage$1(errorCode) : "");
|
|
41
|
+
const errorString = message ? `${errorCode}: ${message}` : errorCode;
|
|
42
|
+
super(errorString);
|
|
43
|
+
Object.setPrototypeOf(this, AuthError.prototype);
|
|
44
|
+
this.errorCode = errorCode || "";
|
|
45
|
+
this.errorMessage = message || "";
|
|
46
|
+
this.subError = suberror || "";
|
|
47
|
+
this.correlationId = correlationId;
|
|
48
|
+
this.name = "AuthError";
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
/*
|
|
53
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
54
|
+
* Licensed under the MIT License.
|
|
55
|
+
*/
|
|
56
|
+
const popupWindowError = "popup_window_error";
|
|
57
|
+
const userCancelled = "user_cancelled";
|
|
58
|
+
const popupRelayUnsupportedFlow = "popup_relay_unsupported_flow";
|
|
59
|
+
const timedOut = "timed_out";
|
|
60
|
+
|
|
61
|
+
/*
|
|
62
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
63
|
+
* Licensed under the MIT License.
|
|
64
|
+
*/
|
|
65
|
+
function getDefaultErrorMessage(code) {
|
|
66
|
+
return `See https://aka.ms/msal.js.errors#${code} for details`;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Browser library error class thrown by the MSAL.js library for SPAs
|
|
70
|
+
*/
|
|
71
|
+
class BrowserAuthError extends AuthError {
|
|
72
|
+
constructor(errorCode, correlationId, subError) {
|
|
73
|
+
super(errorCode, correlationId, getDefaultErrorMessage(errorCode), subError);
|
|
74
|
+
Object.setPrototypeOf(this, BrowserAuthError.prototype);
|
|
75
|
+
this.name = "BrowserAuthError";
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function createBrowserAuthError(errorCode, correlationId, subError) {
|
|
79
|
+
return new BrowserAuthError(errorCode, correlationId, subError);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/*
|
|
83
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
84
|
+
* Licensed under the MIT License.
|
|
85
|
+
*/
|
|
86
|
+
/*
|
|
87
|
+
* Interaction type of the API - used for state and telemetry
|
|
88
|
+
*/
|
|
89
|
+
var InteractionType;
|
|
90
|
+
(function (InteractionType) {
|
|
91
|
+
InteractionType["Redirect"] = "redirect";
|
|
92
|
+
InteractionType["Popup"] = "popup";
|
|
93
|
+
InteractionType["Silent"] = "silent";
|
|
94
|
+
InteractionType["None"] = "none";
|
|
95
|
+
})(InteractionType || (InteractionType = {}));
|
|
96
|
+
|
|
97
|
+
/*
|
|
98
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
99
|
+
* Licensed under the MIT License.
|
|
100
|
+
*/
|
|
101
|
+
/**
|
|
102
|
+
* Creates a POST `<form>` in the provided document with the given auth
|
|
103
|
+
* parameters as hidden inputs, targeting `action`. Shared by the popup auth
|
|
104
|
+
* flows (`getEARForm` / `getCodeForm`) and the popup-relay page
|
|
105
|
+
* (`runPopupRelay`) so the form is built one way only.
|
|
106
|
+
*
|
|
107
|
+
* @param frame - document to create the form in
|
|
108
|
+
* @param action - form action (the /authorize URL)
|
|
109
|
+
* @param fields - POST-body fields
|
|
110
|
+
* @internal
|
|
111
|
+
*/
|
|
112
|
+
function createForm(frame, action, fields) {
|
|
113
|
+
const form = frame.createElement("form");
|
|
114
|
+
form.method = "post";
|
|
115
|
+
form.action = action;
|
|
116
|
+
Object.keys(fields).forEach((name) => {
|
|
117
|
+
const input = frame.createElement("input");
|
|
118
|
+
input.hidden = true;
|
|
119
|
+
input.name = name;
|
|
120
|
+
input.value = fields[name];
|
|
121
|
+
form.appendChild(input);
|
|
122
|
+
});
|
|
123
|
+
frame.body.appendChild(form);
|
|
124
|
+
return form;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/*
|
|
128
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
129
|
+
* Licensed under the MIT License.
|
|
130
|
+
*/
|
|
131
|
+
const DEFAULT_POPUP_RELAY_TIMEOUT_MS = 300000;
|
|
132
|
+
const DEFAULT_POPUP_RELAY_WIDTH = 520;
|
|
133
|
+
const DEFAULT_POPUP_RELAY_HEIGHT = 640;
|
|
134
|
+
/**
|
|
135
|
+
* Builds the `window.open` features string for the IdP child popup from a
|
|
136
|
+
* {@link PopupWindowAttributes}, mirroring the shape used by
|
|
137
|
+
* `PopupRequest.popupWindowAttributes`.
|
|
138
|
+
*/
|
|
139
|
+
function buildChildPopupFeatures(attributes) {
|
|
140
|
+
const width = attributes?.popupSize?.width || DEFAULT_POPUP_RELAY_WIDTH;
|
|
141
|
+
const height = attributes?.popupSize?.height || DEFAULT_POPUP_RELAY_HEIGHT;
|
|
142
|
+
const features = [`width=${width}`, `height=${height}`];
|
|
143
|
+
if (attributes?.popupPosition?.top !== undefined) {
|
|
144
|
+
features.push(`top=${attributes.popupPosition.top}`);
|
|
145
|
+
}
|
|
146
|
+
if (attributes?.popupPosition?.left !== undefined) {
|
|
147
|
+
features.push(`left=${attributes.popupPosition.left}`);
|
|
148
|
+
}
|
|
149
|
+
features.push("scrollbars=yes");
|
|
150
|
+
return features.join(",");
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Entry point for the top-level "popup-relay" page referenced by
|
|
154
|
+
* `auth.popupRelayUri`. Call this from the relay page (which MSAL opens as a
|
|
155
|
+
* top-level popup from inside an embedded, cross-origin iframe). It:
|
|
156
|
+
*
|
|
157
|
+
* 1. Reads the IdP navigation MSAL passed in this page's hash (a GET URL, or a
|
|
158
|
+
* POST form for the form_post / EAR response modes), then scrubs the hash.
|
|
159
|
+
* 2. Opens the IdP child popup and performs that navigation (the relay page
|
|
160
|
+
* stays put, so its `window.opener` link back to the embedded frame
|
|
161
|
+
* survives COOP).
|
|
162
|
+
* 3. Waits for the child's redirect URI page (which must run the redirect
|
|
163
|
+
* bridge, `broadcastResponseToMainFrame`) to broadcast the raw auth
|
|
164
|
+
* response over a same-origin `BroadcastChannel`.
|
|
165
|
+
* 4. Relays that raw response back to the embedded frame via
|
|
166
|
+
* `opener.postMessage`, posting only to its own (same) origin, then closes.
|
|
167
|
+
*
|
|
168
|
+
* The embedded frame keeps the PKCE verifier (and EAR private key) and exchanges
|
|
169
|
+
* the relayed response itself — no token, verifier, or private key ever crosses
|
|
170
|
+
* a window boundary.
|
|
171
|
+
*
|
|
172
|
+
* Note: the child popup is opened when this function runs, so call it from a
|
|
173
|
+
* user gesture (e.g. a "Continue" button click) to avoid popup blockers.
|
|
174
|
+
*
|
|
175
|
+
* @param options - {@link PopupRelayOptions}
|
|
176
|
+
*/
|
|
177
|
+
function runPopupRelay(options) {
|
|
178
|
+
const opener = window.opener;
|
|
179
|
+
const targetOrigin = window.location.origin;
|
|
180
|
+
const hashParams = new URLSearchParams(window.location.hash.replace(/^#/, ""));
|
|
181
|
+
const rawReq = hashParams.get("req") || "";
|
|
182
|
+
// Scrub the relayed request out of the relay page's own URL immediately.
|
|
183
|
+
if (typeof window.history.replaceState === "function") {
|
|
184
|
+
window.history.replaceState(null, "", window.location.origin + window.location.pathname);
|
|
185
|
+
}
|
|
186
|
+
if (!opener) {
|
|
187
|
+
throw createBrowserAuthError(popupRelayUnsupportedFlow, "", "popup_relay_no_opener");
|
|
188
|
+
}
|
|
189
|
+
let request;
|
|
190
|
+
try {
|
|
191
|
+
request = JSON.parse(rawReq);
|
|
192
|
+
}
|
|
193
|
+
catch (e) {
|
|
194
|
+
throw createBrowserAuthError(popupRelayUnsupportedFlow, "", "popup_relay_bad_request");
|
|
195
|
+
}
|
|
196
|
+
if (!request || !request.id) {
|
|
197
|
+
throw createBrowserAuthError(popupRelayUnsupportedFlow, "", "popup_relay_bad_request");
|
|
198
|
+
}
|
|
199
|
+
const id = request.id;
|
|
200
|
+
const channel = new BroadcastChannel(id);
|
|
201
|
+
let settled = false;
|
|
202
|
+
/*
|
|
203
|
+
* Timer handles are kept on a const holder so relay() (declared before the
|
|
204
|
+
* timers are created) can clear them — `let` handles trip prefer-const, and
|
|
205
|
+
* `const` handles can't be referenced before assignment (TDZ).
|
|
206
|
+
*/
|
|
207
|
+
const timers = {};
|
|
208
|
+
const relay = (message) => {
|
|
209
|
+
if (settled) {
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
settled = true;
|
|
213
|
+
try {
|
|
214
|
+
channel.close();
|
|
215
|
+
}
|
|
216
|
+
catch (e) {
|
|
217
|
+
/* ignore */
|
|
218
|
+
}
|
|
219
|
+
clearInterval(timers.closedPoll);
|
|
220
|
+
clearTimeout(timers.timeoutId);
|
|
221
|
+
opener.postMessage({ type: POPUP_RELAY_RESPONSE_TYPE, id, ...message }, targetOrigin);
|
|
222
|
+
setTimeout(() => {
|
|
223
|
+
try {
|
|
224
|
+
window.close();
|
|
225
|
+
}
|
|
226
|
+
catch (e) {
|
|
227
|
+
/* ignore */
|
|
228
|
+
}
|
|
229
|
+
}, 0);
|
|
230
|
+
};
|
|
231
|
+
// The redirect bridge broadcasts the raw auth response payload here.
|
|
232
|
+
channel.onmessage = (event) => {
|
|
233
|
+
const payload = event.data && event.data.payload;
|
|
234
|
+
if (payload) {
|
|
235
|
+
relay({ payload });
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
const features = buildChildPopupFeatures(options?.popupWindowAttributes);
|
|
239
|
+
const childPopup = request.method === "POST"
|
|
240
|
+
? window.open("about:blank", "msalPopupRelayChild", features)
|
|
241
|
+
: window.open(request.url, "msalPopupRelayChild", features);
|
|
242
|
+
if (!childPopup) {
|
|
243
|
+
relay({ error: popupWindowError });
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
if (request.method === "POST") {
|
|
247
|
+
createForm(childPopup.document, request.action, request.fields).submit();
|
|
248
|
+
}
|
|
249
|
+
timers.closedPoll = window.setInterval(() => {
|
|
250
|
+
if (childPopup.closed && !settled) {
|
|
251
|
+
/*
|
|
252
|
+
* The popup is gone, so the overall timeout no longer applies —
|
|
253
|
+
* drop it and report cancellation. A successful sign-in settles
|
|
254
|
+
* first: the redirect bridge broadcasts the response before it
|
|
255
|
+
* closes the popup, so onmessage runs on the
|
|
256
|
+
* next event-loop turn, well before this 500ms poll observes the
|
|
257
|
+
* close — the `!settled` guard then skips cancellation.
|
|
258
|
+
*/
|
|
259
|
+
clearTimeout(timers.timeoutId);
|
|
260
|
+
relay({ error: userCancelled });
|
|
261
|
+
}
|
|
262
|
+
}, 500);
|
|
263
|
+
timers.timeoutId = window.setTimeout(() => {
|
|
264
|
+
if (!settled) {
|
|
265
|
+
/*
|
|
266
|
+
* Stop the close poll before we close the popup ourselves, so it
|
|
267
|
+
* can't observe the close and report user_cancelled instead.
|
|
268
|
+
*/
|
|
269
|
+
clearInterval(timers.closedPoll);
|
|
270
|
+
try {
|
|
271
|
+
childPopup.close();
|
|
272
|
+
}
|
|
273
|
+
catch (e) {
|
|
274
|
+
/* ignore */
|
|
275
|
+
}
|
|
276
|
+
relay({ error: timedOut });
|
|
277
|
+
}
|
|
278
|
+
}, options?.timeoutMs || DEFAULT_POPUP_RELAY_TIMEOUT_MS);
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
exports.runPopupRelay = runPopupRelay;
|
|
282
|
+
|
|
283
|
+
}));
|
|
284
|
+
//# sourceMappingURL=msal-popup-relay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"msal-popup-relay.js","sources":["../../../../src/popup_relay/constants.ts","../../../msal-common/dist-browser/error/AuthError.mjs","../../../../src/error/BrowserAuthErrorCodes.ts","../../../../src/error/BrowserAuthError.ts","../../../../src/utils/BrowserConstants.ts","../../../../src/protocol/Authorize.ts","../../../../src/popup_relay/index.ts"],"sourcesContent":[null,"/*! @azure/msal-common v16.11.1 2026-07-07 */\n'use strict';\n/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\nfunction getDefaultErrorMessage(code) {\r\n return `See https://aka.ms/msal.js.errors#${code} for details`;\r\n}\r\n/**\r\n * General error class thrown by the MSAL.js library.\r\n */\r\nclass AuthError extends Error {\r\n constructor(errorCode, correlationId, errorMessage, suberror) {\r\n const message = errorMessage ||\r\n (errorCode ? getDefaultErrorMessage(errorCode) : \"\");\r\n const errorString = message ? `${errorCode}: ${message}` : errorCode;\r\n super(errorString);\r\n Object.setPrototypeOf(this, AuthError.prototype);\r\n this.errorCode = errorCode || \"\";\r\n this.errorMessage = message || \"\";\r\n this.subError = suberror || \"\";\r\n this.correlationId = correlationId;\r\n this.name = \"AuthError\";\r\n }\r\n}\r\nfunction createAuthError(code, correlationId, additionalMessage) {\r\n return new AuthError(code, correlationId, additionalMessage || getDefaultErrorMessage(code));\r\n}\n\nexport { AuthError, createAuthError, getDefaultErrorMessage };\n//# sourceMappingURL=AuthError.mjs.map\n",null,null,null,null,null],"names":["getDefaultErrorMessage","BrowserAuthErrorCodes.popupRelayUnsupportedFlow","BrowserAuthErrorCodes.popupWindowError","BrowserAuthErrorCodes.userCancelled","BrowserAuthErrorCodes.timedOut"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! @azure/msal-browser v5.17.0 2026-07-07 */
|
|
2
|
+
"use strict";!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o((e="undefined"!=typeof globalThis?globalThis:e||self).msalPopupRelay={})}(this,function(e){class o extends Error{constructor(e,t,r,n){const s=r||(e?`See https://aka.ms/msal.js.errors#${e} for details`:"");super(s?`${e}: ${s}`:e),Object.setPrototypeOf(this,o.prototype),this.errorCode=e||"",this.errorMessage=s||"",this.subError=n||"",this.correlationId=t,this.name="AuthError"}}const t="popup_relay_unsupported_flow";class r extends o{constructor(e,o,t){super(e,o,`See https://aka.ms/msal.js.errors#${e} for details`,t),Object.setPrototypeOf(this,r.prototype),this.name="BrowserAuthError"}}function n(e,o,t){return new r(e,o,t)}var s;!function(e){e.Redirect="redirect",e.Popup="popup",e.Silent="silent",e.None="none"}(s||(s={}));e.runPopupRelay=function(e){const o=window.opener,r=window.location.origin,s=new URLSearchParams(window.location.hash.replace(/^#/,"")).get("req")||"";if("function"==typeof window.history.replaceState&&window.history.replaceState(null,"",window.location.origin+window.location.pathname),!o)throw n(t,"","popup_relay_no_opener");let i;try{i=JSON.parse(s)}catch(e){throw n(t,"","popup_relay_bad_request")}if(!i||!i.id)throw n(t,"","popup_relay_bad_request");const p=i.id,a=new BroadcastChannel(p);let l=!1;const c={},d=e=>{if(!l){l=!0;try{a.close()}catch(e){}clearInterval(c.closedPoll),clearTimeout(c.timeoutId),o.postMessage({type:"msal:popup-relay-response:v1",id:p,...e},r),setTimeout(()=>{try{window.close()}catch(e){}},0)}};a.onmessage=e=>{const o=e.data&&e.data.payload;o&&d({payload:o})};const u=function(e){const o=[`width=${e?.popupSize?.width||520}`,`height=${e?.popupSize?.height||640}`];return void 0!==e?.popupPosition?.top&&o.push(`top=${e.popupPosition.top}`),void 0!==e?.popupPosition?.left&&o.push(`left=${e.popupPosition.left}`),o.push("scrollbars=yes"),o.join(",")}(e?.popupWindowAttributes),h="POST"===i.method?window.open("about:blank","msalPopupRelayChild",u):window.open(i.url,"msalPopupRelayChild",u);h?("POST"===i.method&&function(e,o,t){const r=e.createElement("form");return r.method="post",r.action=o,Object.keys(t).forEach(o=>{const n=e.createElement("input");n.hidden=!0,n.name=o,n.value=t[o],r.appendChild(n)}),e.body.appendChild(r),r}(h.document,i.action,i.fields).submit(),c.closedPoll=window.setInterval(()=>{h.closed&&!l&&(clearTimeout(c.timeoutId),d({error:"user_cancelled"}))},500),c.timeoutId=window.setTimeout(()=>{if(!l){clearInterval(c.closedPoll);try{h.close()}catch(e){}d({error:"timed_out"})}},e?.timeoutMs||3e5)):d({error:"popup_window_error"})}});
|