@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,40 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { ProtocolMode } from "./ProtocolMode";
7
+ import { OIDCOptions } from "./OIDCOptions";
8
+ import { AzureRegionConfiguration } from "./AzureRegionConfiguration";
9
+
10
+ export type AuthorityOptions = {
11
+ protocolMode: ProtocolMode;
12
+ OIDCOptions?: OIDCOptions | null;
13
+ knownAuthorities: Array<string>;
14
+ cloudDiscoveryMetadata: string;
15
+ authorityMetadata: string;
16
+ skipAuthorityMetadataCache?: boolean;
17
+ azureRegionConfiguration?: AzureRegionConfiguration;
18
+ };
19
+
20
+ export const AzureCloudInstance = {
21
+ // AzureCloudInstance is not specified.
22
+ None: "none",
23
+
24
+ // Microsoft Azure public cloud
25
+ AzurePublic: "https://login.microsoftonline.com",
26
+
27
+ // Microsoft PPE
28
+ AzurePpe: "https://login.windows-ppe.net",
29
+
30
+ // Microsoft Chinese national/regional cloud
31
+ AzureChina: "https://login.chinacloudapi.cn",
32
+
33
+ // Microsoft German national/regional cloud ("Black Forest")
34
+ AzureGermany: "https://login.microsoftonline.de",
35
+
36
+ // US Government cloud
37
+ AzureUsGovernment: "https://login.microsoftonline.us",
38
+ } as const;
39
+ export type AzureCloudInstance =
40
+ (typeof AzureCloudInstance)[keyof typeof AzureCloudInstance];
@@ -0,0 +1,15 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /**
7
+ * Authority types supported by MSAL.
8
+ */
9
+ export const AuthorityType = {
10
+ Default: 0,
11
+ Adfs: 1,
12
+ Dsts: 2,
13
+ Ciam: 3,
14
+ } as const;
15
+ export type AuthorityType = (typeof AuthorityType)[keyof typeof AuthorityType];
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ // The type here is a string instead of enum as the list of regional end points supported is not final yet.
7
+ export type AzureRegion = string;
@@ -0,0 +1,16 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { AzureRegion } from "./AzureRegion";
7
+
8
+ /*
9
+ * AzureRegionConfiguration
10
+ * - preferredAzureRegion - Preferred azure region from the user
11
+ * - environmentRegionFunc - Environment specific way of fetching the region from the environment
12
+ */
13
+ export type AzureRegionConfiguration = {
14
+ azureRegion?: AzureRegion;
15
+ environmentRegion: string | undefined;
16
+ };
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ export type CloudDiscoveryMetadata = {
7
+ preferred_network: string;
8
+ preferred_cache: string;
9
+ aliases: Array<string>;
10
+ };
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /**
7
+ * The OpenID Configuration Endpoint Response type. Used by the authority class to get relevant OAuth endpoints.
8
+ */
9
+ export type CloudInstanceDiscoveryErrorResponse = {
10
+ error: String;
11
+ error_description: String;
12
+ error_codes?: Array<Number>;
13
+ timestamp?: String;
14
+ trace_id?: String;
15
+ correlation_id?: String;
16
+ error_uri?: String;
17
+ };
18
+
19
+ export function isCloudInstanceDiscoveryErrorResponse(
20
+ response: object
21
+ ): boolean {
22
+ return (
23
+ response.hasOwnProperty("error") &&
24
+ response.hasOwnProperty("error_description")
25
+ );
26
+ }
@@ -0,0 +1,21 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata";
7
+
8
+ /**
9
+ * The OpenID Configuration Endpoint Response type. Used by the authority class to get relevant OAuth endpoints.
10
+ */
11
+ export type CloudInstanceDiscoveryResponse = {
12
+ tenant_discovery_endpoint: string;
13
+ metadata: Array<CloudDiscoveryMetadata>;
14
+ };
15
+
16
+ export function isCloudInstanceDiscoveryResponse(response: object): boolean {
17
+ return (
18
+ response.hasOwnProperty("tenant_discovery_endpoint") &&
19
+ response.hasOwnProperty("metadata")
20
+ );
21
+ }
@@ -0,0 +1,10 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ export type ImdsOptions = {
7
+ headers?: {
8
+ Metadata: string;
9
+ };
10
+ };
@@ -0,0 +1,14 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { ServerResponseType } from "../utils/Constants";
7
+
8
+ /**
9
+ * Options for the OIDC protocol mode.
10
+ */
11
+ export type OIDCOptions = {
12
+ serverResponseType?: ServerResponseType;
13
+ defaultScopes?: Array<string>;
14
+ };
@@ -0,0 +1,24 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /**
7
+ * Tenant Discovery Response which contains the relevant OAuth endpoints and data needed for authentication and authorization.
8
+ */
9
+ export type OpenIdConfigResponse = {
10
+ authorization_endpoint: string;
11
+ token_endpoint: string;
12
+ end_session_endpoint?: string;
13
+ issuer: string;
14
+ jwks_uri: string;
15
+ };
16
+
17
+ export function isOpenIdConfigResponse(response: object): boolean {
18
+ return (
19
+ response.hasOwnProperty("authorization_endpoint") &&
20
+ response.hasOwnProperty("token_endpoint") &&
21
+ response.hasOwnProperty("issuer") &&
22
+ response.hasOwnProperty("jwks_uri")
23
+ );
24
+ }
@@ -0,0 +1,13 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /**
7
+ * Protocol modes supported by MSAL.
8
+ */
9
+ export const ProtocolMode = {
10
+ AAD: "AAD",
11
+ OIDC: "OIDC",
12
+ } as const;
13
+ export type ProtocolMode = (typeof ProtocolMode)[keyof typeof ProtocolMode];
@@ -0,0 +1,196 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { INetworkModule } from "../network/INetworkModule";
7
+ import { NetworkResponse } from "../network/NetworkManager";
8
+ import { IMDSBadResponse } from "../response/IMDSBadResponse";
9
+ import {
10
+ Constants,
11
+ RegionDiscoverySources,
12
+ ResponseCodes,
13
+ } from "../utils/Constants";
14
+ import { RegionDiscoveryMetadata } from "./RegionDiscoveryMetadata";
15
+ import { ImdsOptions } from "./ImdsOptions";
16
+ import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
17
+ import { PerformanceEvents } from "../telemetry/performance/PerformanceEvent";
18
+ import { invokeAsync } from "../utils/FunctionWrappers";
19
+ import { Logger } from "../logger/Logger";
20
+
21
+ export class RegionDiscovery {
22
+ // Network interface to make requests with.
23
+ protected networkInterface: INetworkModule;
24
+ // Logger
25
+ private logger: Logger;
26
+ // Performance client
27
+ protected performanceClient: IPerformanceClient | undefined;
28
+ // CorrelationId
29
+ protected correlationId: string | undefined;
30
+ // Options for the IMDS endpoint request
31
+ protected static IMDS_OPTIONS: ImdsOptions = {
32
+ headers: {
33
+ Metadata: "true",
34
+ },
35
+ };
36
+
37
+ constructor(
38
+ networkInterface: INetworkModule,
39
+ logger: Logger,
40
+ performanceClient?: IPerformanceClient,
41
+ correlationId?: string
42
+ ) {
43
+ this.networkInterface = networkInterface;
44
+ this.logger = logger;
45
+ this.performanceClient = performanceClient;
46
+ this.correlationId = correlationId;
47
+ }
48
+
49
+ /**
50
+ * Detect the region from the application's environment.
51
+ *
52
+ * @returns Promise<string | null>
53
+ */
54
+ public async detectRegion(
55
+ environmentRegion: string | undefined,
56
+ regionDiscoveryMetadata: RegionDiscoveryMetadata
57
+ ): Promise<string | null> {
58
+ this.performanceClient?.addQueueMeasurement(
59
+ PerformanceEvents.RegionDiscoveryDetectRegion,
60
+ this.correlationId
61
+ );
62
+
63
+ // Initialize auto detected region with the region from the envrionment
64
+ let autodetectedRegionName = environmentRegion;
65
+
66
+ // Check if a region was detected from the environment, if not, attempt to get the region from IMDS
67
+ if (!autodetectedRegionName) {
68
+ const options = RegionDiscovery.IMDS_OPTIONS;
69
+
70
+ try {
71
+ const localIMDSVersionResponse = await invokeAsync(
72
+ this.getRegionFromIMDS.bind(this),
73
+ PerformanceEvents.RegionDiscoveryGetRegionFromIMDS,
74
+ this.logger,
75
+ this.performanceClient,
76
+ this.correlationId
77
+ )(Constants.IMDS_VERSION, options);
78
+ if (
79
+ localIMDSVersionResponse.status ===
80
+ ResponseCodes.httpSuccess
81
+ ) {
82
+ autodetectedRegionName = localIMDSVersionResponse.body;
83
+ regionDiscoveryMetadata.region_source =
84
+ RegionDiscoverySources.IMDS;
85
+ }
86
+
87
+ // If the response using the local IMDS version failed, try to fetch the current version of IMDS and retry.
88
+ if (
89
+ localIMDSVersionResponse.status ===
90
+ ResponseCodes.httpBadRequest
91
+ ) {
92
+ const currentIMDSVersion = await invokeAsync(
93
+ this.getCurrentVersion.bind(this),
94
+ PerformanceEvents.RegionDiscoveryGetCurrentVersion,
95
+ this.logger,
96
+ this.performanceClient,
97
+ this.correlationId
98
+ )(options);
99
+ if (!currentIMDSVersion) {
100
+ regionDiscoveryMetadata.region_source =
101
+ RegionDiscoverySources.FAILED_AUTO_DETECTION;
102
+ return null;
103
+ }
104
+
105
+ const currentIMDSVersionResponse = await invokeAsync(
106
+ this.getRegionFromIMDS.bind(this),
107
+ PerformanceEvents.RegionDiscoveryGetRegionFromIMDS,
108
+ this.logger,
109
+ this.performanceClient,
110
+ this.correlationId
111
+ )(currentIMDSVersion, options);
112
+ if (
113
+ currentIMDSVersionResponse.status ===
114
+ ResponseCodes.httpSuccess
115
+ ) {
116
+ autodetectedRegionName =
117
+ currentIMDSVersionResponse.body;
118
+ regionDiscoveryMetadata.region_source =
119
+ RegionDiscoverySources.IMDS;
120
+ }
121
+ }
122
+ } catch (e) {
123
+ regionDiscoveryMetadata.region_source =
124
+ RegionDiscoverySources.FAILED_AUTO_DETECTION;
125
+ return null;
126
+ }
127
+ } else {
128
+ regionDiscoveryMetadata.region_source =
129
+ RegionDiscoverySources.ENVIRONMENT_VARIABLE;
130
+ }
131
+
132
+ // If no region was auto detected from the environment or from the IMDS endpoint, mark the attempt as a FAILED_AUTO_DETECTION
133
+ if (!autodetectedRegionName) {
134
+ regionDiscoveryMetadata.region_source =
135
+ RegionDiscoverySources.FAILED_AUTO_DETECTION;
136
+ }
137
+
138
+ return autodetectedRegionName || null;
139
+ }
140
+
141
+ /**
142
+ * Make the call to the IMDS endpoint
143
+ *
144
+ * @param imdsEndpointUrl
145
+ * @returns Promise<NetworkResponse<string>>
146
+ */
147
+ private async getRegionFromIMDS(
148
+ version: string,
149
+ options: ImdsOptions
150
+ ): Promise<NetworkResponse<string>> {
151
+ this.performanceClient?.addQueueMeasurement(
152
+ PerformanceEvents.RegionDiscoveryGetRegionFromIMDS,
153
+ this.correlationId
154
+ );
155
+ return this.networkInterface.sendGetRequestAsync<string>(
156
+ `${Constants.IMDS_ENDPOINT}?api-version=${version}&format=text`,
157
+ options,
158
+ Constants.IMDS_TIMEOUT
159
+ );
160
+ }
161
+
162
+ /**
163
+ * Get the most recent version of the IMDS endpoint available
164
+ *
165
+ * @returns Promise<string | null>
166
+ */
167
+ private async getCurrentVersion(
168
+ options: ImdsOptions
169
+ ): Promise<string | null> {
170
+ this.performanceClient?.addQueueMeasurement(
171
+ PerformanceEvents.RegionDiscoveryGetCurrentVersion,
172
+ this.correlationId
173
+ );
174
+ try {
175
+ const response =
176
+ await this.networkInterface.sendGetRequestAsync<IMDSBadResponse>(
177
+ `${Constants.IMDS_ENDPOINT}?format=json`,
178
+ options
179
+ );
180
+
181
+ // When IMDS endpoint is called without the api version query param, bad request response comes back with latest version.
182
+ if (
183
+ response.status === ResponseCodes.httpBadRequest &&
184
+ response.body &&
185
+ response.body["newest-versions"] &&
186
+ response.body["newest-versions"].length > 0
187
+ ) {
188
+ return response.body["newest-versions"][0];
189
+ }
190
+
191
+ return null;
192
+ } catch (e) {
193
+ return null;
194
+ }
195
+ }
196
+ }
@@ -0,0 +1,15 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import {
7
+ RegionDiscoveryOutcomes,
8
+ RegionDiscoverySources,
9
+ } from "../utils/Constants";
10
+
11
+ export type RegionDiscoveryMetadata = {
12
+ region_used?: string;
13
+ region_source?: RegionDiscoverySources;
14
+ region_outcome?: RegionDiscoveryOutcomes;
15
+ };
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Copyright (c) Microsoft Corporation. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ import { AccountInfo } from "../../account/AccountInfo";
7
+ import { LoggerOptions } from "../../config/ClientConfiguration";
8
+ import { NativeRequest } from "../../request/NativeRequest";
9
+ import { NativeSignOutRequest } from "../../request/NativeSignOutRequest";
10
+ import { AuthenticationResult } from "../../response/AuthenticationResult";
11
+
12
+ export interface INativeBrokerPlugin {
13
+ isBrokerAvailable: boolean;
14
+ setLogger(loggerOptions: LoggerOptions): void;
15
+ getAccountById(
16
+ accountId: string,
17
+ correlationId: string
18
+ ): Promise<AccountInfo>;
19
+ getAllAccounts(
20
+ clientId: string,
21
+ correlationId: string
22
+ ): Promise<AccountInfo[]>;
23
+ acquireTokenSilent(request: NativeRequest): Promise<AuthenticationResult>;
24
+ acquireTokenInteractive(
25
+ request: NativeRequest,
26
+ windowHandle?: Buffer
27
+ ): Promise<AuthenticationResult>;
28
+ signOut(request: NativeSignOutRequest): Promise<void>;
29
+ }