@azure/msal-common 14.0.2 → 14.1.0-alpha.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 (399) hide show
  1. package/dist/account/AccountInfo.d.ts +32 -32
  2. package/dist/account/AuthToken.d.ts +17 -20
  3. package/dist/account/AuthToken.d.ts.map +1 -1
  4. package/dist/account/AuthToken.mjs +61 -51
  5. package/dist/account/AuthToken.mjs.map +1 -1
  6. package/dist/account/CcsCredential.d.ts +9 -9
  7. package/dist/account/CcsCredential.mjs +8 -8
  8. package/dist/account/CcsCredential.mjs.map +1 -1
  9. package/dist/account/ClientCredentials.d.ts +14 -14
  10. package/dist/account/ClientInfo.d.ts +19 -19
  11. package/dist/account/ClientInfo.d.ts.map +1 -1
  12. package/dist/account/ClientInfo.mjs +39 -39
  13. package/dist/account/ClientInfo.mjs.map +1 -1
  14. package/dist/account/TokenClaims.d.ts +65 -65
  15. package/dist/authority/Authority.d.ts +235 -235
  16. package/dist/authority/Authority.d.ts.map +1 -1
  17. package/dist/authority/Authority.mjs +743 -765
  18. package/dist/authority/Authority.mjs.map +1 -1
  19. package/dist/authority/AuthorityFactory.d.ts +31 -31
  20. package/dist/authority/AuthorityFactory.d.ts.map +1 -1
  21. package/dist/authority/AuthorityFactory.mjs +52 -51
  22. package/dist/authority/AuthorityFactory.mjs.map +1 -1
  23. package/dist/authority/AuthorityMetadata.d.ts +623 -623
  24. package/dist/authority/AuthorityMetadata.mjs +884 -884
  25. package/dist/authority/AuthorityMetadata.mjs.map +1 -1
  26. package/dist/authority/AuthorityOptions.d.ts +21 -21
  27. package/dist/authority/AuthorityOptions.mjs +18 -18
  28. package/dist/authority/AuthorityOptions.mjs.map +1 -1
  29. package/dist/authority/AuthorityType.d.ts +10 -10
  30. package/dist/authority/AuthorityType.mjs +13 -13
  31. package/dist/authority/AuthorityType.mjs.map +1 -1
  32. package/dist/authority/AzureRegion.d.ts +1 -1
  33. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  34. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  35. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  36. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  37. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs.map +1 -1
  38. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  39. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  40. package/dist/authority/CloudInstanceDiscoveryResponse.mjs.map +1 -1
  41. package/dist/authority/ImdsOptions.d.ts +5 -5
  42. package/dist/authority/OIDCOptions.d.ts +8 -8
  43. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  44. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  45. package/dist/authority/OpenIdConfigResponse.mjs.map +1 -1
  46. package/dist/authority/ProtocolMode.d.ts +8 -8
  47. package/dist/authority/ProtocolMode.mjs +11 -11
  48. package/dist/authority/ProtocolMode.mjs.map +1 -1
  49. package/dist/authority/RegionDiscovery.d.ts +32 -30
  50. package/dist/authority/RegionDiscovery.d.ts.map +1 -1
  51. package/dist/authority/RegionDiscovery.mjs +107 -108
  52. package/dist/authority/RegionDiscovery.mjs.map +1 -1
  53. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  54. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  55. package/dist/cache/CacheManager.d.ts +446 -446
  56. package/dist/cache/CacheManager.d.ts.map +1 -1
  57. package/dist/cache/CacheManager.mjs +1001 -1025
  58. package/dist/cache/CacheManager.mjs.map +1 -1
  59. package/dist/cache/entities/AccessTokenEntity.d.ts +56 -56
  60. package/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -1
  61. package/dist/cache/entities/AccessTokenEntity.mjs +112 -114
  62. package/dist/cache/entities/AccessTokenEntity.mjs.map +1 -1
  63. package/dist/cache/entities/AccountEntity.d.ts +101 -101
  64. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  65. package/dist/cache/entities/AccountEntity.mjs +222 -223
  66. package/dist/cache/entities/AccountEntity.mjs.map +1 -1
  67. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  68. package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
  69. package/dist/cache/entities/AppMetadataEntity.mjs.map +1 -1
  70. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
  71. package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
  72. package/dist/cache/entities/AuthorityMetadataEntity.mjs.map +1 -1
  73. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  74. package/dist/cache/entities/CacheRecord.mjs +14 -14
  75. package/dist/cache/entities/CacheRecord.mjs.map +1 -1
  76. package/dist/cache/entities/CredentialEntity.d.ts +88 -88
  77. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  78. package/dist/cache/entities/CredentialEntity.mjs +138 -137
  79. package/dist/cache/entities/CredentialEntity.mjs.map +1 -1
  80. package/dist/cache/entities/IdTokenEntity.d.ts +34 -34
  81. package/dist/cache/entities/IdTokenEntity.mjs +56 -56
  82. package/dist/cache/entities/IdTokenEntity.mjs.map +1 -1
  83. package/dist/cache/entities/RefreshTokenEntity.d.ts +36 -36
  84. package/dist/cache/entities/RefreshTokenEntity.mjs +59 -59
  85. package/dist/cache/entities/RefreshTokenEntity.mjs.map +1 -1
  86. package/dist/cache/entities/ServerTelemetryEntity.d.ts +12 -12
  87. package/dist/cache/entities/ServerTelemetryEntity.mjs +27 -27
  88. package/dist/cache/entities/ServerTelemetryEntity.mjs.map +1 -1
  89. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  90. package/dist/cache/entities/ThrottlingEntity.mjs +23 -23
  91. package/dist/cache/entities/ThrottlingEntity.mjs.map +1 -1
  92. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  93. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  94. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  95. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  96. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  97. package/dist/cache/persistence/TokenCacheContext.mjs.map +1 -1
  98. package/dist/cache/utils/CacheTypes.d.ts +69 -69
  99. package/dist/client/AuthorizationCodeClient.d.ts +73 -73
  100. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  101. package/dist/client/AuthorizationCodeClient.mjs +412 -440
  102. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  103. package/dist/client/BaseClient.d.ts +51 -51
  104. package/dist/client/BaseClient.d.ts.map +1 -1
  105. package/dist/client/BaseClient.mjs +101 -94
  106. package/dist/client/BaseClient.mjs.map +1 -1
  107. package/dist/client/RefreshTokenClient.d.ts +35 -35
  108. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  109. package/dist/client/RefreshTokenClient.mjs +185 -243
  110. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  111. package/dist/client/SilentFlowClient.d.ts +26 -25
  112. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  113. package/dist/client/SilentFlowClient.mjs +128 -104
  114. package/dist/client/SilentFlowClient.mjs.map +1 -1
  115. package/dist/config/AppTokenProvider.d.ts +38 -38
  116. package/dist/config/ClientConfiguration.d.ts +150 -150
  117. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  118. package/dist/config/ClientConfiguration.mjs +99 -100
  119. package/dist/config/ClientConfiguration.mjs.map +1 -1
  120. package/dist/crypto/ICrypto.d.ts +62 -62
  121. package/dist/crypto/ICrypto.d.ts.map +1 -1
  122. package/dist/crypto/ICrypto.mjs +35 -43
  123. package/dist/crypto/ICrypto.mjs.map +1 -1
  124. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  125. package/dist/crypto/JoseHeader.d.ts +22 -22
  126. package/dist/crypto/JoseHeader.d.ts.map +1 -1
  127. package/dist/crypto/JoseHeader.mjs +39 -38
  128. package/dist/crypto/JoseHeader.mjs.map +1 -1
  129. package/dist/crypto/PopTokenGenerator.d.ts +60 -59
  130. package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
  131. package/dist/crypto/PopTokenGenerator.mjs +83 -83
  132. package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
  133. package/dist/crypto/SignedHttpRequest.d.ts +11 -11
  134. package/dist/error/AuthError.d.ts +44 -47
  135. package/dist/error/AuthError.d.ts.map +1 -1
  136. package/dist/error/AuthError.mjs +50 -52
  137. package/dist/error/AuthError.mjs.map +1 -1
  138. package/dist/error/AuthErrorCodes.d.ts +6 -0
  139. package/dist/error/AuthErrorCodes.d.ts.map +1 -0
  140. package/dist/error/AuthErrorCodes.mjs +14 -0
  141. package/dist/error/AuthErrorCodes.mjs.map +1 -0
  142. package/dist/error/ClientAuthError.d.ts +232 -412
  143. package/dist/error/ClientAuthError.d.ts.map +1 -1
  144. package/dist/error/ClientAuthError.mjs +248 -520
  145. package/dist/error/ClientAuthError.mjs.map +1 -1
  146. package/dist/error/ClientAuthErrorCodes.d.ts +44 -0
  147. package/dist/error/ClientAuthErrorCodes.d.ts.map +1 -0
  148. package/dist/error/ClientAuthErrorCodes.mjs +52 -0
  149. package/dist/error/ClientAuthErrorCodes.mjs.map +1 -0
  150. package/dist/error/ClientConfigurationError.d.ts +128 -222
  151. package/dist/error/ClientConfigurationError.d.ts.map +1 -1
  152. package/dist/error/ClientConfigurationError.mjs +140 -281
  153. package/dist/error/ClientConfigurationError.mjs.map +1 -1
  154. package/dist/error/ClientConfigurationErrorCodes.d.ts +23 -0
  155. package/dist/error/ClientConfigurationErrorCodes.d.ts.map +1 -0
  156. package/dist/error/ClientConfigurationErrorCodes.mjs +31 -0
  157. package/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -0
  158. package/dist/error/InteractionRequiredAuthError.d.ts +57 -59
  159. package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
  160. package/dist/error/InteractionRequiredAuthError.mjs +80 -79
  161. package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  162. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +6 -0
  163. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -0
  164. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +16 -0
  165. package/dist/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -0
  166. package/dist/error/JoseHeaderError.d.ts +15 -28
  167. package/dist/error/JoseHeaderError.d.ts.map +1 -1
  168. package/dist/error/JoseHeaderError.mjs +24 -40
  169. package/dist/error/JoseHeaderError.mjs.map +1 -1
  170. package/dist/error/JoseHeaderErrorCodes.d.ts +3 -0
  171. package/dist/error/JoseHeaderErrorCodes.d.ts.map +1 -0
  172. package/dist/error/JoseHeaderErrorCodes.mjs +11 -0
  173. package/dist/error/JoseHeaderErrorCodes.mjs.map +1 -0
  174. package/dist/error/ServerError.d.ts +7 -7
  175. package/dist/error/ServerError.mjs +14 -14
  176. package/dist/error/ServerError.mjs.map +1 -1
  177. package/dist/index.cjs +8727 -8978
  178. package/dist/index.cjs.map +1 -1
  179. package/dist/index.d.ts +96 -96
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.mjs +17 -7
  182. package/dist/index.mjs.map +1 -1
  183. package/dist/logger/Logger.d.ts +95 -95
  184. package/dist/logger/Logger.d.ts.map +1 -1
  185. package/dist/logger/Logger.mjs +188 -198
  186. package/dist/logger/Logger.mjs.map +1 -1
  187. package/dist/network/INetworkModule.d.ts +29 -29
  188. package/dist/network/INetworkModule.d.ts.map +1 -1
  189. package/dist/network/INetworkModule.mjs +14 -15
  190. package/dist/network/INetworkModule.mjs.map +1 -1
  191. package/dist/network/NetworkManager.d.ts +33 -33
  192. package/dist/network/NetworkManager.d.ts.map +1 -1
  193. package/dist/network/NetworkManager.mjs +36 -35
  194. package/dist/network/NetworkManager.mjs.map +1 -1
  195. package/dist/network/RequestThumbprint.d.ts +16 -16
  196. package/dist/network/ThrottlingUtils.d.ts +42 -42
  197. package/dist/network/ThrottlingUtils.mjs +95 -95
  198. package/dist/network/ThrottlingUtils.mjs.map +1 -1
  199. package/dist/packageMetadata.d.ts +2 -2
  200. package/dist/packageMetadata.mjs +4 -4
  201. package/dist/packageMetadata.mjs.map +1 -1
  202. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  203. package/dist/request/AuthenticationHeaderParser.d.ts.map +1 -1
  204. package/dist/request/AuthenticationHeaderParser.mjs +58 -57
  205. package/dist/request/AuthenticationHeaderParser.mjs.map +1 -1
  206. package/dist/request/BaseAuthRequest.d.ts +40 -40
  207. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  208. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  209. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  210. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  211. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  212. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  213. package/dist/request/CommonRefreshTokenRequest.d.ts +19 -19
  214. package/dist/request/CommonSilentFlowRequest.d.ts +18 -18
  215. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  216. package/dist/request/NativeRequest.d.ts +19 -19
  217. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  218. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  219. package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
  220. package/dist/request/RequestParameterBuilder.mjs +383 -383
  221. package/dist/request/RequestParameterBuilder.mjs.map +1 -1
  222. package/dist/request/RequestValidator.d.ts +33 -33
  223. package/dist/request/RequestValidator.d.ts.map +1 -1
  224. package/dist/request/RequestValidator.mjs +83 -84
  225. package/dist/request/RequestValidator.mjs.map +1 -1
  226. package/dist/request/ScopeSet.d.ts +88 -88
  227. package/dist/request/ScopeSet.d.ts.map +1 -1
  228. package/dist/request/ScopeSet.mjs +201 -199
  229. package/dist/request/ScopeSet.mjs.map +1 -1
  230. package/dist/request/StoreInCache.d.ts +8 -8
  231. package/dist/response/AuthenticationResult.d.ts +41 -39
  232. package/dist/response/AuthenticationResult.d.ts.map +1 -1
  233. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  234. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  235. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  236. package/dist/response/IMDSBadResponse.d.ts +4 -4
  237. package/dist/response/ResponseHandler.d.ts +67 -66
  238. package/dist/response/ResponseHandler.d.ts.map +1 -1
  239. package/dist/response/ResponseHandler.mjs +316 -297
  240. package/dist/response/ResponseHandler.mjs.map +1 -1
  241. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  242. package/dist/response/ServerAuthorizationTokenResponse.d.ts +46 -44
  243. package/dist/response/ServerAuthorizationTokenResponse.d.ts.map +1 -1
  244. package/dist/telemetry/performance/IPerformanceClient.d.ts +51 -51
  245. package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
  246. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  247. package/dist/telemetry/performance/PerformanceClient.d.ts +191 -191
  248. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  249. package/dist/telemetry/performance/PerformanceClient.mjs +409 -408
  250. package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
  251. package/dist/telemetry/performance/PerformanceEvent.d.ts +433 -426
  252. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  253. package/dist/telemetry/performance/PerformanceEvent.mjs +234 -226
  254. package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  255. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  256. package/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -1
  257. package/dist/telemetry/performance/StubPerformanceClient.mjs +77 -57
  258. package/dist/telemetry/performance/StubPerformanceClient.mjs.map +1 -1
  259. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  260. package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
  261. package/dist/telemetry/server/ServerTelemetryManager.mjs +197 -198
  262. package/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -1
  263. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  264. package/dist/url/IUri.d.ts +12 -12
  265. package/dist/url/UrlString.d.ts +83 -83
  266. package/dist/url/UrlString.d.ts.map +1 -1
  267. package/dist/url/UrlString.mjs +283 -283
  268. package/dist/url/UrlString.mjs.map +1 -1
  269. package/dist/utils/Constants.d.ts +366 -353
  270. package/dist/utils/Constants.d.ts.map +1 -1
  271. package/dist/utils/Constants.mjs +377 -360
  272. package/dist/utils/Constants.mjs.map +1 -1
  273. package/dist/utils/FunctionWrappers.d.ts +28 -0
  274. package/dist/utils/FunctionWrappers.d.ts.map +1 -0
  275. package/dist/utils/FunctionWrappers.mjs +90 -0
  276. package/dist/utils/FunctionWrappers.mjs.map +1 -0
  277. package/dist/utils/MsalTypes.d.ts +6 -6
  278. package/dist/utils/ProtocolUtils.d.ts +42 -42
  279. package/dist/utils/ProtocolUtils.d.ts.map +1 -1
  280. package/dist/utils/ProtocolUtils.mjs +71 -73
  281. package/dist/utils/ProtocolUtils.mjs.map +1 -1
  282. package/dist/utils/StringUtils.d.ts +40 -53
  283. package/dist/utils/StringUtils.d.ts.map +1 -1
  284. package/dist/utils/StringUtils.mjs +95 -126
  285. package/dist/utils/StringUtils.mjs.map +1 -1
  286. package/dist/utils/TimeUtils.d.ts +27 -27
  287. package/dist/utils/TimeUtils.mjs +45 -45
  288. package/dist/utils/TimeUtils.mjs.map +1 -1
  289. package/package.json +6 -4
  290. package/src/account/AccountInfo.ts +44 -0
  291. package/src/account/AuthToken.ts +71 -0
  292. package/src/account/CcsCredential.ts +16 -0
  293. package/src/account/ClientCredentials.ts +20 -0
  294. package/src/account/ClientInfo.ts +67 -0
  295. package/src/account/TokenClaims.ts +70 -0
  296. package/src/authority/Authority.ts +1207 -0
  297. package/src/authority/AuthorityFactory.ts +118 -0
  298. package/src/authority/AuthorityMetadata.ts +953 -0
  299. package/src/authority/AuthorityOptions.ts +40 -0
  300. package/src/authority/AuthorityType.ts +15 -0
  301. package/src/authority/AzureRegion.ts +7 -0
  302. package/src/authority/AzureRegionConfiguration.ts +16 -0
  303. package/src/authority/CloudDiscoveryMetadata.ts +10 -0
  304. package/src/authority/CloudInstanceDiscoveryErrorResponse.ts +26 -0
  305. package/src/authority/CloudInstanceDiscoveryResponse.ts +21 -0
  306. package/src/authority/ImdsOptions.ts +10 -0
  307. package/src/authority/OIDCOptions.ts +14 -0
  308. package/src/authority/OpenIdConfigResponse.ts +24 -0
  309. package/src/authority/ProtocolMode.ts +13 -0
  310. package/src/authority/RegionDiscovery.ts +196 -0
  311. package/src/authority/RegionDiscoveryMetadata.ts +15 -0
  312. package/src/broker/nativeBroker/INativeBrokerPlugin.ts +29 -0
  313. package/src/cache/CacheManager.ts +1579 -0
  314. package/src/cache/entities/AccessTokenEntity.ts +167 -0
  315. package/src/cache/entities/AccountEntity.ts +314 -0
  316. package/src/cache/entities/AppMetadataEntity.ts +91 -0
  317. package/src/cache/entities/AuthorityMetadataEntity.ts +112 -0
  318. package/src/cache/entities/CacheRecord.ts +33 -0
  319. package/src/cache/entities/CredentialEntity.ts +220 -0
  320. package/src/cache/entities/IdTokenEntity.ts +74 -0
  321. package/src/cache/entities/RefreshTokenEntity.ts +78 -0
  322. package/src/cache/entities/ServerTelemetryEntity.ts +38 -0
  323. package/src/cache/entities/ThrottlingEntity.ts +36 -0
  324. package/src/cache/interface/ICacheManager.ts +218 -0
  325. package/src/cache/interface/ICachePlugin.ts +11 -0
  326. package/src/cache/interface/ISerializableTokenCache.ts +9 -0
  327. package/src/cache/persistence/TokenCacheContext.ts +39 -0
  328. package/src/cache/utils/CacheTypes.ts +93 -0
  329. package/src/client/AuthorizationCodeClient.ts +736 -0
  330. package/src/client/BaseClient.ts +208 -0
  331. package/src/client/RefreshTokenClient.ts +399 -0
  332. package/src/client/SilentFlowClient.ts +239 -0
  333. package/src/config/AppTokenProvider.ts +47 -0
  334. package/src/config/ClientConfiguration.ts +286 -0
  335. package/src/crypto/ICrypto.ts +112 -0
  336. package/src/crypto/IGuidGenerator.ts +9 -0
  337. package/src/crypto/JoseHeader.ts +58 -0
  338. package/src/crypto/PopTokenGenerator.ts +160 -0
  339. package/src/crypto/SignedHttpRequest.ts +16 -0
  340. package/src/error/AuthError.ts +83 -0
  341. package/src/error/AuthErrorCodes.ts +10 -0
  342. package/src/error/ClientAuthError.ts +333 -0
  343. package/src/error/ClientAuthErrorCodes.ts +51 -0
  344. package/src/error/ClientConfigurationError.ts +210 -0
  345. package/src/error/ClientConfigurationErrorCodes.ts +28 -0
  346. package/src/error/InteractionRequiredAuthError.ts +139 -0
  347. package/src/error/InteractionRequiredAuthErrorCodes.ts +13 -0
  348. package/src/error/JoseHeaderError.ts +32 -0
  349. package/src/error/JoseHeaderErrorCodes.ts +7 -0
  350. package/src/error/ServerError.ts +18 -0
  351. package/src/index.ts +226 -0
  352. package/src/logger/Logger.ts +272 -0
  353. package/src/network/INetworkModule.ts +60 -0
  354. package/src/network/NetworkManager.ts +76 -0
  355. package/src/network/RequestThumbprint.ts +22 -0
  356. package/src/network/ThrottlingUtils.ts +156 -0
  357. package/src/packageMetadata.ts +3 -0
  358. package/src/request/AuthenticationHeaderParser.ts +92 -0
  359. package/src/request/BaseAuthRequest.ts +46 -0
  360. package/src/request/CommonAuthorizationCodeRequest.ts +33 -0
  361. package/src/request/CommonAuthorizationUrlRequest.ts +56 -0
  362. package/src/request/CommonClientCredentialRequest.ts +23 -0
  363. package/src/request/CommonDeviceCodeRequest.ts +31 -0
  364. package/src/request/CommonEndSessionRequest.ts +27 -0
  365. package/src/request/CommonOnBehalfOfRequest.ts +19 -0
  366. package/src/request/CommonRefreshTokenRequest.ts +25 -0
  367. package/src/request/CommonSilentFlowRequest.ts +24 -0
  368. package/src/request/CommonUsernamePasswordRequest.ts +23 -0
  369. package/src/request/NativeRequest.ts +25 -0
  370. package/src/request/NativeSignOutRequest.ts +10 -0
  371. package/src/request/RequestParameterBuilder.ts +613 -0
  372. package/src/request/RequestValidator.ts +116 -0
  373. package/src/request/ScopeSet.ts +246 -0
  374. package/src/request/StoreInCache.ts +16 -0
  375. package/src/response/AuthenticationResult.ts +47 -0
  376. package/src/response/AuthorizationCodePayload.ts +18 -0
  377. package/src/response/DeviceCodeResponse.ts +31 -0
  378. package/src/response/ExternalTokenResponse.ts +24 -0
  379. package/src/response/IMDSBadResponse.ts +9 -0
  380. package/src/response/ResponseHandler.ts +634 -0
  381. package/src/response/ServerAuthorizationCodeResponse.ts +33 -0
  382. package/src/response/ServerAuthorizationTokenResponse.ts +54 -0
  383. package/src/telemetry/performance/IPerformanceClient.ts +71 -0
  384. package/src/telemetry/performance/IPerformanceMeasurement.ts +10 -0
  385. package/src/telemetry/performance/PerformanceClient.ts +636 -0
  386. package/src/telemetry/performance/PerformanceEvent.ts +542 -0
  387. package/src/telemetry/performance/StubPerformanceClient.ts +101 -0
  388. package/src/telemetry/server/ServerTelemetryManager.ts +274 -0
  389. package/src/telemetry/server/ServerTelemetryRequest.ts +13 -0
  390. package/src/url/IUri.ts +17 -0
  391. package/src/url/UrlString.ts +373 -0
  392. package/src/utils/Constants.ts +444 -0
  393. package/src/utils/FunctionWrappers.ts +105 -0
  394. package/src/utils/MsalTypes.ts +9 -0
  395. package/src/utils/ProtocolUtils.ts +120 -0
  396. package/src/utils/StringUtils.ts +106 -0
  397. package/src/utils/TimeUtils.ts +51 -0
  398. package/dist/account/DecodedAuthToken.d.ts +0 -9
  399. package/dist/account/DecodedAuthToken.d.ts.map +0 -1
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ export const clientInfoDecodingError = "client_info_decoding_error";
7
+ export const clientInfoEmptyError = "client_info_empty_error";
8
+ export const tokenParsingError = "token_parsing_error";
9
+ export const nullOrEmptyToken = "null_or_empty_token";
10
+ export const endpointResolutionError = "endpoints_resolution_error";
11
+ export const networkError = "network_error";
12
+ export const openIdConfigError = "openid_config_error";
13
+ export const hashNotDeserialized = "hash_not_deserialized";
14
+ export const invalidState = "invalid_state";
15
+ export const stateMismatch = "state_mismatch";
16
+ export const stateNotFound = "state_not_found";
17
+ export const nonceMismatch = "nonce_mismatch";
18
+ export const authTimeNotFound = "auth_time_not_found";
19
+ export const maxAgeTranspired = "max_age_transpired";
20
+ export const multipleMatchingTokens = "multiple_matching_tokens";
21
+ export const multipleMatchingAccounts = "multiple_matching_accounts";
22
+ export const multipleMatchingAppMetadata = "multiple_matching_appMetadata";
23
+ export const requestCannotBeMade = "request_cannot_be_made";
24
+ export const cannotRemoveEmptyScope = "cannot_remove_empty_scope";
25
+ export const cannotAppendScopeSet = "cannot_append_scopeset";
26
+ export const emptyInputScopeSet = "empty_input_scopeset";
27
+ export const deviceCodePollingCancelled = "device_code_polling_cancelled";
28
+ export const deviceCodeExpired = "device_code_expired";
29
+ export const deviceCodeUnknownError = "device_code_unknown_error";
30
+ export const noAccountInSilentRequest = "no_account_in_silent_request";
31
+ export const invalidCacheRecord = "invalid_cache_record";
32
+ export const invalidCacheEnvironment = "invalid_cache_environment";
33
+ export const noAccountFound = "no_account_found";
34
+ export const noCryptoObject = "no_crypto_object";
35
+ export const unexpectedCredentialType = "unexpected_credential_type";
36
+ export const invalidAssertion = "invalid_assertion";
37
+ export const invalidClientCredential = "invalid_client_credential";
38
+ export const tokenRefreshRequired = "token_refresh_required";
39
+ export const userTimeoutReached = "user_timeout_reached";
40
+ export const tokenClaimsCnfRequiredForSignedJwt =
41
+ "token_claims_cnf_required_for_signedjwt";
42
+ export const authorizationCodeMissingFromServerResponse =
43
+ "authorization_code_missing_from_server_response";
44
+ export const bindingKeyNotRemoved = "binding_key_not_removed";
45
+ export const endSessionEndpointNotSupported =
46
+ "end_session_endpoint_not_supported";
47
+ export const keyIdMissing = "key_id_missing";
48
+ export const noNetworkConnectivity = "no_network_connectivity";
49
+ export const userCanceled = "user_canceled";
50
+ export const missingTenantIdError = "missing_tenant_id_error";
51
+ export const methodNotImplemented = "method_not_implemented";
@@ -0,0 +1,210 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { AuthError } from "./AuthError";
7
+ import * as ClientConfigurationErrorCodes from "./ClientConfigurationErrorCodes";
8
+ export { ClientConfigurationErrorCodes };
9
+
10
+ export const ClientConfigurationErrorMessages = {
11
+ [ClientConfigurationErrorCodes.redirectUriEmpty]:
12
+ "A redirect URI is required for all calls, and none has been set.",
13
+ [ClientConfigurationErrorCodes.claimsRequestParsingError]:
14
+ "Could not parse the given claims request object.",
15
+ [ClientConfigurationErrorCodes.authorityUriInsecure]:
16
+ "Authority URIs must use https. Please see here for valid authority configuration options: https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-js-initializing-client-applications#configuration-options",
17
+ [ClientConfigurationErrorCodes.urlParseError]:
18
+ "URL could not be parsed into appropriate segments.",
19
+ [ClientConfigurationErrorCodes.urlEmptyError]: "URL was empty or null.",
20
+ [ClientConfigurationErrorCodes.emptyInputScopesError]:
21
+ "Scopes cannot be passed as null, undefined or empty array because they are required to obtain an access token.",
22
+ [ClientConfigurationErrorCodes.invalidPromptValue]:
23
+ "Please see here for valid configuration options: https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html#commonauthorizationurlrequest",
24
+ [ClientConfigurationErrorCodes.invalidClaims]:
25
+ "Given claims parameter must be a stringified JSON object.",
26
+ [ClientConfigurationErrorCodes.tokenRequestEmpty]:
27
+ "Token request was empty and not found in cache.",
28
+ [ClientConfigurationErrorCodes.logoutRequestEmpty]:
29
+ "The logout request was null or undefined.",
30
+ [ClientConfigurationErrorCodes.invalidCodeChallengeMethod]:
31
+ 'code_challenge_method passed is invalid. Valid values are "plain" and "S256".',
32
+ [ClientConfigurationErrorCodes.pkceParamsMissing]:
33
+ "Both params: code_challenge and code_challenge_method are to be passed if to be sent in the request",
34
+ [ClientConfigurationErrorCodes.invalidCloudDiscoveryMetadata]:
35
+ "Invalid cloudDiscoveryMetadata provided. Must be a stringified JSON object containing tenant_discovery_endpoint and metadata fields",
36
+ [ClientConfigurationErrorCodes.invalidAuthorityMetadata]:
37
+ "Invalid authorityMetadata provided. Must by a stringified JSON object containing authorization_endpoint, token_endpoint, issuer fields.",
38
+ [ClientConfigurationErrorCodes.untrustedAuthority]:
39
+ "The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.",
40
+ [ClientConfigurationErrorCodes.missingSshJwk]:
41
+ "Missing sshJwk in SSH certificate request. A stringified JSON Web Key is required when using the SSH authentication scheme.",
42
+ [ClientConfigurationErrorCodes.missingSshKid]:
43
+ "Missing sshKid in SSH certificate request. A string that uniquely identifies the public SSH key is required when using the SSH authentication scheme.",
44
+ [ClientConfigurationErrorCodes.missingNonceAuthenticationHeader]:
45
+ "Unable to find an authentication header containing server nonce. Either the Authentication-Info or WWW-Authenticate headers must be present in order to obtain a server nonce.",
46
+ [ClientConfigurationErrorCodes.invalidAuthenticationHeader]:
47
+ "Invalid authentication header provided",
48
+ [ClientConfigurationErrorCodes.cannotSetOIDCOptions]:
49
+ "Cannot set OIDCOptions parameter. Please change the protocol mode to OIDC or use a non-Microsoft authority.",
50
+ [ClientConfigurationErrorCodes.cannotAllowNativeBroker]:
51
+ "Cannot set allowNativeBroker parameter to true when not in AAD protocol mode.",
52
+ [ClientConfigurationErrorCodes.authorityMismatch]:
53
+ "Authority mismatch error. Authority provided in login request or PublicClientApplication config does not match the environment of the provided account. Please use a matching account or make an interactive request to login to this authority.",
54
+ };
55
+
56
+ /**
57
+ * ClientConfigurationErrorMessage class containing string constants used by error codes and messages.
58
+ * @deprecated Use ClientConfigurationErrorCodes instead
59
+ */
60
+ export const ClientConfigurationErrorMessage = {
61
+ redirectUriNotSet: {
62
+ code: ClientConfigurationErrorCodes.redirectUriEmpty,
63
+ desc: ClientConfigurationErrorMessages[
64
+ ClientConfigurationErrorCodes.redirectUriEmpty
65
+ ],
66
+ },
67
+ claimsRequestParsingError: {
68
+ code: ClientConfigurationErrorCodes.claimsRequestParsingError,
69
+ desc: ClientConfigurationErrorMessages[
70
+ ClientConfigurationErrorCodes.claimsRequestParsingError
71
+ ],
72
+ },
73
+ authorityUriInsecure: {
74
+ code: ClientConfigurationErrorCodes.authorityUriInsecure,
75
+ desc: ClientConfigurationErrorMessages[
76
+ ClientConfigurationErrorCodes.authorityUriInsecure
77
+ ],
78
+ },
79
+ urlParseError: {
80
+ code: ClientConfigurationErrorCodes.urlParseError,
81
+ desc: ClientConfigurationErrorMessages[
82
+ ClientConfigurationErrorCodes.urlParseError
83
+ ],
84
+ },
85
+ urlEmptyError: {
86
+ code: ClientConfigurationErrorCodes.urlEmptyError,
87
+ desc: ClientConfigurationErrorMessages[
88
+ ClientConfigurationErrorCodes.urlEmptyError
89
+ ],
90
+ },
91
+ emptyScopesError: {
92
+ code: ClientConfigurationErrorCodes.emptyInputScopesError,
93
+ desc: ClientConfigurationErrorMessages[
94
+ ClientConfigurationErrorCodes.emptyInputScopesError
95
+ ],
96
+ },
97
+ invalidPrompt: {
98
+ code: ClientConfigurationErrorCodes.invalidPromptValue,
99
+ desc: ClientConfigurationErrorMessages[
100
+ ClientConfigurationErrorCodes.invalidPromptValue
101
+ ],
102
+ },
103
+ invalidClaimsRequest: {
104
+ code: ClientConfigurationErrorCodes.invalidClaims,
105
+ desc: ClientConfigurationErrorMessages[
106
+ ClientConfigurationErrorCodes.invalidClaims
107
+ ],
108
+ },
109
+ tokenRequestEmptyError: {
110
+ code: ClientConfigurationErrorCodes.tokenRequestEmpty,
111
+ desc: ClientConfigurationErrorMessages[
112
+ ClientConfigurationErrorCodes.tokenRequestEmpty
113
+ ],
114
+ },
115
+ logoutRequestEmptyError: {
116
+ code: ClientConfigurationErrorCodes.logoutRequestEmpty,
117
+ desc: ClientConfigurationErrorMessages[
118
+ ClientConfigurationErrorCodes.logoutRequestEmpty
119
+ ],
120
+ },
121
+ invalidCodeChallengeMethod: {
122
+ code: ClientConfigurationErrorCodes.invalidCodeChallengeMethod,
123
+ desc: ClientConfigurationErrorMessages[
124
+ ClientConfigurationErrorCodes.invalidCodeChallengeMethod
125
+ ],
126
+ },
127
+ invalidCodeChallengeParams: {
128
+ code: ClientConfigurationErrorCodes.pkceParamsMissing,
129
+ desc: ClientConfigurationErrorMessages[
130
+ ClientConfigurationErrorCodes.pkceParamsMissing
131
+ ],
132
+ },
133
+ invalidCloudDiscoveryMetadata: {
134
+ code: ClientConfigurationErrorCodes.invalidCloudDiscoveryMetadata,
135
+ desc: ClientConfigurationErrorMessages[
136
+ ClientConfigurationErrorCodes.invalidCloudDiscoveryMetadata
137
+ ],
138
+ },
139
+ invalidAuthorityMetadata: {
140
+ code: ClientConfigurationErrorCodes.invalidAuthorityMetadata,
141
+ desc: ClientConfigurationErrorMessages[
142
+ ClientConfigurationErrorCodes.invalidAuthorityMetadata
143
+ ],
144
+ },
145
+ untrustedAuthority: {
146
+ code: ClientConfigurationErrorCodes.untrustedAuthority,
147
+ desc: ClientConfigurationErrorMessages[
148
+ ClientConfigurationErrorCodes.untrustedAuthority
149
+ ],
150
+ },
151
+ missingSshJwk: {
152
+ code: ClientConfigurationErrorCodes.missingSshJwk,
153
+ desc: ClientConfigurationErrorMessages[
154
+ ClientConfigurationErrorCodes.missingSshJwk
155
+ ],
156
+ },
157
+ missingSshKid: {
158
+ code: ClientConfigurationErrorCodes.missingSshKid,
159
+ desc: ClientConfigurationErrorMessages[
160
+ ClientConfigurationErrorCodes.missingSshKid
161
+ ],
162
+ },
163
+ missingNonceAuthenticationHeader: {
164
+ code: ClientConfigurationErrorCodes.missingNonceAuthenticationHeader,
165
+ desc: ClientConfigurationErrorMessages[
166
+ ClientConfigurationErrorCodes.missingNonceAuthenticationHeader
167
+ ],
168
+ },
169
+ invalidAuthenticationHeader: {
170
+ code: ClientConfigurationErrorCodes.invalidAuthenticationHeader,
171
+ desc: ClientConfigurationErrorMessages[
172
+ ClientConfigurationErrorCodes.invalidAuthenticationHeader
173
+ ],
174
+ },
175
+ cannotSetOIDCOptions: {
176
+ code: ClientConfigurationErrorCodes.cannotSetOIDCOptions,
177
+ desc: ClientConfigurationErrorMessages[
178
+ ClientConfigurationErrorCodes.cannotSetOIDCOptions
179
+ ],
180
+ },
181
+ cannotAllowNativeBroker: {
182
+ code: ClientConfigurationErrorCodes.cannotAllowNativeBroker,
183
+ desc: ClientConfigurationErrorMessages[
184
+ ClientConfigurationErrorCodes.cannotAllowNativeBroker
185
+ ],
186
+ },
187
+ authorityMismatch: {
188
+ code: ClientConfigurationErrorCodes.authorityMismatch,
189
+ desc: ClientConfigurationErrorMessages[
190
+ ClientConfigurationErrorCodes.authorityMismatch
191
+ ],
192
+ },
193
+ };
194
+
195
+ /**
196
+ * Error thrown when there is an error in configuration of the MSAL.js library.
197
+ */
198
+ export class ClientConfigurationError extends AuthError {
199
+ constructor(errorCode: string) {
200
+ super(errorCode, ClientConfigurationErrorMessages[errorCode]);
201
+ this.name = "ClientConfigurationError";
202
+ Object.setPrototypeOf(this, ClientConfigurationError.prototype);
203
+ }
204
+ }
205
+
206
+ export function createClientConfigurationError(
207
+ errorCode: string
208
+ ): ClientConfigurationError {
209
+ return new ClientConfigurationError(errorCode);
210
+ }
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ export const redirectUriEmpty = "redirect_uri_empty";
7
+ export const claimsRequestParsingError = "claims_request_parsing_error";
8
+ export const authorityUriInsecure = "authority_uri_insecure";
9
+ export const urlParseError = "url_parse_error";
10
+ export const urlEmptyError = "empty_url_error";
11
+ export const emptyInputScopesError = "empty_input_scopes_error";
12
+ export const invalidPromptValue = "invalid_prompt_value";
13
+ export const invalidClaims = "invalid_claims";
14
+ export const tokenRequestEmpty = "token_request_empty";
15
+ export const logoutRequestEmpty = "logout_request_empty";
16
+ export const invalidCodeChallengeMethod = "invalid_code_challenge_method";
17
+ export const pkceParamsMissing = "pkce_params_missing";
18
+ export const invalidCloudDiscoveryMetadata = "invalid_cloud_discovery_metadata";
19
+ export const invalidAuthorityMetadata = "invalid_authority_metadata";
20
+ export const untrustedAuthority = "untrusted_authority";
21
+ export const missingSshJwk = "missing_ssh_jwk";
22
+ export const missingSshKid = "missing_ssh_kid";
23
+ export const missingNonceAuthenticationHeader =
24
+ "missing_nonce_authentication_header";
25
+ export const invalidAuthenticationHeader = "invalid_authentication_header";
26
+ export const cannotSetOIDCOptions = "cannot_set_OIDCOptions";
27
+ export const cannotAllowNativeBroker = "cannot_allow_native_broker";
28
+ export const authorityMismatch = "authority_mismatch";
@@ -0,0 +1,139 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { Constants } from "../utils/Constants";
7
+ import { AuthError } from "./AuthError";
8
+ import * as InteractionRequiredAuthErrorCodes from "./InteractionRequiredAuthErrorCodes";
9
+ export { InteractionRequiredAuthErrorCodes };
10
+
11
+ /**
12
+ * InteractionRequiredServerErrorMessage contains string constants used by error codes and messages returned by the server indicating interaction is required
13
+ */
14
+ export const InteractionRequiredServerErrorMessage = [
15
+ InteractionRequiredAuthErrorCodes.interactionRequired,
16
+ InteractionRequiredAuthErrorCodes.consentRequired,
17
+ InteractionRequiredAuthErrorCodes.loginRequired,
18
+ ];
19
+
20
+ export const InteractionRequiredAuthSubErrorMessage = [
21
+ "message_only",
22
+ "additional_action",
23
+ "basic_action",
24
+ "user_password_expired",
25
+ "consent_required",
26
+ ];
27
+
28
+ const InteractionRequiredAuthErrorMessages = {
29
+ [InteractionRequiredAuthErrorCodes.noTokensFound]:
30
+ "No refresh token found in the cache. Please sign-in.",
31
+ [InteractionRequiredAuthErrorCodes.nativeAccountUnavailable]:
32
+ "The requested account is not available in the native broker. It may have been deleted or logged out. Please sign-in again using an interactive API.",
33
+ };
34
+
35
+ /**
36
+ * Interaction required errors defined by the SDK
37
+ * @deprecated Use InteractionRequiredAuthErrorCodes instead
38
+ */
39
+ export const InteractionRequiredAuthErrorMessage = {
40
+ noTokensFoundError: {
41
+ code: InteractionRequiredAuthErrorCodes.noTokensFound,
42
+ desc: InteractionRequiredAuthErrorMessages[
43
+ InteractionRequiredAuthErrorCodes.noTokensFound
44
+ ],
45
+ },
46
+ native_account_unavailable: {
47
+ code: InteractionRequiredAuthErrorCodes.nativeAccountUnavailable,
48
+ desc: InteractionRequiredAuthErrorMessages[
49
+ InteractionRequiredAuthErrorCodes.nativeAccountUnavailable
50
+ ],
51
+ },
52
+ };
53
+
54
+ /**
55
+ * Error thrown when user interaction is required.
56
+ */
57
+ export class InteractionRequiredAuthError extends AuthError {
58
+ /**
59
+ * The time the error occured at
60
+ */
61
+ timestamp: string;
62
+
63
+ /**
64
+ * TraceId associated with the error
65
+ */
66
+ traceId: string;
67
+
68
+ /**
69
+ * https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/docs/claims-challenge.md
70
+ *
71
+ * A string with extra claims needed for the token request to succeed
72
+ * web site: redirect the user to the authorization page and set the extra claims
73
+ * web api: include the claims in the WWW-Authenticate header that are sent back to the client so that it knows to request a token with the extra claims
74
+ * desktop application or browser context: include the claims when acquiring the token interactively
75
+ * app to app context (client_credentials): include the claims in the AcquireTokenByClientCredential request
76
+ */
77
+ claims: string;
78
+
79
+ constructor(
80
+ errorCode?: string,
81
+ errorMessage?: string,
82
+ subError?: string,
83
+ timestamp?: string,
84
+ traceId?: string,
85
+ correlationId?: string,
86
+ claims?: string
87
+ ) {
88
+ super(errorCode, errorMessage, subError);
89
+ Object.setPrototypeOf(this, InteractionRequiredAuthError.prototype);
90
+
91
+ this.timestamp = timestamp || Constants.EMPTY_STRING;
92
+ this.traceId = traceId || Constants.EMPTY_STRING;
93
+ this.correlationId = correlationId || Constants.EMPTY_STRING;
94
+ this.claims = claims || Constants.EMPTY_STRING;
95
+ this.name = "InteractionRequiredAuthError";
96
+ }
97
+ }
98
+
99
+ /**
100
+ * Helper function used to determine if an error thrown by the server requires interaction to resolve
101
+ * @param errorCode
102
+ * @param errorString
103
+ * @param subError
104
+ */
105
+ export function isInteractionRequiredError(
106
+ errorCode?: string,
107
+ errorString?: string,
108
+ subError?: string
109
+ ): boolean {
110
+ const isInteractionRequiredErrorCode =
111
+ !!errorCode &&
112
+ InteractionRequiredServerErrorMessage.indexOf(errorCode) > -1;
113
+ const isInteractionRequiredSubError =
114
+ !!subError &&
115
+ InteractionRequiredAuthSubErrorMessage.indexOf(subError) > -1;
116
+ const isInteractionRequiredErrorDesc =
117
+ !!errorString &&
118
+ InteractionRequiredServerErrorMessage.some((irErrorCode) => {
119
+ return errorString.indexOf(irErrorCode) > -1;
120
+ });
121
+
122
+ return (
123
+ isInteractionRequiredErrorCode ||
124
+ isInteractionRequiredErrorDesc ||
125
+ isInteractionRequiredSubError
126
+ );
127
+ }
128
+
129
+ /**
130
+ * Creates an InteractionRequiredAuthError
131
+ */
132
+ export function createInteractionRequiredAuthError(
133
+ errorCode: string
134
+ ): InteractionRequiredAuthError {
135
+ return new InteractionRequiredAuthError(
136
+ errorCode,
137
+ InteractionRequiredAuthErrorMessages[errorCode]
138
+ );
139
+ }
@@ -0,0 +1,13 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ // Codes defined by MSAL
7
+ export const noTokensFound = "no_tokens_found";
8
+ export const nativeAccountUnavailable = "native_account_unavailable";
9
+
10
+ // Codes potentially returned by server
11
+ export const interactionRequired = "interaction_required";
12
+ export const consentRequired = "consent_required";
13
+ export const loginRequired = "login_required";
@@ -0,0 +1,32 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { AuthError } from "./AuthError";
7
+ import * as JoseHeaderErrorCodes from "./JoseHeaderErrorCodes";
8
+ export { JoseHeaderErrorCodes };
9
+
10
+ export const JoseHeaderErrorMessages = {
11
+ [JoseHeaderErrorCodes.missingKidError]:
12
+ "The JOSE Header for the requested JWT, JWS or JWK object requires a keyId to be configured as the 'kid' header claim. No 'kid' value was provided.",
13
+ [JoseHeaderErrorCodes.missingAlgError]:
14
+ "The JOSE Header for the requested JWT, JWS or JWK object requires an algorithm to be specified as the 'alg' header claim. No 'alg' value was provided.",
15
+ };
16
+
17
+ /**
18
+ * Error thrown when there is an error in the client code running on the browser.
19
+ */
20
+ export class JoseHeaderError extends AuthError {
21
+ constructor(errorCode: string, errorMessage?: string) {
22
+ super(errorCode, errorMessage);
23
+ this.name = "JoseHeaderError";
24
+
25
+ Object.setPrototypeOf(this, JoseHeaderError.prototype);
26
+ }
27
+ }
28
+
29
+ /** Returns JoseHeaderError object */
30
+ export function createJoseHeaderError(code: string): JoseHeaderError {
31
+ return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);
32
+ }
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ export const missingKidError = "missing_kid_error";
7
+ export const missingAlgError = "missing_alg_error";
@@ -0,0 +1,18 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { AuthError } from "./AuthError";
7
+
8
+ /**
9
+ * Error thrown when there is an error with the server code, for example, unavailability.
10
+ */
11
+ export class ServerError extends AuthError {
12
+ constructor(errorCode?: string, errorMessage?: string, subError?: string) {
13
+ super(errorCode, errorMessage, subError);
14
+ this.name = "ServerError";
15
+
16
+ Object.setPrototypeOf(this, ServerError.prototype);
17
+ }
18
+ }