@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.
Files changed (546) hide show
  1. package/dist/app/IPublicClientApplication.mjs +1 -1
  2. package/dist/app/PublicClientApplication.mjs +1 -1
  3. package/dist/app/PublicClientNext.mjs +1 -1
  4. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  5. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  6. package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  7. package/dist/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -1
  8. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +3 -2
  9. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs.map +1 -1
  10. package/dist/cache/AccountManager.mjs +1 -1
  11. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  12. package/dist/cache/BrowserCacheManager.d.ts +26 -11
  13. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  14. package/dist/cache/BrowserCacheManager.mjs +239 -56
  15. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  16. package/dist/cache/CacheHelpers.d.ts +2 -2
  17. package/dist/cache/CacheHelpers.d.ts.map +1 -1
  18. package/dist/cache/CacheHelpers.mjs +6 -6
  19. package/dist/cache/CacheHelpers.mjs.map +1 -1
  20. package/dist/cache/CacheKeys.d.ts +14 -0
  21. package/dist/cache/CacheKeys.d.ts.map +1 -0
  22. package/dist/cache/CacheKeys.mjs +33 -0
  23. package/dist/cache/CacheKeys.mjs.map +1 -0
  24. package/dist/cache/CookieStorage.d.ts +1 -0
  25. package/dist/cache/CookieStorage.d.ts.map +1 -1
  26. package/dist/cache/CookieStorage.mjs +5 -1
  27. package/dist/cache/CookieStorage.mjs.map +1 -1
  28. package/dist/cache/DatabaseStorage.mjs +1 -1
  29. package/dist/cache/EncryptedData.d.ts +8 -0
  30. package/dist/cache/EncryptedData.d.ts.map +1 -0
  31. package/dist/cache/EncryptedData.mjs +14 -0
  32. package/dist/cache/EncryptedData.mjs.map +1 -0
  33. package/dist/cache/IWindowStorage.d.ts +2 -0
  34. package/dist/cache/IWindowStorage.d.ts.map +1 -1
  35. package/dist/cache/LocalStorage.d.ts +2 -0
  36. package/dist/cache/LocalStorage.d.ts.map +1 -1
  37. package/dist/cache/LocalStorage.mjs +46 -13
  38. package/dist/cache/LocalStorage.mjs.map +1 -1
  39. package/dist/cache/MemoryStorage.d.ts +1 -0
  40. package/dist/cache/MemoryStorage.d.ts.map +1 -1
  41. package/dist/cache/MemoryStorage.mjs +5 -1
  42. package/dist/cache/MemoryStorage.mjs.map +1 -1
  43. package/dist/cache/SessionStorage.d.ts +1 -0
  44. package/dist/cache/SessionStorage.d.ts.map +1 -1
  45. package/dist/cache/SessionStorage.mjs +5 -1
  46. package/dist/cache/SessionStorage.mjs.map +1 -1
  47. package/dist/cache/TokenCache.mjs +1 -1
  48. package/dist/config/Configuration.d.ts +4 -0
  49. package/dist/config/Configuration.d.ts.map +1 -1
  50. package/dist/config/Configuration.mjs +2 -1
  51. package/dist/config/Configuration.mjs.map +1 -1
  52. package/dist/controllers/ControllerFactory.mjs +1 -1
  53. package/dist/controllers/NestedAppAuthController.mjs +1 -1
  54. package/dist/controllers/StandardController.d.ts.map +1 -1
  55. package/dist/controllers/StandardController.mjs +2 -1
  56. package/dist/controllers/StandardController.mjs.map +1 -1
  57. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  58. package/dist/crypto/BrowserCrypto.mjs +1 -1
  59. package/dist/crypto/CryptoOps.mjs +1 -1
  60. package/dist/crypto/PkceGenerator.mjs +1 -1
  61. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  62. package/dist/custom-auth-path/app/PublicClientApplication.mjs +1 -1
  63. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  64. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +1 -1
  65. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  66. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -1
  67. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +3 -2
  68. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs.map +1 -1
  69. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
  70. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  71. package/dist/custom-auth-path/cache/BrowserCacheManager.d.ts +26 -11
  72. package/dist/custom-auth-path/cache/BrowserCacheManager.d.ts.map +1 -1
  73. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +239 -56
  74. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs.map +1 -1
  75. package/dist/custom-auth-path/cache/CacheHelpers.d.ts +2 -2
  76. package/dist/custom-auth-path/cache/CacheHelpers.d.ts.map +1 -1
  77. package/dist/custom-auth-path/cache/CacheHelpers.mjs +6 -6
  78. package/dist/custom-auth-path/cache/CacheHelpers.mjs.map +1 -1
  79. package/dist/custom-auth-path/cache/CacheKeys.d.ts +14 -0
  80. package/dist/custom-auth-path/cache/CacheKeys.d.ts.map +1 -0
  81. package/dist/custom-auth-path/cache/CacheKeys.mjs +32 -0
  82. package/dist/custom-auth-path/cache/CacheKeys.mjs.map +1 -0
  83. package/dist/custom-auth-path/cache/CookieStorage.d.ts +1 -0
  84. package/dist/custom-auth-path/cache/CookieStorage.d.ts.map +1 -1
  85. package/dist/custom-auth-path/cache/CookieStorage.mjs +5 -1
  86. package/dist/custom-auth-path/cache/CookieStorage.mjs.map +1 -1
  87. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  88. package/dist/custom-auth-path/cache/EncryptedData.d.ts +8 -0
  89. package/dist/custom-auth-path/cache/EncryptedData.d.ts.map +1 -0
  90. package/dist/custom-auth-path/cache/EncryptedData.mjs +14 -0
  91. package/dist/custom-auth-path/cache/EncryptedData.mjs.map +1 -0
  92. package/dist/custom-auth-path/cache/IWindowStorage.d.ts +2 -0
  93. package/dist/custom-auth-path/cache/IWindowStorage.d.ts.map +1 -1
  94. package/dist/custom-auth-path/cache/LocalStorage.d.ts +2 -0
  95. package/dist/custom-auth-path/cache/LocalStorage.d.ts.map +1 -1
  96. package/dist/custom-auth-path/cache/LocalStorage.mjs +46 -13
  97. package/dist/custom-auth-path/cache/LocalStorage.mjs.map +1 -1
  98. package/dist/custom-auth-path/cache/MemoryStorage.d.ts +1 -0
  99. package/dist/custom-auth-path/cache/MemoryStorage.d.ts.map +1 -1
  100. package/dist/custom-auth-path/cache/MemoryStorage.mjs +5 -1
  101. package/dist/custom-auth-path/cache/MemoryStorage.mjs.map +1 -1
  102. package/dist/custom-auth-path/cache/SessionStorage.d.ts +1 -0
  103. package/dist/custom-auth-path/cache/SessionStorage.d.ts.map +1 -1
  104. package/dist/custom-auth-path/cache/SessionStorage.mjs +5 -1
  105. package/dist/custom-auth-path/cache/SessionStorage.mjs.map +1 -1
  106. package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
  107. package/dist/custom-auth-path/config/Configuration.d.ts +4 -0
  108. package/dist/custom-auth-path/config/Configuration.d.ts.map +1 -1
  109. package/dist/custom-auth-path/config/Configuration.mjs +2 -1
  110. package/dist/custom-auth-path/config/Configuration.mjs.map +1 -1
  111. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  112. package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
  113. package/dist/custom-auth-path/controllers/StandardController.mjs +2 -1
  114. package/dist/custom-auth-path/controllers/StandardController.mjs.map +1 -1
  115. package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
  116. package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
  117. package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
  118. package/dist/custom-auth-path/custom_auth/CustomAuthActionInputs.d.ts +3 -0
  119. package/dist/custom-auth-path/custom_auth/CustomAuthActionInputs.d.ts.map +1 -1
  120. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +1 -1
  121. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +1 -1
  122. package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  123. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
  124. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +8 -2
  125. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs.map +1 -1
  126. package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  127. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +5 -0
  128. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  129. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +10 -1
  130. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs.map +1 -1
  131. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  132. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  133. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  134. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  135. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  138. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  139. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  140. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  141. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  142. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  143. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  144. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  145. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  146. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  147. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  148. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  149. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
  150. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  151. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  152. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  153. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  154. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  155. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  156. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +4 -1
  157. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs.map +1 -1
  158. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  159. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  160. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +1 -0
  161. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  162. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
  163. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  164. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  165. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
  166. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.d.ts +1 -0
  167. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.d.ts.map +1 -1
  168. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +18 -2
  169. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs.map +1 -1
  170. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  171. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.d.ts.map +1 -1
  172. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +8 -4
  173. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs.map +1 -1
  174. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  175. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  176. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  177. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  178. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  179. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  180. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  181. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
  182. package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
  183. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  184. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  185. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  186. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  187. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  188. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  189. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  190. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  191. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  192. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  193. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  194. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  195. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  196. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts +5 -0
  197. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts.map +1 -1
  198. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +8 -1
  199. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs.map +1 -1
  200. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  201. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  202. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  203. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCredentialResult.mjs +1 -1
  204. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  205. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  206. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +2 -1
  207. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs.map +1 -1
  208. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  209. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
  210. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +6 -1
  211. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs.map +1 -1
  212. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  213. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
  214. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +2 -1
  215. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs.map +1 -1
  216. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  217. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +1 -0
  218. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
  219. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  220. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +10 -1
  221. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs.map +1 -1
  222. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts +3 -0
  223. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts.map +1 -1
  224. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  225. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  226. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  227. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  228. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  229. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  230. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  231. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  232. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
  233. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  234. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  235. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
  236. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  237. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  238. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  239. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  240. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  241. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  242. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  243. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  244. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  245. package/dist/custom-auth-path/error/NativeAuthError.mjs +1 -1
  246. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  247. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  248. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  249. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.d.ts.map +1 -1
  250. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +3 -7
  251. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs.map +1 -1
  252. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  253. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  254. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +2 -2
  255. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  256. package/dist/custom-auth-path/interaction_client/PopupClient.d.ts.map +1 -1
  257. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -2
  258. package/dist/custom-auth-path/interaction_client/PopupClient.mjs.map +1 -1
  259. package/dist/custom-auth-path/interaction_client/RedirectClient.d.ts.map +1 -1
  260. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -2
  261. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs.map +1 -1
  262. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  263. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  264. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  265. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  266. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +1 -1
  267. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  268. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +1 -1
  269. package/dist/custom-auth-path/naa/AccountInfo.d.ts +1 -0
  270. package/dist/custom-auth-path/naa/AccountInfo.d.ts.map +1 -1
  271. package/dist/custom-auth-path/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
  272. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  273. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  274. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
  275. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +3 -2
  276. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs.map +1 -1
  277. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  278. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  279. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  280. package/dist/custom-auth-path/protocol/Authorize.mjs +1 -1
  281. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  282. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  283. package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  284. package/dist/custom-auth-path/utils/BrowserConstants.d.ts +0 -10
  285. package/dist/custom-auth-path/utils/BrowserConstants.d.ts.map +1 -1
  286. package/dist/custom-auth-path/utils/BrowserConstants.mjs +3 -11
  287. package/dist/custom-auth-path/utils/BrowserConstants.mjs.map +1 -1
  288. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  289. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  290. package/dist/custom-auth-path/utils/Helpers.d.ts +7 -0
  291. package/dist/custom-auth-path/utils/Helpers.d.ts.map +1 -0
  292. package/dist/custom-auth-path/utils/Helpers.mjs +20 -0
  293. package/dist/custom-auth-path/utils/Helpers.mjs.map +1 -0
  294. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +1 -1
  295. package/dist/custom_auth/CustomAuthActionInputs.d.ts +3 -0
  296. package/dist/custom_auth/CustomAuthActionInputs.d.ts.map +1 -1
  297. package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
  298. package/dist/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
  299. package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +5 -0
  300. package/dist/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  301. package/dist/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  302. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +1 -0
  303. package/dist/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  304. package/dist/custom_auth/core/utils/ArgumentValidator.d.ts +1 -0
  305. package/dist/custom_auth/core/utils/ArgumentValidator.d.ts.map +1 -1
  306. package/dist/custom_auth/get_account/auth_flow/CustomAuthAccountData.d.ts.map +1 -1
  307. package/dist/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts +5 -0
  308. package/dist/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts.map +1 -1
  309. package/dist/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  310. package/dist/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
  311. package/dist/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
  312. package/dist/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +1 -0
  313. package/dist/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
  314. package/dist/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  315. package/dist/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts +3 -0
  316. package/dist/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts.map +1 -1
  317. package/dist/encode/Base64Decode.mjs +1 -1
  318. package/dist/encode/Base64Encode.mjs +1 -1
  319. package/dist/error/BrowserAuthError.mjs +1 -1
  320. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  321. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  322. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  323. package/dist/error/NativeAuthError.mjs +1 -1
  324. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  325. package/dist/error/NestedAppAuthError.mjs +1 -1
  326. package/dist/event/EventHandler.mjs +1 -1
  327. package/dist/event/EventMessage.mjs +1 -1
  328. package/dist/event/EventType.mjs +1 -1
  329. package/dist/index.mjs +1 -1
  330. package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
  331. package/dist/interaction_client/BaseInteractionClient.mjs +3 -7
  332. package/dist/interaction_client/BaseInteractionClient.mjs.map +1 -1
  333. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  334. package/dist/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  335. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +2 -2
  336. package/dist/interaction_client/PlatformAuthInteractionClient.mjs.map +1 -1
  337. package/dist/interaction_client/PopupClient.d.ts.map +1 -1
  338. package/dist/interaction_client/PopupClient.mjs +1 -2
  339. package/dist/interaction_client/PopupClient.mjs.map +1 -1
  340. package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
  341. package/dist/interaction_client/RedirectClient.mjs +1 -2
  342. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  343. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  344. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  345. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  346. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  347. package/dist/interaction_client/StandardInteractionClient.mjs +1 -1
  348. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  349. package/dist/interaction_handler/SilentHandler.mjs +1 -1
  350. package/dist/naa/AccountInfo.d.ts +1 -0
  351. package/dist/naa/AccountInfo.d.ts.map +1 -1
  352. package/dist/naa/BridgeError.mjs +1 -1
  353. package/dist/naa/BridgeProxy.mjs +1 -1
  354. package/dist/naa/BridgeStatusCode.mjs +1 -1
  355. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
  356. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +3 -1
  357. package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
  358. package/dist/navigation/NavigationClient.mjs +1 -1
  359. package/dist/network/FetchClient.mjs +1 -1
  360. package/dist/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
  361. package/dist/operatingcontext/BaseOperatingContext.mjs +3 -2
  362. package/dist/operatingcontext/BaseOperatingContext.mjs.map +1 -1
  363. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  364. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  365. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  366. package/dist/packageMetadata.d.ts +1 -1
  367. package/dist/packageMetadata.mjs +2 -2
  368. package/dist/protocol/Authorize.mjs +1 -1
  369. package/dist/request/RequestHelpers.mjs +1 -1
  370. package/dist/response/ResponseHandler.mjs +1 -1
  371. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  372. package/dist/telemetry/BrowserPerformanceClient.mjs +3 -2
  373. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  374. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  375. package/dist/utils/BrowserConstants.d.ts +0 -10
  376. package/dist/utils/BrowserConstants.d.ts.map +1 -1
  377. package/dist/utils/BrowserConstants.mjs +3 -12
  378. package/dist/utils/BrowserConstants.mjs.map +1 -1
  379. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  380. package/dist/utils/BrowserUtils.mjs +1 -1
  381. package/dist/utils/Helpers.d.ts +7 -0
  382. package/dist/utils/Helpers.d.ts.map +1 -0
  383. package/dist/utils/Helpers.mjs +20 -0
  384. package/dist/utils/Helpers.mjs.map +1 -0
  385. package/dist/utils/MsalFrameStatsUtils.mjs +1 -1
  386. package/lib/custom-auth-path/msal-custom-auth.cjs +2663 -2482
  387. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  388. package/lib/custom-auth-path/types/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -1
  389. package/lib/custom-auth-path/types/cache/BrowserCacheManager.d.ts +26 -11
  390. package/lib/custom-auth-path/types/cache/BrowserCacheManager.d.ts.map +1 -1
  391. package/lib/custom-auth-path/types/cache/CacheHelpers.d.ts +2 -2
  392. package/lib/custom-auth-path/types/cache/CacheHelpers.d.ts.map +1 -1
  393. package/lib/custom-auth-path/types/cache/CacheKeys.d.ts +14 -0
  394. package/lib/custom-auth-path/types/cache/CacheKeys.d.ts.map +1 -0
  395. package/lib/custom-auth-path/types/cache/CookieStorage.d.ts +1 -0
  396. package/lib/custom-auth-path/types/cache/CookieStorage.d.ts.map +1 -1
  397. package/lib/custom-auth-path/types/cache/EncryptedData.d.ts +8 -0
  398. package/lib/custom-auth-path/types/cache/EncryptedData.d.ts.map +1 -0
  399. package/lib/custom-auth-path/types/cache/IWindowStorage.d.ts +2 -0
  400. package/lib/custom-auth-path/types/cache/IWindowStorage.d.ts.map +1 -1
  401. package/lib/custom-auth-path/types/cache/LocalStorage.d.ts +2 -0
  402. package/lib/custom-auth-path/types/cache/LocalStorage.d.ts.map +1 -1
  403. package/lib/custom-auth-path/types/cache/MemoryStorage.d.ts +1 -0
  404. package/lib/custom-auth-path/types/cache/MemoryStorage.d.ts.map +1 -1
  405. package/lib/custom-auth-path/types/cache/SessionStorage.d.ts +1 -0
  406. package/lib/custom-auth-path/types/cache/SessionStorage.d.ts.map +1 -1
  407. package/lib/custom-auth-path/types/config/Configuration.d.ts +4 -0
  408. package/lib/custom-auth-path/types/config/Configuration.d.ts.map +1 -1
  409. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  410. package/lib/custom-auth-path/types/custom_auth/CustomAuthActionInputs.d.ts +3 -0
  411. package/lib/custom-auth-path/types/custom_auth/CustomAuthActionInputs.d.ts.map +1 -1
  412. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  413. package/lib/custom-auth-path/types/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
  414. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +5 -0
  415. package/lib/custom-auth-path/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  416. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  417. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +1 -0
  418. package/lib/custom-auth-path/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  419. package/lib/custom-auth-path/types/custom_auth/core/utils/ArgumentValidator.d.ts +1 -0
  420. package/lib/custom-auth-path/types/custom_auth/core/utils/ArgumentValidator.d.ts.map +1 -1
  421. package/lib/custom-auth-path/types/custom_auth/get_account/auth_flow/CustomAuthAccountData.d.ts.map +1 -1
  422. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts +5 -0
  423. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts.map +1 -1
  424. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  425. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
  426. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
  427. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +1 -0
  428. package/lib/custom-auth-path/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
  429. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  430. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts +3 -0
  431. package/lib/custom-auth-path/types/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts.map +1 -1
  432. package/lib/custom-auth-path/types/interaction_client/BaseInteractionClient.d.ts.map +1 -1
  433. package/lib/custom-auth-path/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  434. package/lib/custom-auth-path/types/interaction_client/PopupClient.d.ts.map +1 -1
  435. package/lib/custom-auth-path/types/interaction_client/RedirectClient.d.ts.map +1 -1
  436. package/lib/custom-auth-path/types/naa/AccountInfo.d.ts +1 -0
  437. package/lib/custom-auth-path/types/naa/AccountInfo.d.ts.map +1 -1
  438. package/lib/custom-auth-path/types/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
  439. package/lib/custom-auth-path/types/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
  440. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  441. package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  442. package/lib/custom-auth-path/types/utils/BrowserConstants.d.ts +0 -10
  443. package/lib/custom-auth-path/types/utils/BrowserConstants.d.ts.map +1 -1
  444. package/lib/custom-auth-path/types/utils/Helpers.d.ts +7 -0
  445. package/lib/custom-auth-path/types/utils/Helpers.d.ts.map +1 -0
  446. package/lib/msal-browser.cjs +2762 -2629
  447. package/lib/msal-browser.cjs.map +1 -1
  448. package/lib/msal-browser.js +2762 -2629
  449. package/lib/msal-browser.js.map +1 -1
  450. package/lib/msal-browser.min.js +67 -69
  451. package/lib/types/broker/nativeBroker/PlatformAuthProvider.d.ts.map +1 -1
  452. package/lib/types/cache/BrowserCacheManager.d.ts +26 -11
  453. package/lib/types/cache/BrowserCacheManager.d.ts.map +1 -1
  454. package/lib/types/cache/CacheHelpers.d.ts +2 -2
  455. package/lib/types/cache/CacheHelpers.d.ts.map +1 -1
  456. package/lib/types/cache/CacheKeys.d.ts +14 -0
  457. package/lib/types/cache/CacheKeys.d.ts.map +1 -0
  458. package/lib/types/cache/CookieStorage.d.ts +1 -0
  459. package/lib/types/cache/CookieStorage.d.ts.map +1 -1
  460. package/lib/types/cache/EncryptedData.d.ts +8 -0
  461. package/lib/types/cache/EncryptedData.d.ts.map +1 -0
  462. package/lib/types/cache/IWindowStorage.d.ts +2 -0
  463. package/lib/types/cache/IWindowStorage.d.ts.map +1 -1
  464. package/lib/types/cache/LocalStorage.d.ts +2 -0
  465. package/lib/types/cache/LocalStorage.d.ts.map +1 -1
  466. package/lib/types/cache/MemoryStorage.d.ts +1 -0
  467. package/lib/types/cache/MemoryStorage.d.ts.map +1 -1
  468. package/lib/types/cache/SessionStorage.d.ts +1 -0
  469. package/lib/types/cache/SessionStorage.d.ts.map +1 -1
  470. package/lib/types/config/Configuration.d.ts +4 -0
  471. package/lib/types/config/Configuration.d.ts.map +1 -1
  472. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  473. package/lib/types/custom_auth/CustomAuthActionInputs.d.ts +3 -0
  474. package/lib/types/custom_auth/CustomAuthActionInputs.d.ts.map +1 -1
  475. package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  476. package/lib/types/custom_auth/controller/CustomAuthStandardController.d.ts.map +1 -1
  477. package/lib/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts +5 -0
  478. package/lib/types/custom_auth/core/auth_flow/AuthFlowErrorBase.d.ts.map +1 -1
  479. package/lib/types/custom_auth/core/network_client/custom_auth_api/SignInApiClient.d.ts.map +1 -1
  480. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts +1 -0
  481. package/lib/types/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.d.ts.map +1 -1
  482. package/lib/types/custom_auth/core/utils/ArgumentValidator.d.ts +1 -0
  483. package/lib/types/custom_auth/core/utils/ArgumentValidator.d.ts.map +1 -1
  484. package/lib/types/custom_auth/get_account/auth_flow/CustomAuthAccountData.d.ts.map +1 -1
  485. package/lib/types/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts +5 -0
  486. package/lib/types/custom_auth/sign_in/auth_flow/error_type/SignInError.d.ts.map +1 -1
  487. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.d.ts.map +1 -1
  488. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInContinuationState.d.ts.map +1 -1
  489. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.d.ts.map +1 -1
  490. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts +1 -0
  491. package/lib/types/custom_auth/sign_in/auth_flow/state/SignInStateParameters.d.ts.map +1 -1
  492. package/lib/types/custom_auth/sign_in/interaction_client/SignInClient.d.ts.map +1 -1
  493. package/lib/types/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts +3 -0
  494. package/lib/types/custom_auth/sign_in/interaction_client/parameter/SignInParams.d.ts.map +1 -1
  495. package/lib/types/interaction_client/BaseInteractionClient.d.ts.map +1 -1
  496. package/lib/types/interaction_client/PlatformAuthInteractionClient.d.ts.map +1 -1
  497. package/lib/types/interaction_client/PopupClient.d.ts.map +1 -1
  498. package/lib/types/interaction_client/RedirectClient.d.ts.map +1 -1
  499. package/lib/types/naa/AccountInfo.d.ts +1 -0
  500. package/lib/types/naa/AccountInfo.d.ts.map +1 -1
  501. package/lib/types/naa/mapping/NestedAppAuthAdapter.d.ts.map +1 -1
  502. package/lib/types/operatingcontext/BaseOperatingContext.d.ts.map +1 -1
  503. package/lib/types/packageMetadata.d.ts +1 -1
  504. package/lib/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  505. package/lib/types/utils/BrowserConstants.d.ts +0 -10
  506. package/lib/types/utils/BrowserConstants.d.ts.map +1 -1
  507. package/lib/types/utils/Helpers.d.ts +7 -0
  508. package/lib/types/utils/Helpers.d.ts.map +1 -0
  509. package/package.json +2 -2
  510. package/src/broker/nativeBroker/PlatformAuthProvider.ts +2 -4
  511. package/src/cache/BrowserCacheManager.ts +381 -61
  512. package/src/cache/CacheHelpers.ts +13 -5
  513. package/src/cache/CacheKeys.ts +39 -0
  514. package/src/cache/CookieStorage.ts +5 -0
  515. package/src/cache/EncryptedData.ts +19 -0
  516. package/src/cache/IWindowStorage.ts +8 -0
  517. package/src/cache/LocalStorage.ts +83 -27
  518. package/src/cache/MemoryStorage.ts +5 -0
  519. package/src/cache/SessionStorage.ts +5 -0
  520. package/src/config/Configuration.ts +5 -0
  521. package/src/controllers/StandardController.ts +1 -0
  522. package/src/custom_auth/CustomAuthActionInputs.ts +3 -0
  523. package/src/custom_auth/controller/CustomAuthStandardController.ts +18 -10
  524. package/src/custom_auth/core/auth_flow/AuthFlowErrorBase.ts +12 -0
  525. package/src/custom_auth/core/network_client/custom_auth_api/SignInApiClient.ts +3 -0
  526. package/src/custom_auth/core/network_client/custom_auth_api/types/ApiRequestTypes.ts +1 -0
  527. package/src/custom_auth/core/utils/ArgumentValidator.ts +22 -0
  528. package/src/custom_auth/get_account/auth_flow/CustomAuthAccountData.ts +24 -9
  529. package/src/custom_auth/sign_in/auth_flow/error_type/SignInError.ts +8 -0
  530. package/src/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.ts +1 -0
  531. package/src/custom_auth/sign_in/auth_flow/state/SignInContinuationState.ts +10 -0
  532. package/src/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.ts +1 -0
  533. package/src/custom_auth/sign_in/auth_flow/state/SignInStateParameters.ts +1 -0
  534. package/src/custom_auth/sign_in/interaction_client/SignInClient.ts +9 -0
  535. package/src/custom_auth/sign_in/interaction_client/parameter/SignInParams.ts +3 -0
  536. package/src/interaction_client/BaseInteractionClient.ts +1 -15
  537. package/src/interaction_client/PlatformAuthInteractionClient.ts +4 -2
  538. package/src/interaction_client/PopupClient.ts +0 -5
  539. package/src/interaction_client/RedirectClient.ts +0 -5
  540. package/src/naa/AccountInfo.ts +1 -0
  541. package/src/naa/mapping/NestedAppAuthAdapter.ts +4 -0
  542. package/src/operatingcontext/BaseOperatingContext.ts +2 -5
  543. package/src/packageMetadata.ts +1 -1
  544. package/src/telemetry/BrowserPerformanceClient.ts +2 -4
  545. package/src/utils/BrowserConstants.ts +0 -15
  546. 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(storage: IWindowStorage<string>): Array<string> {
16
- const accountKeys = storage.getItem(StaticCacheKeys.ACCOUNT_KEYS);
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(`${StaticCacheKeys.TOKEN_KEYS}.${clientId}`);
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 { StaticCacheKeys } from "../utils/BrowserConstants.js";
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 and clear existing cache
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(Constants.CACHE_PREFIX) ||
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
- this.setItem(StaticCacheKeys.ACCOUNT_KEYS, JSON.stringify(accountKeys));
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
- this.setItem(
292
- `${StaticCacheKeys.TOKEN_KEYS}.${this.clientId}`,
293
- JSON.stringify(tokenKeys)
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.id || !encObj.nonce || !encObj.data) {
324
- // Data is not encrypted, likely from old version of MSAL. It must be removed because we don't know how old it is.
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 null;
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("correlationId", correlationId);
38
- ensureArgumentIsNotNullOrUndefined("account", account, correlationId);
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(