@azure/msal-browser 4.16.0 → 4.19.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/PublicClientApplication.mjs +1 -1
- package/dist/app/PublicClientNext.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.d.ts.map +1 -1
- package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +3 -2
- package/dist/broker/nativeBroker/PlatformAuthProvider.mjs.map +1 -1
- package/dist/cache/AccountManager.mjs +1 -1
- package/dist/cache/AsyncMemoryStorage.mjs +1 -1
- package/dist/cache/BrowserCacheManager.d.ts +26 -11
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.mjs +239 -56
- package/dist/cache/BrowserCacheManager.mjs.map +1 -1
- package/dist/cache/CacheHelpers.d.ts +2 -2
- package/dist/cache/CacheHelpers.d.ts.map +1 -1
- package/dist/cache/CacheHelpers.mjs +6 -6
- package/dist/cache/CacheHelpers.mjs.map +1 -1
- package/dist/cache/CacheKeys.d.ts +14 -0
- package/dist/cache/CacheKeys.d.ts.map +1 -0
- package/dist/cache/CacheKeys.mjs +33 -0
- package/dist/cache/CacheKeys.mjs.map +1 -0
- package/dist/cache/CookieStorage.d.ts +1 -0
- package/dist/cache/CookieStorage.d.ts.map +1 -1
- package/dist/cache/CookieStorage.mjs +5 -1
- package/dist/cache/CookieStorage.mjs.map +1 -1
- package/dist/cache/DatabaseStorage.mjs +1 -1
- package/dist/cache/EncryptedData.d.ts +8 -0
- package/dist/cache/EncryptedData.d.ts.map +1 -0
- package/dist/cache/EncryptedData.mjs +14 -0
- package/dist/cache/EncryptedData.mjs.map +1 -0
- package/dist/cache/IWindowStorage.d.ts +2 -0
- package/dist/cache/IWindowStorage.d.ts.map +1 -1
- package/dist/cache/LocalStorage.d.ts +2 -0
- package/dist/cache/LocalStorage.d.ts.map +1 -1
- package/dist/cache/LocalStorage.mjs +46 -13
- package/dist/cache/LocalStorage.mjs.map +1 -1
- package/dist/cache/MemoryStorage.d.ts +1 -0
- package/dist/cache/MemoryStorage.d.ts.map +1 -1
- package/dist/cache/MemoryStorage.mjs +5 -1
- package/dist/cache/MemoryStorage.mjs.map +1 -1
- package/dist/cache/SessionStorage.d.ts +1 -0
- package/dist/cache/SessionStorage.d.ts.map +1 -1
- package/dist/cache/SessionStorage.mjs +5 -1
- package/dist/cache/SessionStorage.mjs.map +1 -1
- package/dist/cache/TokenCache.mjs +1 -1
- package/dist/config/Configuration.d.ts +4 -0
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.mjs +2 -1
- package/dist/config/Configuration.mjs.map +1 -1
- package/dist/controllers/ControllerFactory.mjs +1 -1
- package/dist/controllers/NestedAppAuthController.mjs +1 -1
- package/dist/controllers/StandardController.d.ts.map +1 -1
- package/dist/controllers/StandardController.mjs +2 -1
- package/dist/controllers/StandardController.mjs.map +1 -1
- package/dist/controllers/UnknownOperatingContextController.mjs +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.d.ts.map +1 -1
- package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +3 -2
- package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs.map +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.d.ts +26 -11
- package/dist/custom-auth-path/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +239 -56
- package/dist/custom-auth-path/cache/BrowserCacheManager.mjs.map +1 -1
- package/dist/custom-auth-path/cache/CacheHelpers.d.ts +2 -2
- package/dist/custom-auth-path/cache/CacheHelpers.d.ts.map +1 -1
- package/dist/custom-auth-path/cache/CacheHelpers.mjs +6 -6
- package/dist/custom-auth-path/cache/CacheHelpers.mjs.map +1 -1
- package/dist/custom-auth-path/cache/CacheKeys.d.ts +14 -0
- package/dist/custom-auth-path/cache/CacheKeys.d.ts.map +1 -0
- package/dist/custom-auth-path/cache/CacheKeys.mjs +32 -0
- package/dist/custom-auth-path/cache/CacheKeys.mjs.map +1 -0
- package/dist/custom-auth-path/cache/CookieStorage.d.ts +1 -0
- package/dist/custom-auth-path/cache/CookieStorage.d.ts.map +1 -1
- package/dist/custom-auth-path/cache/CookieStorage.mjs +5 -1
- package/dist/custom-auth-path/cache/CookieStorage.mjs.map +1 -1
- package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
- package/dist/custom-auth-path/cache/EncryptedData.d.ts +8 -0
- package/dist/custom-auth-path/cache/EncryptedData.d.ts.map +1 -0
- package/dist/custom-auth-path/cache/EncryptedData.mjs +14 -0
- package/dist/custom-auth-path/cache/EncryptedData.mjs.map +1 -0
- package/dist/custom-auth-path/cache/IWindowStorage.d.ts +2 -0
- package/dist/custom-auth-path/cache/IWindowStorage.d.ts.map +1 -1
- package/dist/custom-auth-path/cache/LocalStorage.d.ts +2 -0
- package/dist/custom-auth-path/cache/LocalStorage.d.ts.map +1 -1
- package/dist/custom-auth-path/cache/LocalStorage.mjs +46 -13
- package/dist/custom-auth-path/cache/LocalStorage.mjs.map +1 -1
- package/dist/custom-auth-path/cache/MemoryStorage.d.ts +1 -0
- package/dist/custom-auth-path/cache/MemoryStorage.d.ts.map +1 -1
- package/dist/custom-auth-path/cache/MemoryStorage.mjs +5 -1
- package/dist/custom-auth-path/cache/MemoryStorage.mjs.map +1 -1
- package/dist/custom-auth-path/cache/SessionStorage.d.ts +1 -0
- package/dist/custom-auth-path/cache/SessionStorage.d.ts.map +1 -1
- package/dist/custom-auth-path/cache/SessionStorage.mjs +5 -1
- package/dist/custom-auth-path/cache/SessionStorage.mjs.map +1 -1
- package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
- package/dist/custom-auth-path/config/Configuration.d.ts +4 -0
- package/dist/custom-auth-path/config/Configuration.d.ts.map +1 -1
- package/dist/custom-auth-path/config/Configuration.mjs +2 -1
- package/dist/custom-auth-path/config/Configuration.mjs.map +1 -1
- package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
- package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
- package/dist/custom-auth-path/controllers/StandardController.mjs +2 -1
- 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/CustomAuthActionInputs.d.ts +3 -0
- package/dist/custom-auth-path/custom_auth/CustomAuthActionInputs.d.ts.map +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.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +8 -2
- package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs.map +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.d.ts +5 -0
- package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +10 -1
- package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs.map +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/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/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/ResetPasswordApiClient.mjs +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +4 -1
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs.map +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/ApiRequestTypes.d.ts +1 -0
- package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +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.d.ts +1 -0
- package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +18 -2
- package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs.map +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.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +8 -4
- package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs.map +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.d.ts +5 -0
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +8 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs.map +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/SignInSubmitCredentialResult.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.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +2 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs.map +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.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +6 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs.map +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.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +2 -1
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs.map +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/auth_flow/state/SignInStateParameters.d.ts +1 -0
- package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +10 -1
- package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs.map +1 -1
- package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts +3 -0
- package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts.map +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/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +3 -7
- package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs.map +1 -1
- package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
- package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
- package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +2 -2
- package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
- package/dist/custom-auth-path/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -2
- package/dist/custom-auth-path/interaction_client/PopupClient.mjs.map +1 -1
- package/dist/custom-auth-path/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -2
- package/dist/custom-auth-path/interaction_client/RedirectClient.mjs.map +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.mjs +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.mjs +1 -1
- package/dist/custom-auth-path/naa/AccountInfo.d.ts +1 -0
- package/dist/custom-auth-path/naa/AccountInfo.d.ts.map +1 -1
- package/dist/custom-auth-path/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +3 -2
- package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs.map +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/request/RequestHelpers.mjs +1 -1
- package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
- package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/custom-auth-path/utils/BrowserConstants.d.ts +0 -10
- package/dist/custom-auth-path/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/custom-auth-path/utils/BrowserConstants.mjs +3 -11
- package/dist/custom-auth-path/utils/BrowserConstants.mjs.map +1 -1
- package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
- package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
- package/dist/custom-auth-path/utils/Helpers.d.ts +7 -0
- package/dist/custom-auth-path/utils/Helpers.d.ts.map +1 -0
- package/dist/custom-auth-path/utils/Helpers.mjs +20 -0
- package/dist/custom-auth-path/utils/Helpers.mjs.map +1 -0
- package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
- package/dist/custom_auth/CustomAuthActionInputs.d.ts +3 -0
- package/dist/custom_auth/CustomAuthActionInputs.d.ts.map +1 -1
- package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
- package/dist/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
- package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +5 -0
- package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
- package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +1 -0
- package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
- package/dist/custom_auth/core/utils/ArgumentValidator.d.ts +1 -0
- package/dist/custom_auth/core/utils/ArgumentValidator.d.ts.map +1 -1
- package/dist/custom_auth/get_account/auth_flow/CustomAuthAccountData.d.ts.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts +5 -0
- package/dist/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
- package/dist/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +1 -0
- package/dist/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
- package/dist/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
- package/dist/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts +3 -0
- package/dist/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts.map +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.mjs +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.mjs +3 -7
- package/dist/interaction_client/BaseInteractionClient.mjs.map +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
- package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/PlatformAuthInteractionClient.mjs +2 -2
- package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.mjs +1 -2
- package/dist/interaction_client/PopupClient.mjs.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.mjs +1 -2
- package/dist/interaction_client/RedirectClient.mjs.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
- package/dist/interaction_client/SilentCacheClient.mjs +1 -1
- package/dist/interaction_client/SilentIframeClient.mjs +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.mjs +1 -1
- package/dist/naa/AccountInfo.d.ts +1 -0
- package/dist/naa/AccountInfo.d.ts.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs +3 -1
- package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
- package/dist/navigation/NavigationClient.mjs +1 -1
- package/dist/network/FetchClient.mjs +1 -1
- package/dist/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
- package/dist/operatingcontext/BaseOperatingContext.mjs +3 -2
- package/dist/operatingcontext/BaseOperatingContext.mjs.map +1 -1
- package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
- package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
- package/dist/operatingcontext/UnknownOperatingContext.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/request/RequestHelpers.mjs +1 -1
- package/dist/response/ResponseHandler.mjs +1 -1
- package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/dist/telemetry/BrowserPerformanceClient.mjs +3 -2
- package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
- package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
- package/dist/utils/BrowserConstants.d.ts +0 -10
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.mjs +3 -12
- package/dist/utils/BrowserConstants.mjs.map +1 -1
- package/dist/utils/BrowserProtocolUtils.mjs +1 -1
- package/dist/utils/BrowserUtils.mjs +1 -1
- package/dist/utils/Helpers.d.ts +7 -0
- package/dist/utils/Helpers.d.ts.map +1 -0
- package/dist/utils/Helpers.mjs +20 -0
- package/dist/utils/Helpers.mjs.map +1 -0
- package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
- package/lib/custom-auth-path/msal-custom-auth.cjs +2663 -2482
- package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
- package/lib/custom-auth-path/types/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -1
- package/lib/custom-auth-path/types/cache/BrowserCacheManager.d.ts +26 -11
- package/lib/custom-auth-path/types/cache/BrowserCacheManager.d.ts.map +1 -1
- package/lib/custom-auth-path/types/cache/CacheHelpers.d.ts +2 -2
- package/lib/custom-auth-path/types/cache/CacheHelpers.d.ts.map +1 -1
- package/lib/custom-auth-path/types/cache/CacheKeys.d.ts +14 -0
- package/lib/custom-auth-path/types/cache/CacheKeys.d.ts.map +1 -0
- package/lib/custom-auth-path/types/cache/CookieStorage.d.ts +1 -0
- package/lib/custom-auth-path/types/cache/CookieStorage.d.ts.map +1 -1
- package/lib/custom-auth-path/types/cache/EncryptedData.d.ts +8 -0
- package/lib/custom-auth-path/types/cache/EncryptedData.d.ts.map +1 -0
- package/lib/custom-auth-path/types/cache/IWindowStorage.d.ts +2 -0
- package/lib/custom-auth-path/types/cache/IWindowStorage.d.ts.map +1 -1
- package/lib/custom-auth-path/types/cache/LocalStorage.d.ts +2 -0
- package/lib/custom-auth-path/types/cache/LocalStorage.d.ts.map +1 -1
- package/lib/custom-auth-path/types/cache/MemoryStorage.d.ts +1 -0
- package/lib/custom-auth-path/types/cache/MemoryStorage.d.ts.map +1 -1
- package/lib/custom-auth-path/types/cache/SessionStorage.d.ts +1 -0
- package/lib/custom-auth-path/types/cache/SessionStorage.d.ts.map +1 -1
- package/lib/custom-auth-path/types/config/Configuration.d.ts +4 -0
- package/lib/custom-auth-path/types/config/Configuration.d.ts.map +1 -1
- package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/CustomAuthActionInputs.d.ts +3 -0
- package/lib/custom-auth-path/types/custom_auth/CustomAuthActionInputs.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
- package/lib/custom-auth-path/types/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +5 -0
- package/lib/custom-auth-path/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +1 -0
- package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/core/utils/ArgumentValidator.d.ts +1 -0
- package/lib/custom-auth-path/types/custom_auth/core/utils/ArgumentValidator.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/get_account/auth_flow/CustomAuthAccountData.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts +5 -0
- package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +1 -0
- package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts +3 -0
- package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts.map +1 -1
- package/lib/custom-auth-path/types/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/interaction_client/PopupClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/interaction_client/RedirectClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/naa/AccountInfo.d.ts +1 -0
- package/lib/custom-auth-path/types/naa/AccountInfo.d.ts.map +1 -1
- package/lib/custom-auth-path/types/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
- package/lib/custom-auth-path/types/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
- package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
- package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/lib/custom-auth-path/types/utils/BrowserConstants.d.ts +0 -10
- package/lib/custom-auth-path/types/utils/BrowserConstants.d.ts.map +1 -1
- package/lib/custom-auth-path/types/utils/Helpers.d.ts +7 -0
- package/lib/custom-auth-path/types/utils/Helpers.d.ts.map +1 -0
- package/lib/msal-browser.cjs +2762 -2629
- package/lib/msal-browser.cjs.map +1 -1
- package/lib/msal-browser.js +2762 -2629
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +67 -69
- package/lib/types/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -1
- package/lib/types/cache/BrowserCacheManager.d.ts +26 -11
- package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
- package/lib/types/cache/CacheHelpers.d.ts +2 -2
- package/lib/types/cache/CacheHelpers.d.ts.map +1 -1
- package/lib/types/cache/CacheKeys.d.ts +14 -0
- package/lib/types/cache/CacheKeys.d.ts.map +1 -0
- package/lib/types/cache/CookieStorage.d.ts +1 -0
- package/lib/types/cache/CookieStorage.d.ts.map +1 -1
- package/lib/types/cache/EncryptedData.d.ts +8 -0
- package/lib/types/cache/EncryptedData.d.ts.map +1 -0
- package/lib/types/cache/IWindowStorage.d.ts +2 -0
- package/lib/types/cache/IWindowStorage.d.ts.map +1 -1
- package/lib/types/cache/LocalStorage.d.ts +2 -0
- package/lib/types/cache/LocalStorage.d.ts.map +1 -1
- package/lib/types/cache/MemoryStorage.d.ts +1 -0
- package/lib/types/cache/MemoryStorage.d.ts.map +1 -1
- package/lib/types/cache/SessionStorage.d.ts +1 -0
- package/lib/types/cache/SessionStorage.d.ts.map +1 -1
- package/lib/types/config/Configuration.d.ts +4 -0
- package/lib/types/config/Configuration.d.ts.map +1 -1
- package/lib/types/controllers/StandardController.d.ts.map +1 -1
- package/lib/types/custom_auth/CustomAuthActionInputs.d.ts +3 -0
- package/lib/types/custom_auth/CustomAuthActionInputs.d.ts.map +1 -1
- package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
- package/lib/types/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
- package/lib/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +5 -0
- package/lib/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
- package/lib/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
- package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +1 -0
- package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
- package/lib/types/custom_auth/core/utils/ArgumentValidator.d.ts +1 -0
- package/lib/types/custom_auth/core/utils/ArgumentValidator.d.ts.map +1 -1
- package/lib/types/custom_auth/get_account/auth_flow/CustomAuthAccountData.d.ts.map +1 -1
- package/lib/types/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts +5 -0
- package/lib/types/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts.map +1 -1
- package/lib/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
- package/lib/types/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
- package/lib/types/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
- package/lib/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +1 -0
- package/lib/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
- package/lib/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
- package/lib/types/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts +3 -0
- package/lib/types/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts.map +1 -1
- package/lib/types/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
- package/lib/types/interaction_client/PopupClient.d.ts.map +1 -1
- package/lib/types/interaction_client/RedirectClient.d.ts.map +1 -1
- package/lib/types/naa/AccountInfo.d.ts +1 -0
- package/lib/types/naa/AccountInfo.d.ts.map +1 -1
- package/lib/types/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
- package/lib/types/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
- package/lib/types/packageMetadata.d.ts +1 -1
- package/lib/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
- package/lib/types/utils/BrowserConstants.d.ts +0 -10
- package/lib/types/utils/BrowserConstants.d.ts.map +1 -1
- package/lib/types/utils/Helpers.d.ts +7 -0
- package/lib/types/utils/Helpers.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/broker/nativeBroker/PlatformAuthProvider.ts +2 -4
- package/src/cache/BrowserCacheManager.ts +381 -61
- package/src/cache/CacheHelpers.ts +13 -5
- package/src/cache/CacheKeys.ts +39 -0
- package/src/cache/CookieStorage.ts +5 -0
- package/src/cache/EncryptedData.ts +19 -0
- package/src/cache/IWindowStorage.ts +8 -0
- package/src/cache/LocalStorage.ts +83 -27
- package/src/cache/MemoryStorage.ts +5 -0
- package/src/cache/SessionStorage.ts +5 -0
- package/src/config/Configuration.ts +5 -0
- package/src/controllers/StandardController.ts +1 -0
- package/src/custom_auth/CustomAuthActionInputs.ts +3 -0
- package/src/custom_auth/controller/CustomAuthStandardController.ts +18 -10
- package/src/custom_auth/core/auth_flow/AuthFlowErrorBase.ts +12 -0
- package/src/custom_auth/core/network_client/custom_auth_api/SignInApiClient.ts +3 -0
- package/src/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.ts +1 -0
- package/src/custom_auth/core/utils/ArgumentValidator.ts +22 -0
- package/src/custom_auth/get_account/auth_flow/CustomAuthAccountData.ts +24 -9
- package/src/custom_auth/sign_in/auth_flow/error_type/SignInError.ts +8 -0
- package/src/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.ts +1 -0
- package/src/custom_auth/sign_in/auth_flow/state/SignInContinuationState.ts +10 -0
- package/src/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.ts +1 -0
- package/src/custom_auth/sign_in/auth_flow/state/SignInStateParameters.ts +1 -0
- package/src/custom_auth/sign_in/interaction_client/SignInClient.ts +9 -0
- package/src/custom_auth/sign_in/interaction_client/parameter/SignInParams.ts +3 -0
- package/src/interaction_client/BaseInteractionClient.ts +1 -15
- package/src/interaction_client/PlatformAuthInteractionClient.ts +4 -2
- package/src/interaction_client/PopupClient.ts +0 -5
- package/src/interaction_client/RedirectClient.ts +0 -5
- package/src/naa/AccountInfo.ts +1 -0
- package/src/naa/mapping/NestedAppAuthAdapter.ts +4 -0
- package/src/operatingcontext/BaseOperatingContext.ts +2 -5
- package/src/packageMetadata.ts +1 -1
- package/src/telemetry/BrowserPerformanceClient.ts +2 -4
- package/src/utils/BrowserConstants.ts +0 -15
- package/src/utils/Helpers.ts +19 -0
|
@@ -4,16 +4,21 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import { TokenKeys } from "@azure/msal-common/browser";
|
|
7
|
-
import { StaticCacheKeys } from "../utils/BrowserConstants.js";
|
|
8
7
|
import { IWindowStorage } from "./IWindowStorage.js";
|
|
8
|
+
import * as CacheKeys from "./CacheKeys.js";
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Returns a list of cache keys for all known accounts
|
|
12
12
|
* @param storage
|
|
13
13
|
* @returns
|
|
14
14
|
*/
|
|
15
|
-
export function getAccountKeys(
|
|
16
|
-
|
|
15
|
+
export function getAccountKeys(
|
|
16
|
+
storage: IWindowStorage<string>,
|
|
17
|
+
schemaVersion?: number
|
|
18
|
+
): Array<string> {
|
|
19
|
+
const accountKeys = storage.getItem(
|
|
20
|
+
CacheKeys.getAccountKeysCacheKey(schemaVersion)
|
|
21
|
+
);
|
|
17
22
|
if (accountKeys) {
|
|
18
23
|
return JSON.parse(accountKeys);
|
|
19
24
|
}
|
|
@@ -29,9 +34,12 @@ export function getAccountKeys(storage: IWindowStorage<string>): Array<string> {
|
|
|
29
34
|
*/
|
|
30
35
|
export function getTokenKeys(
|
|
31
36
|
clientId: string,
|
|
32
|
-
storage: IWindowStorage<string
|
|
37
|
+
storage: IWindowStorage<string>,
|
|
38
|
+
schemaVersion?: number
|
|
33
39
|
): TokenKeys {
|
|
34
|
-
const item = storage.getItem(
|
|
40
|
+
const item = storage.getItem(
|
|
41
|
+
CacheKeys.getTokenKeysCacheKey(clientId, schemaVersion)
|
|
42
|
+
);
|
|
35
43
|
if (item) {
|
|
36
44
|
const tokenKeys = JSON.parse(item);
|
|
37
45
|
if (
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export const PREFIX = "msal";
|
|
7
|
+
const BROWSER_PREFIX = "browser";
|
|
8
|
+
export const CACHE_KEY_SEPARATOR = "-";
|
|
9
|
+
export const CREDENTIAL_SCHEMA_VERSION = 1;
|
|
10
|
+
export const ACCOUNT_SCHEMA_VERSION = 1;
|
|
11
|
+
|
|
12
|
+
export const LOG_LEVEL_CACHE_KEY = `${PREFIX}.${BROWSER_PREFIX}.log.level`;
|
|
13
|
+
export const LOG_PII_CACHE_KEY = `${PREFIX}.${BROWSER_PREFIX}.log.pii`;
|
|
14
|
+
export const BROWSER_PERF_ENABLED_KEY = `${PREFIX}.${BROWSER_PREFIX}.performance.enabled`;
|
|
15
|
+
export const PLATFORM_AUTH_DOM_SUPPORT = `${PREFIX}.${BROWSER_PREFIX}.platform.auth.dom`;
|
|
16
|
+
export const VERSION_CACHE_KEY = `${PREFIX}.version`;
|
|
17
|
+
export const ACCOUNT_KEYS = "account.keys";
|
|
18
|
+
export const TOKEN_KEYS = "token.keys";
|
|
19
|
+
|
|
20
|
+
export function getAccountKeysCacheKey(
|
|
21
|
+
schema: number = ACCOUNT_SCHEMA_VERSION
|
|
22
|
+
): string {
|
|
23
|
+
if (schema < 1) {
|
|
24
|
+
return `${PREFIX}.${ACCOUNT_KEYS}`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return `${PREFIX}.${schema}.${ACCOUNT_KEYS}`;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function getTokenKeysCacheKey(
|
|
31
|
+
clientId: string,
|
|
32
|
+
schema: number = CREDENTIAL_SCHEMA_VERSION
|
|
33
|
+
): string {
|
|
34
|
+
if (schema < 1) {
|
|
35
|
+
return `${PREFIX}.${TOKEN_KEYS}.${clientId}`;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return `${PREFIX}.${schema}.${TOKEN_KEYS}.${clientId}`;
|
|
39
|
+
}
|
|
@@ -92,6 +92,11 @@ export class CookieStorage implements IWindowStorage<string> {
|
|
|
92
92
|
containsKey(key: string): boolean {
|
|
93
93
|
return this.getKeys().includes(key);
|
|
94
94
|
}
|
|
95
|
+
|
|
96
|
+
decryptData(): Promise<object | null> {
|
|
97
|
+
// Cookie storage does not support encryption, so this method is a no-op
|
|
98
|
+
return Promise.resolve(null);
|
|
99
|
+
}
|
|
95
100
|
}
|
|
96
101
|
|
|
97
102
|
/**
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
3
|
+
* Licensed under the MIT License.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export type EncryptedData = {
|
|
7
|
+
id: string;
|
|
8
|
+
nonce: string;
|
|
9
|
+
data: string;
|
|
10
|
+
lastUpdatedAt: string;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export function isEncrypted(data: object): data is EncryptedData {
|
|
14
|
+
return (
|
|
15
|
+
data.hasOwnProperty("id") &&
|
|
16
|
+
data.hasOwnProperty("nonce") &&
|
|
17
|
+
data.hasOwnProperty("data")
|
|
18
|
+
);
|
|
19
|
+
}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
import { EncryptedData } from "./EncryptedData.js";
|
|
7
|
+
|
|
6
8
|
export interface IWindowStorage<T> {
|
|
7
9
|
/**
|
|
8
10
|
* Async initializer
|
|
@@ -52,4 +54,10 @@ export interface IWindowStorage<T> {
|
|
|
52
54
|
* @param key
|
|
53
55
|
*/
|
|
54
56
|
containsKey(key: string): boolean;
|
|
57
|
+
|
|
58
|
+
decryptData(
|
|
59
|
+
key: string,
|
|
60
|
+
data: EncryptedData,
|
|
61
|
+
correlationId: string
|
|
62
|
+
): Promise<object | null>;
|
|
55
63
|
}
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
|
-
Constants,
|
|
8
7
|
TokenKeys,
|
|
9
8
|
IPerformanceClient,
|
|
10
9
|
invokeAsync,
|
|
@@ -33,7 +32,8 @@ import { CookieStorage, SameSiteOptions } from "./CookieStorage.js";
|
|
|
33
32
|
import { IWindowStorage } from "./IWindowStorage.js";
|
|
34
33
|
import { MemoryStorage } from "./MemoryStorage.js";
|
|
35
34
|
import { getAccountKeys, getTokenKeys } from "./CacheHelpers.js";
|
|
36
|
-
import
|
|
35
|
+
import * as CacheKeys from "./CacheKeys.js";
|
|
36
|
+
import { EncryptedData, isEncrypted } from "./EncryptedData.js";
|
|
37
37
|
|
|
38
38
|
const ENCRYPTION_KEY = "msal.cache.encryption";
|
|
39
39
|
const BROADCAST_CHANNEL_NAME = "msal.broadcast.cache";
|
|
@@ -43,13 +43,6 @@ type EncryptionCookie = {
|
|
|
43
43
|
key: CryptoKey;
|
|
44
44
|
};
|
|
45
45
|
|
|
46
|
-
type EncryptedData = {
|
|
47
|
-
id: string;
|
|
48
|
-
nonce: string;
|
|
49
|
-
data: string;
|
|
50
|
-
lastUpdatedAt: string;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
46
|
export class LocalStorage implements IWindowStorage<string> {
|
|
54
47
|
private clientId: string;
|
|
55
48
|
private initialized: boolean;
|
|
@@ -105,16 +98,8 @@ export class LocalStorage implements IWindowStorage<string> {
|
|
|
105
98
|
correlationId
|
|
106
99
|
)(baseKey),
|
|
107
100
|
};
|
|
108
|
-
await invokeAsync(
|
|
109
|
-
this.importExistingCache.bind(this),
|
|
110
|
-
PerformanceEvents.ImportExistingCache,
|
|
111
|
-
this.logger,
|
|
112
|
-
this.performanceClient,
|
|
113
|
-
correlationId
|
|
114
|
-
)(correlationId);
|
|
115
101
|
} else {
|
|
116
|
-
// Encryption key doesn't exist or is invalid, generate a new one
|
|
117
|
-
this.clear();
|
|
102
|
+
// Encryption key doesn't exist or is invalid, generate a new one
|
|
118
103
|
const id = createNewGuid();
|
|
119
104
|
const baseKey = await invokeAsync(
|
|
120
105
|
generateBaseKey,
|
|
@@ -155,6 +140,14 @@ export class LocalStorage implements IWindowStorage<string> {
|
|
|
155
140
|
);
|
|
156
141
|
}
|
|
157
142
|
|
|
143
|
+
await invokeAsync(
|
|
144
|
+
this.importExistingCache.bind(this),
|
|
145
|
+
PerformanceEvents.ImportExistingCache,
|
|
146
|
+
this.logger,
|
|
147
|
+
this.performanceClient,
|
|
148
|
+
correlationId
|
|
149
|
+
)(correlationId);
|
|
150
|
+
|
|
158
151
|
// Register listener for cache updates in other tabs
|
|
159
152
|
this.broadcast.addEventListener("message", this.updateCache.bind(this));
|
|
160
153
|
|
|
@@ -174,6 +167,54 @@ export class LocalStorage implements IWindowStorage<string> {
|
|
|
174
167
|
return this.memoryStorage.getItem(key);
|
|
175
168
|
}
|
|
176
169
|
|
|
170
|
+
async decryptData(
|
|
171
|
+
key: string,
|
|
172
|
+
data: EncryptedData,
|
|
173
|
+
correlationId: string
|
|
174
|
+
): Promise<object | null> {
|
|
175
|
+
if (!this.initialized || !this.encryptionCookie) {
|
|
176
|
+
throw createBrowserAuthError(
|
|
177
|
+
BrowserAuthErrorCodes.uninitializedPublicClientApplication
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (data.id !== this.encryptionCookie.id) {
|
|
182
|
+
// Data was encrypted with a different key. It must be removed because it is from a previous session.
|
|
183
|
+
this.performanceClient.incrementFields(
|
|
184
|
+
{ encryptedCacheExpiredCount: 1 },
|
|
185
|
+
correlationId
|
|
186
|
+
);
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
const decryptedData = await invokeAsync(
|
|
191
|
+
decrypt,
|
|
192
|
+
PerformanceEvents.Decrypt,
|
|
193
|
+
this.logger,
|
|
194
|
+
this.performanceClient,
|
|
195
|
+
correlationId
|
|
196
|
+
)(
|
|
197
|
+
this.encryptionCookie.key,
|
|
198
|
+
data.nonce,
|
|
199
|
+
this.getContext(key),
|
|
200
|
+
data.data
|
|
201
|
+
);
|
|
202
|
+
|
|
203
|
+
if (!decryptedData) {
|
|
204
|
+
return null;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
try {
|
|
208
|
+
return JSON.parse(decryptedData);
|
|
209
|
+
} catch (e) {
|
|
210
|
+
this.performanceClient.incrementFields(
|
|
211
|
+
{ encryptedCacheCorruptionCount: 1 },
|
|
212
|
+
correlationId
|
|
213
|
+
);
|
|
214
|
+
return null;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
177
218
|
setItem(key: string, value: string): void {
|
|
178
219
|
window.localStorage.setItem(key, value);
|
|
179
220
|
}
|
|
@@ -252,7 +293,7 @@ export class LocalStorage implements IWindowStorage<string> {
|
|
|
252
293
|
// Clean up anything left
|
|
253
294
|
this.getKeys().forEach((cacheKey: string) => {
|
|
254
295
|
if (
|
|
255
|
-
cacheKey.startsWith(
|
|
296
|
+
cacheKey.startsWith(CacheKeys.PREFIX) ||
|
|
256
297
|
cacheKey.indexOf(this.clientId) !== -1
|
|
257
298
|
) {
|
|
258
299
|
this.removeItem(cacheKey);
|
|
@@ -272,7 +313,14 @@ export class LocalStorage implements IWindowStorage<string> {
|
|
|
272
313
|
let accountKeys = getAccountKeys(this);
|
|
273
314
|
accountKeys = await this.importArray(accountKeys, correlationId);
|
|
274
315
|
// Write valid account keys back to map
|
|
275
|
-
|
|
316
|
+
if (accountKeys.length) {
|
|
317
|
+
this.setItem(
|
|
318
|
+
CacheKeys.getAccountKeysCacheKey(),
|
|
319
|
+
JSON.stringify(accountKeys)
|
|
320
|
+
);
|
|
321
|
+
} else {
|
|
322
|
+
this.removeItem(CacheKeys.getAccountKeysCacheKey());
|
|
323
|
+
}
|
|
276
324
|
|
|
277
325
|
const tokenKeys: TokenKeys = getTokenKeys(this.clientId, this);
|
|
278
326
|
tokenKeys.idToken = await this.importArray(
|
|
@@ -288,10 +336,18 @@ export class LocalStorage implements IWindowStorage<string> {
|
|
|
288
336
|
correlationId
|
|
289
337
|
);
|
|
290
338
|
// Write valid token keys back to map
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
339
|
+
if (
|
|
340
|
+
tokenKeys.idToken.length ||
|
|
341
|
+
tokenKeys.accessToken.length ||
|
|
342
|
+
tokenKeys.refreshToken.length
|
|
343
|
+
) {
|
|
344
|
+
this.setItem(
|
|
345
|
+
CacheKeys.getTokenKeysCacheKey(this.clientId),
|
|
346
|
+
JSON.stringify(tokenKeys)
|
|
347
|
+
);
|
|
348
|
+
} else {
|
|
349
|
+
this.removeItem(CacheKeys.getTokenKeysCacheKey(this.clientId));
|
|
350
|
+
}
|
|
295
351
|
}
|
|
296
352
|
|
|
297
353
|
/**
|
|
@@ -320,13 +376,13 @@ export class LocalStorage implements IWindowStorage<string> {
|
|
|
320
376
|
return null;
|
|
321
377
|
}
|
|
322
378
|
|
|
323
|
-
if (!encObj
|
|
324
|
-
// Data is not encrypted
|
|
379
|
+
if (!isEncrypted(encObj)) {
|
|
380
|
+
// Data is not encrypted
|
|
325
381
|
this.performanceClient.incrementFields(
|
|
326
382
|
{ unencryptedCacheCount: 1 },
|
|
327
383
|
correlationId
|
|
328
384
|
);
|
|
329
|
-
return
|
|
385
|
+
return encObj;
|
|
330
386
|
}
|
|
331
387
|
|
|
332
388
|
if (encObj.id !== this.encryptionCookie.id) {
|
|
@@ -51,4 +51,9 @@ export class MemoryStorage<T> implements IWindowStorage<T> {
|
|
|
51
51
|
clear(): void {
|
|
52
52
|
this.cache.clear();
|
|
53
53
|
}
|
|
54
|
+
|
|
55
|
+
decryptData(): Promise<object | null> {
|
|
56
|
+
// Memory storage does not support encryption, so this method is a no-op
|
|
57
|
+
return Promise.resolve(null);
|
|
58
|
+
}
|
|
54
59
|
}
|
|
@@ -49,4 +49,9 @@ export class SessionStorage implements IWindowStorage<string> {
|
|
|
49
49
|
containsKey(key: string): boolean {
|
|
50
50
|
return window.sessionStorage.hasOwnProperty(key);
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
decryptData(): Promise<object | null> {
|
|
54
|
+
// Session storage does not support encryption, so this method is a no-op
|
|
55
|
+
return Promise.resolve(null);
|
|
56
|
+
}
|
|
52
57
|
}
|
|
@@ -132,6 +132,10 @@ export type CacheOptions = {
|
|
|
132
132
|
* Used to specify the cacheLocation user wants to set. Valid values are "localStorage", "sessionStorage" and "memoryStorage".
|
|
133
133
|
*/
|
|
134
134
|
cacheLocation?: BrowserCacheLocation | string;
|
|
135
|
+
/**
|
|
136
|
+
* Used to specify the number of days cache entries written by previous versions of MSAL.js should be retained in the browser. Defaults to 5 days.
|
|
137
|
+
*/
|
|
138
|
+
cacheRetentionDays?: number;
|
|
135
139
|
/**
|
|
136
140
|
* Used to specify the temporaryCacheLocation user wants to set. Valid values are "localStorage", "sessionStorage" and "memoryStorage".
|
|
137
141
|
* @deprecated This option is deprecated and will be removed in the next major version.
|
|
@@ -311,6 +315,7 @@ export function buildConfiguration(
|
|
|
311
315
|
// Default cache options for browser
|
|
312
316
|
const DEFAULT_CACHE_OPTIONS: Required<CacheOptions> = {
|
|
313
317
|
cacheLocation: BrowserCacheLocation.SessionStorage,
|
|
318
|
+
cacheRetentionDays: 5,
|
|
314
319
|
temporaryCacheLocation: BrowserCacheLocation.SessionStorage,
|
|
315
320
|
storeAuthStateInCookie: false,
|
|
316
321
|
secureCookies: false,
|
|
@@ -262,6 +262,7 @@ export class StandardController implements IController {
|
|
|
262
262
|
// initialize in memory storage for native flows
|
|
263
263
|
const nativeCacheOptions: Required<CacheOptions> = {
|
|
264
264
|
cacheLocation: BrowserCacheLocation.MemoryStorage,
|
|
265
|
+
cacheRetentionDays: 5,
|
|
265
266
|
temporaryCacheLocation: BrowserCacheLocation.MemoryStorage,
|
|
266
267
|
storeAuthStateInCookie: false,
|
|
267
268
|
secureCookies: false,
|
|
@@ -15,6 +15,7 @@ export type SignInInputs = CustomAuthActionInputs & {
|
|
|
15
15
|
username: string;
|
|
16
16
|
password?: string;
|
|
17
17
|
scopes?: Array<string>;
|
|
18
|
+
claims?: string;
|
|
18
19
|
};
|
|
19
20
|
|
|
20
21
|
export type SignUpInputs = CustomAuthActionInputs & {
|
|
@@ -30,8 +31,10 @@ export type ResetPasswordInputs = CustomAuthActionInputs & {
|
|
|
30
31
|
export type AccessTokenRetrievalInputs = {
|
|
31
32
|
forceRefresh: boolean;
|
|
32
33
|
scopes?: Array<string>;
|
|
34
|
+
claims?: string;
|
|
33
35
|
};
|
|
34
36
|
|
|
35
37
|
export type SignInWithContinuationTokenInputs = {
|
|
36
38
|
scopes?: Array<string>;
|
|
39
|
+
claims?: string;
|
|
37
40
|
};
|
|
@@ -41,10 +41,7 @@ import { CustomAuthApiClient } from "../core/network_client/custom_auth_api/Cust
|
|
|
41
41
|
import { FetchHttpClient } from "../core/network_client/http_client/FetchHttpClient.js";
|
|
42
42
|
import { ResetPasswordClient } from "../reset_password/interaction_client/ResetPasswordClient.js";
|
|
43
43
|
import { NoCachedAccountFoundError } from "../core/error/NoCachedAccountFoundError.js";
|
|
44
|
-
import
|
|
45
|
-
ensureArgumentIsNotEmptyString,
|
|
46
|
-
ensureArgumentIsNotNullOrUndefined,
|
|
47
|
-
} from "../core/utils/ArgumentValidator.js";
|
|
44
|
+
import * as ArgumentValidator from "../core/utils/ArgumentValidator.js";
|
|
48
45
|
import { UserAlreadySignedInError } from "../core/error/UserAlreadySignedInError.js";
|
|
49
46
|
import { CustomAuthSilentCacheClient } from "../get_account/interaction_client/CustomAuthSilentCacheClient.js";
|
|
50
47
|
import { UnsupportedEnvironmentError } from "../core/error/UnsupportedEnvironmentError.js";
|
|
@@ -177,19 +174,27 @@ export class CustomAuthStandardController
|
|
|
177
174
|
const correlationId = this.getCorrelationId(signInInputs);
|
|
178
175
|
|
|
179
176
|
try {
|
|
180
|
-
ensureArgumentIsNotNullOrUndefined(
|
|
177
|
+
ArgumentValidator.ensureArgumentIsNotNullOrUndefined(
|
|
181
178
|
"signInInputs",
|
|
182
179
|
signInInputs,
|
|
183
180
|
correlationId
|
|
184
181
|
);
|
|
185
182
|
|
|
186
|
-
ensureArgumentIsNotEmptyString(
|
|
183
|
+
ArgumentValidator.ensureArgumentIsNotEmptyString(
|
|
187
184
|
"signInInputs.username",
|
|
188
185
|
signInInputs.username,
|
|
189
186
|
correlationId
|
|
190
187
|
);
|
|
191
188
|
this.ensureUserNotSignedIn(correlationId);
|
|
192
189
|
|
|
190
|
+
if (signInInputs.claims) {
|
|
191
|
+
ArgumentValidator.ensureArgumentIsJSONString(
|
|
192
|
+
"signInInputs.claims",
|
|
193
|
+
signInInputs.claims,
|
|
194
|
+
correlationId
|
|
195
|
+
);
|
|
196
|
+
}
|
|
197
|
+
|
|
193
198
|
// start the signin flow
|
|
194
199
|
const signInStartParams: SignInStartParams = {
|
|
195
200
|
clientId: this.customAuthConfig.auth.clientId,
|
|
@@ -231,6 +236,7 @@ export class CustomAuthStandardController
|
|
|
231
236
|
username: signInInputs.username,
|
|
232
237
|
codeLength: startResult.codeLength,
|
|
233
238
|
scopes: signInInputs.scopes ?? [],
|
|
239
|
+
claims: signInInputs.claims,
|
|
234
240
|
})
|
|
235
241
|
);
|
|
236
242
|
} else if (
|
|
@@ -258,6 +264,7 @@ export class CustomAuthStandardController
|
|
|
258
264
|
cacheClient: this.cacheClient,
|
|
259
265
|
username: signInInputs.username,
|
|
260
266
|
scopes: signInInputs.scopes ?? [],
|
|
267
|
+
claims: signInInputs.claims,
|
|
261
268
|
})
|
|
262
269
|
);
|
|
263
270
|
}
|
|
@@ -277,6 +284,7 @@ export class CustomAuthStandardController
|
|
|
277
284
|
continuationToken: startResult.continuationToken,
|
|
278
285
|
password: signInInputs.password,
|
|
279
286
|
username: signInInputs.username,
|
|
287
|
+
claims: signInInputs.claims,
|
|
280
288
|
};
|
|
281
289
|
|
|
282
290
|
const completedResult = await this.signInClient.submitPassword(
|
|
@@ -327,13 +335,13 @@ export class CustomAuthStandardController
|
|
|
327
335
|
const correlationId = this.getCorrelationId(signUpInputs);
|
|
328
336
|
|
|
329
337
|
try {
|
|
330
|
-
ensureArgumentIsNotNullOrUndefined(
|
|
338
|
+
ArgumentValidator.ensureArgumentIsNotNullOrUndefined(
|
|
331
339
|
"signUpInputs",
|
|
332
340
|
signUpInputs,
|
|
333
341
|
correlationId
|
|
334
342
|
);
|
|
335
343
|
|
|
336
|
-
ensureArgumentIsNotEmptyString(
|
|
344
|
+
ArgumentValidator.ensureArgumentIsNotEmptyString(
|
|
337
345
|
"signUpInputs.username",
|
|
338
346
|
signUpInputs.username,
|
|
339
347
|
correlationId
|
|
@@ -439,13 +447,13 @@ export class CustomAuthStandardController
|
|
|
439
447
|
const correlationId = this.getCorrelationId(resetPasswordInputs);
|
|
440
448
|
|
|
441
449
|
try {
|
|
442
|
-
ensureArgumentIsNotNullOrUndefined(
|
|
450
|
+
ArgumentValidator.ensureArgumentIsNotNullOrUndefined(
|
|
443
451
|
"resetPasswordInputs",
|
|
444
452
|
resetPasswordInputs,
|
|
445
453
|
correlationId
|
|
446
454
|
);
|
|
447
455
|
|
|
448
|
-
ensureArgumentIsNotEmptyString(
|
|
456
|
+
ArgumentValidator.ensureArgumentIsNotEmptyString(
|
|
449
457
|
"resetPasswordInputs.username",
|
|
450
458
|
resetPasswordInputs.username,
|
|
451
459
|
correlationId
|
|
@@ -127,6 +127,18 @@ export abstract class AuthFlowErrorBase {
|
|
|
127
127
|
this.errorData.error === CustomAuthApiErrorCode.EXPIRED_TOKEN
|
|
128
128
|
);
|
|
129
129
|
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* @todo verify the password change required error can be detected once the MFA is in place.
|
|
133
|
+
* This error will be raised during signin and refresh tokens when calling /token endpoint.
|
|
134
|
+
*/
|
|
135
|
+
protected isPasswordResetRequiredError(): boolean {
|
|
136
|
+
return (
|
|
137
|
+
this.errorData instanceof CustomAuthApiError &&
|
|
138
|
+
this.errorData.error === CustomAuthApiErrorCode.INVALID_REQUEST &&
|
|
139
|
+
this.errorData.errorCodes?.includes(50142) === true
|
|
140
|
+
);
|
|
141
|
+
}
|
|
130
142
|
}
|
|
131
143
|
|
|
132
144
|
export abstract class AuthActionErrorBase extends AuthFlowErrorBase {
|
|
@@ -90,6 +90,7 @@ export class SignInApiClient extends BaseApiClient {
|
|
|
90
90
|
grant_type: GrantType.PASSWORD,
|
|
91
91
|
scope: params.scope,
|
|
92
92
|
password: params.password,
|
|
93
|
+
...(params.claims && { claims: params.claims }),
|
|
93
94
|
},
|
|
94
95
|
params.telemetryManager,
|
|
95
96
|
params.correlationId
|
|
@@ -105,6 +106,7 @@ export class SignInApiClient extends BaseApiClient {
|
|
|
105
106
|
scope: params.scope,
|
|
106
107
|
oob: params.oob,
|
|
107
108
|
grant_type: GrantType.OOB,
|
|
109
|
+
...(params.claims && { claims: params.claims }),
|
|
108
110
|
},
|
|
109
111
|
params.telemetryManager,
|
|
110
112
|
params.correlationId
|
|
@@ -121,6 +123,7 @@ export class SignInApiClient extends BaseApiClient {
|
|
|
121
123
|
scope: params.scope,
|
|
122
124
|
grant_type: GrantType.CONTINUATION_TOKEN,
|
|
123
125
|
client_info: true,
|
|
126
|
+
...(params.claims && { claims: params.claims }),
|
|
124
127
|
},
|
|
125
128
|
params.telemetryManager,
|
|
126
129
|
params.correlationId
|
|
@@ -19,6 +19,7 @@ export interface SignInChallengeRequest extends ApiRequestBase {
|
|
|
19
19
|
interface SignInTokenRequestBase extends ApiRequestBase {
|
|
20
20
|
continuation_token: string;
|
|
21
21
|
scope: string;
|
|
22
|
+
claims?: string;
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export interface SignInPasswordTokenRequest extends SignInTokenRequestBase {
|
|
@@ -24,3 +24,25 @@ export function ensureArgumentIsNotEmptyString(
|
|
|
24
24
|
throw new InvalidArgumentError(argName, correlationId);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
export function ensureArgumentIsJSONString(
|
|
29
|
+
argName: string,
|
|
30
|
+
argValue: string,
|
|
31
|
+
correlationId?: string
|
|
32
|
+
): void {
|
|
33
|
+
try {
|
|
34
|
+
const parsed = JSON.parse(argValue);
|
|
35
|
+
if (
|
|
36
|
+
typeof parsed !== "object" ||
|
|
37
|
+
parsed === null ||
|
|
38
|
+
Array.isArray(parsed)
|
|
39
|
+
) {
|
|
40
|
+
throw new InvalidArgumentError(argName, correlationId);
|
|
41
|
+
}
|
|
42
|
+
} catch (e) {
|
|
43
|
+
if (e instanceof SyntaxError) {
|
|
44
|
+
throw new InvalidArgumentError(argName, correlationId);
|
|
45
|
+
}
|
|
46
|
+
throw e; // Rethrow unexpected errors
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -18,10 +18,7 @@ import {
|
|
|
18
18
|
TokenClaims,
|
|
19
19
|
} from "@azure/msal-common/browser";
|
|
20
20
|
import { SilentRequest } from "../../../request/SilentRequest.js";
|
|
21
|
-
import
|
|
22
|
-
ensureArgumentIsNotEmptyString,
|
|
23
|
-
ensureArgumentIsNotNullOrUndefined,
|
|
24
|
-
} from "../../core/utils/ArgumentValidator.js";
|
|
21
|
+
import * as ArgumentValidator from "../../core/utils/ArgumentValidator.js";
|
|
25
22
|
|
|
26
23
|
/*
|
|
27
24
|
* Account information.
|
|
@@ -34,8 +31,15 @@ export class CustomAuthAccountData {
|
|
|
34
31
|
private readonly logger: Logger,
|
|
35
32
|
private readonly correlationId: string
|
|
36
33
|
) {
|
|
37
|
-
ensureArgumentIsNotEmptyString(
|
|
38
|
-
|
|
34
|
+
ArgumentValidator.ensureArgumentIsNotEmptyString(
|
|
35
|
+
"correlationId",
|
|
36
|
+
correlationId
|
|
37
|
+
);
|
|
38
|
+
ArgumentValidator.ensureArgumentIsNotNullOrUndefined(
|
|
39
|
+
"account",
|
|
40
|
+
account,
|
|
41
|
+
correlationId
|
|
42
|
+
);
|
|
39
43
|
}
|
|
40
44
|
|
|
41
45
|
/**
|
|
@@ -107,12 +111,20 @@ export class CustomAuthAccountData {
|
|
|
107
111
|
accessTokenRetrievalInputs: AccessTokenRetrievalInputs
|
|
108
112
|
): Promise<GetAccessTokenResult> {
|
|
109
113
|
try {
|
|
110
|
-
ensureArgumentIsNotNullOrUndefined(
|
|
114
|
+
ArgumentValidator.ensureArgumentIsNotNullOrUndefined(
|
|
111
115
|
"accessTokenRetrievalInputs",
|
|
112
116
|
accessTokenRetrievalInputs,
|
|
113
117
|
this.correlationId
|
|
114
118
|
);
|
|
115
119
|
|
|
120
|
+
if (accessTokenRetrievalInputs.claims) {
|
|
121
|
+
ArgumentValidator.ensureArgumentIsJSONString(
|
|
122
|
+
"accessTokenRetrievalInputs.claims",
|
|
123
|
+
accessTokenRetrievalInputs.claims,
|
|
124
|
+
this.correlationId
|
|
125
|
+
);
|
|
126
|
+
}
|
|
127
|
+
|
|
116
128
|
this.logger.verbose("Getting current account.", this.correlationId);
|
|
117
129
|
|
|
118
130
|
const currentAccount = this.cacheClient.getCurrentAccount(
|
|
@@ -133,7 +145,8 @@ export class CustomAuthAccountData {
|
|
|
133
145
|
const commonSilentFlowRequest = this.createCommonSilentFlowRequest(
|
|
134
146
|
currentAccount,
|
|
135
147
|
accessTokenRetrievalInputs.forceRefresh,
|
|
136
|
-
newScopes
|
|
148
|
+
newScopes,
|
|
149
|
+
accessTokenRetrievalInputs.claims
|
|
137
150
|
);
|
|
138
151
|
const result = await this.cacheClient.acquireToken(
|
|
139
152
|
commonSilentFlowRequest
|
|
@@ -158,7 +171,8 @@ export class CustomAuthAccountData {
|
|
|
158
171
|
private createCommonSilentFlowRequest(
|
|
159
172
|
accountInfo: AccountInfo,
|
|
160
173
|
forceRefresh: boolean = false,
|
|
161
|
-
requestScopes: Array<string
|
|
174
|
+
requestScopes: Array<string>,
|
|
175
|
+
claims?: string
|
|
162
176
|
): CommonSilentFlowRequest {
|
|
163
177
|
const silentRequest: SilentRequest = {
|
|
164
178
|
authority: this.config.auth.authority,
|
|
@@ -171,6 +185,7 @@ export class CustomAuthAccountData {
|
|
|
171
185
|
accessToken: true,
|
|
172
186
|
refreshToken: true,
|
|
173
187
|
},
|
|
188
|
+
...(claims && { claims: claims }),
|
|
174
189
|
};
|
|
175
190
|
|
|
176
191
|
return {
|
|
@@ -31,6 +31,14 @@ export class SignInError extends AuthActionErrorBase {
|
|
|
31
31
|
return this.isPasswordIncorrectError();
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Checks if the error is due to password reset being required.
|
|
36
|
+
* @returns true if the error is due to password reset being required, false otherwise.
|
|
37
|
+
*/
|
|
38
|
+
isPasswordResetRequired(): boolean {
|
|
39
|
+
return this.isPasswordResetRequiredError();
|
|
40
|
+
}
|
|
41
|
+
|
|
34
42
|
/**
|
|
35
43
|
* Checks if the error is due to the provided challenge type is not supported.
|
|
36
44
|
* @returns {boolean} True if the error is due to the provided challenge type is not supported, false otherwise.
|
|
@@ -37,6 +37,7 @@ export class SignInCodeRequiredState extends SignInState<SignInCodeRequiredState
|
|
|
37
37
|
continuationToken: this.stateParameters.continuationToken ?? "",
|
|
38
38
|
code: code,
|
|
39
39
|
username: this.stateParameters.username,
|
|
40
|
+
claims: this.stateParameters.claims,
|
|
40
41
|
};
|
|
41
42
|
|
|
42
43
|
this.stateParameters.logger.verbose(
|