@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
@@ -1,63 +1,63 @@
1
- import { BaseAuthRequest } from "../request/BaseAuthRequest";
2
- import { SignedHttpRequest } from "./SignedHttpRequest";
3
- /**
4
- * The PkceCodes type describes the structure
5
- * of objects that contain PKCE code
6
- * challenge and verifier pairs
7
- */
8
- export type PkceCodes = {
9
- verifier: string;
10
- challenge: string;
11
- };
12
- export type SignedHttpRequestParameters = Pick<BaseAuthRequest, "resourceRequestMethod" | "resourceRequestUri" | "shrClaims" | "shrNonce"> & {
13
- correlationId?: string;
14
- };
15
- /**
16
- * Interface for crypto functions used by library
17
- */
18
- export interface ICrypto {
19
- /**
20
- * Creates a guid randomly.
21
- */
22
- createNewGuid(): string;
23
- /**
24
- * base64 Encode string
25
- * @param input
26
- */
27
- base64Encode(input: string): string;
28
- /**
29
- * base64 decode string
30
- * @param input
31
- */
32
- base64Decode(input: string): string;
33
- /**
34
- * Generate PKCE codes for OAuth. See RFC here: https://tools.ietf.org/html/rfc7636
35
- */
36
- generatePkceCodes(): Promise<PkceCodes>;
37
- /**
38
- * Generates an JWK RSA S256 Thumbprint
39
- * @param request
40
- */
41
- getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise<string>;
42
- /**
43
- * Removes cryptographic keypair from key store matching the keyId passed in
44
- * @param kid
45
- */
46
- removeTokenBindingKey(kid: string): Promise<boolean>;
47
- /**
48
- * Removes all cryptographic keys from IndexedDB storage
49
- */
50
- clearKeystore(): Promise<boolean>;
51
- /**
52
- * Returns a signed proof-of-possession token with a given acces token that contains a cnf claim with the required kid.
53
- * @param accessToken
54
- */
55
- signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise<string>;
56
- /**
57
- * Returns the SHA-256 hash of an input string
58
- * @param plainText
59
- */
60
- hashString(plainText: string): Promise<string>;
61
- }
62
- export declare const DEFAULT_CRYPTO_IMPLEMENTATION: ICrypto;
1
+ import { BaseAuthRequest } from "../request/BaseAuthRequest";
2
+ import { SignedHttpRequest } from "./SignedHttpRequest";
3
+ /**
4
+ * The PkceCodes type describes the structure
5
+ * of objects that contain PKCE code
6
+ * challenge and verifier pairs
7
+ */
8
+ export type PkceCodes = {
9
+ verifier: string;
10
+ challenge: string;
11
+ };
12
+ export type SignedHttpRequestParameters = Pick<BaseAuthRequest, "resourceRequestMethod" | "resourceRequestUri" | "shrClaims" | "shrNonce"> & {
13
+ correlationId?: string;
14
+ };
15
+ /**
16
+ * Interface for crypto functions used by library
17
+ */
18
+ export interface ICrypto {
19
+ /**
20
+ * Creates a guid randomly.
21
+ */
22
+ createNewGuid(): string;
23
+ /**
24
+ * base64 Encode string
25
+ * @param input
26
+ */
27
+ base64Encode(input: string): string;
28
+ /**
29
+ * base64 decode string
30
+ * @param input
31
+ */
32
+ base64Decode(input: string): string;
33
+ /**
34
+ * Generate PKCE codes for OAuth. See RFC here: https://tools.ietf.org/html/rfc7636
35
+ */
36
+ generatePkceCodes(): Promise<PkceCodes>;
37
+ /**
38
+ * Generates an JWK RSA S256 Thumbprint
39
+ * @param request
40
+ */
41
+ getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise<string>;
42
+ /**
43
+ * Removes cryptographic keypair from key store matching the keyId passed in
44
+ * @param kid
45
+ */
46
+ removeTokenBindingKey(kid: string): Promise<boolean>;
47
+ /**
48
+ * Removes all cryptographic keys from IndexedDB storage
49
+ */
50
+ clearKeystore(): Promise<boolean>;
51
+ /**
52
+ * Returns a signed proof-of-possession token with a given acces token that contains a cnf claim with the required kid.
53
+ * @param accessToken
54
+ */
55
+ signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise<string>;
56
+ /**
57
+ * Returns the SHA-256 hash of an input string
58
+ * @param plainText
59
+ */
60
+ hashString(plainText: string): Promise<string>;
61
+ }
62
+ export declare const DEFAULT_CRYPTO_IMPLEMENTATION: ICrypto;
63
63
  //# sourceMappingURL=ICrypto.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ICrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/ICrypto.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC1C,eAAe,EACf,uBAAuB,GAAG,oBAAoB,GAAG,WAAW,GAAG,UAAU,CAC5E,GAAG;IACA,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC;;;OAGG;IACH,sBAAsB,CAClB,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC;;;OAGG;IACH,OAAO,CACH,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,6BAA6B,EAAE,OA8C3C,CAAC"}
1
+ {"version":3,"file":"ICrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/ICrypto.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAC1C,eAAe,EACf,uBAAuB,GAAG,oBAAoB,GAAG,WAAW,GAAG,UAAU,CAC5E,GAAG;IACA,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC;;;OAGG;IACH,sBAAsB,CAClB,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD;;OAEG;IACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC;;;OAGG;IACH,OAAO,CACH,OAAO,EAAE,iBAAiB,EAC1B,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,MAAM,CAAC,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAED,eAAO,MAAM,6BAA6B,EAAE,OA4B3C,CAAC"}
@@ -1,48 +1,40 @@
1
- /*! @azure/msal-common v14.0.2 2023-08-18 */
1
+ /*! @azure/msal-common v14.1.0-alpha.0 2023-09-20 */
2
2
  'use strict';
3
- import { AuthError } from '../error/AuthError.mjs';
3
+ import { createClientAuthError } from '../error/ClientAuthError.mjs';
4
+ import { methodNotImplemented } from '../error/ClientAuthErrorCodes.mjs';
4
5
 
5
- /*
6
- * Copyright (c) Microsoft Corporation. All rights reserved.
7
- * Licensed under the MIT License.
8
- */
9
- const DEFAULT_CRYPTO_IMPLEMENTATION = {
10
- createNewGuid: () => {
11
- const notImplErr = "Crypto interface - createNewGuid() has not been implemented";
12
- throw AuthError.createUnexpectedError(notImplErr);
13
- },
14
- base64Decode: () => {
15
- const notImplErr = "Crypto interface - base64Decode() has not been implemented";
16
- throw AuthError.createUnexpectedError(notImplErr);
17
- },
18
- base64Encode: () => {
19
- const notImplErr = "Crypto interface - base64Encode() has not been implemented";
20
- throw AuthError.createUnexpectedError(notImplErr);
21
- },
22
- async generatePkceCodes() {
23
- const notImplErr = "Crypto interface - generatePkceCodes() has not been implemented";
24
- throw AuthError.createUnexpectedError(notImplErr);
25
- },
26
- async getPublicKeyThumbprint() {
27
- const notImplErr = "Crypto interface - getPublicKeyThumbprint() has not been implemented";
28
- throw AuthError.createUnexpectedError(notImplErr);
29
- },
30
- async removeTokenBindingKey() {
31
- const notImplErr = "Crypto interface - removeTokenBindingKey() has not been implemented";
32
- throw AuthError.createUnexpectedError(notImplErr);
33
- },
34
- async clearKeystore() {
35
- const notImplErr = "Crypto interface - clearKeystore() has not been implemented";
36
- throw AuthError.createUnexpectedError(notImplErr);
37
- },
38
- async signJwt() {
39
- const notImplErr = "Crypto interface - signJwt() has not been implemented";
40
- throw AuthError.createUnexpectedError(notImplErr);
41
- },
42
- async hashString() {
43
- const notImplErr = "Crypto interface - hashString() has not been implemented";
44
- throw AuthError.createUnexpectedError(notImplErr);
45
- },
6
+ /*
7
+ * Copyright (c) Microsoft Corporation. All rights reserved.
8
+ * Licensed under the MIT License.
9
+ */
10
+ const DEFAULT_CRYPTO_IMPLEMENTATION = {
11
+ createNewGuid: () => {
12
+ throw createClientAuthError(methodNotImplemented);
13
+ },
14
+ base64Decode: () => {
15
+ throw createClientAuthError(methodNotImplemented);
16
+ },
17
+ base64Encode: () => {
18
+ throw createClientAuthError(methodNotImplemented);
19
+ },
20
+ async generatePkceCodes() {
21
+ throw createClientAuthError(methodNotImplemented);
22
+ },
23
+ async getPublicKeyThumbprint() {
24
+ throw createClientAuthError(methodNotImplemented);
25
+ },
26
+ async removeTokenBindingKey() {
27
+ throw createClientAuthError(methodNotImplemented);
28
+ },
29
+ async clearKeystore() {
30
+ throw createClientAuthError(methodNotImplemented);
31
+ },
32
+ async signJwt() {
33
+ throw createClientAuthError(methodNotImplemented);
34
+ },
35
+ async hashString() {
36
+ throw createClientAuthError(methodNotImplemented);
37
+ },
46
38
  };
47
39
 
48
40
  export { DEFAULT_CRYPTO_IMPLEMENTATION };
@@ -1 +1 @@
1
- {"version":3,"file":"ICrypto.mjs","sources":["../../src/crypto/ICrypto.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;AA6EU,MAAA,6BAA6B,GAAY;IAClD,aAAa,EAAE,MAAa;QACxB,MAAM,UAAU,GACZ,6DAA6D,CAAC;AAClE,QAAA,MAAM,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;KACrD;IACD,YAAY,EAAE,MAAa;QACvB,MAAM,UAAU,GACZ,4DAA4D,CAAC;AACjE,QAAA,MAAM,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;KACrD;IACD,YAAY,EAAE,MAAa;QACvB,MAAM,UAAU,GACZ,4DAA4D,CAAC;AACjE,QAAA,MAAM,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;KACrD;AACD,IAAA,MAAM,iBAAiB,GAAA;QACnB,MAAM,UAAU,GACZ,iEAAiE,CAAC;AACtE,QAAA,MAAM,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;KACrD;AACD,IAAA,MAAM,sBAAsB,GAAA;QACxB,MAAM,UAAU,GACZ,sEAAsE,CAAC;AAC3E,QAAA,MAAM,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;KACrD;AACD,IAAA,MAAM,qBAAqB,GAAA;QACvB,MAAM,UAAU,GACZ,qEAAqE,CAAC;AAC1E,QAAA,MAAM,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;KACrD;AACD,IAAA,MAAM,aAAa,GAAA;QACf,MAAM,UAAU,GACZ,6DAA6D,CAAC;AAClE,QAAA,MAAM,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;KACrD;AACD,IAAA,MAAM,OAAO,GAAA;QACT,MAAM,UAAU,GACZ,uDAAuD,CAAC;AAC5D,QAAA,MAAM,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;KACrD;AACD,IAAA,MAAM,UAAU,GAAA;QACZ,MAAM,UAAU,GACZ,0DAA0D,CAAC;AAC/D,QAAA,MAAM,SAAS,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;KACrD;;;;;"}
1
+ {"version":3,"file":"ICrypto.mjs","sources":["../../src/crypto/ICrypto.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.methodNotImplemented"],"mappings":";;;;;AASA;AACA;AAEA;;;AAIG,IAAA,aAAA,EAAA,MAAA;AACH,QAAM,2BAAkB,CAAAA,oBAAA,CAAA,CAAA;KACZ;IACR,oBAAkB;QACpB,MAAA,qBAAA,CAAAA,oBAAA,CAAA,CAAA;AAEF,KAAA;IAII,YAAa,EAAC,MAAE;QAClB,MAAA,qBAAA,CAAAA,oBAAA,CAAA,CAAA;AAEF,KAAA;;AAEG,QAAA,MAAA,qBAAA,CAAAA,oBAAA,CAAA,CAAA;AACH,KAAA;AACI,IAAA,MAAA,sBAAA,GAAA;;AAEG,KAAA;IACH,MAAa,qBAAW,GAAA;AACxB,QAAA,MAAA,qBAAA,CAAAA,oBAAA,CAAA,CAAA;;;AAGG,QAAA,MAAA,qBAAA,CAAAA,oBAAA,CAAA,CAAA;AACH,KAAA;AACA,IAAA,MAAA,OAAA,GAAA;;;AAGG,IAAA,MAAA,UAAA,GAAA;AACH,QAAA,MAAA,0CAAoC,CAAA,CAAA;AACpC,KAAA;;;;;"}
@@ -1,5 +1,5 @@
1
- export interface IGuidGenerator {
2
- generateGuid(): string;
3
- isGuid(guid: string): boolean;
4
- }
1
+ export interface IGuidGenerator {
2
+ generateGuid(): string;
3
+ isGuid(guid: string): boolean;
4
+ }
5
5
  //# sourceMappingURL=IGuidGenerator.d.ts.map
@@ -1,23 +1,23 @@
1
- import { JsonTypes } from "../utils/Constants";
2
- export type JoseHeaderOptions = {
3
- typ?: JsonTypes;
4
- alg?: string;
5
- kid?: string;
6
- };
7
- /** @internal */
8
- export declare class JoseHeader {
9
- typ?: JsonTypes;
10
- alg?: string;
11
- kid?: string;
12
- constructor(options: JoseHeaderOptions);
13
- /**
14
- * Builds SignedHttpRequest formatted JOSE Header from the
15
- * JOSE Header options provided or previously set on the object and returns
16
- * the stringified header object.
17
- * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.
18
- * @param shrHeaderOptions
19
- * @returns
20
- */
21
- static getShrHeaderString(shrHeaderOptions: JoseHeaderOptions): string;
22
- }
1
+ import { JsonTypes } from "../utils/Constants";
2
+ export type JoseHeaderOptions = {
3
+ typ?: JsonTypes;
4
+ alg?: string;
5
+ kid?: string;
6
+ };
7
+ /** @internal */
8
+ export declare class JoseHeader {
9
+ typ?: JsonTypes;
10
+ alg?: string;
11
+ kid?: string;
12
+ constructor(options: JoseHeaderOptions);
13
+ /**
14
+ * Builds SignedHttpRequest formatted JOSE Header from the
15
+ * JOSE Header options provided or previously set on the object and returns
16
+ * the stringified header object.
17
+ * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.
18
+ * @param shrHeaderOptions
19
+ * @returns
20
+ */
21
+ static getShrHeaderString(shrHeaderOptions: JoseHeaderOptions): string;
22
+ }
23
23
  //# sourceMappingURL=JoseHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"JoseHeader.d.ts","sourceRoot":"","sources":["../../src/crypto/JoseHeader.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GAAG;IAC5B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,gBAAgB;AAChB,qBAAa,UAAU;IACZ,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,iBAAiB;IAMtC;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,MAAM;CAoBzE"}
1
+ {"version":3,"file":"JoseHeader.d.ts","sourceRoot":"","sources":["../../src/crypto/JoseHeader.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,MAAM,iBAAiB,GAAG;IAC5B,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,gBAAgB;AAChB,qBAAa,UAAU;IACZ,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;gBAER,OAAO,EAAE,iBAAiB;IAMtC;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,iBAAiB,GAAG,MAAM;CAoBzE"}
@@ -1,44 +1,45 @@
1
- /*! @azure/msal-common v14.0.2 2023-08-18 */
1
+ /*! @azure/msal-common v14.1.0-alpha.0 2023-09-20 */
2
2
  'use strict';
3
- import { JoseHeaderError } from '../error/JoseHeaderError.mjs';
3
+ import { createJoseHeaderError } from '../error/JoseHeaderError.mjs';
4
4
  import { JsonTypes } from '../utils/Constants.mjs';
5
+ import { missingKidError, missingAlgError } from '../error/JoseHeaderErrorCodes.mjs';
5
6
 
6
- /*
7
- * Copyright (c) Microsoft Corporation. All rights reserved.
8
- * Licensed under the MIT License.
9
- */
10
- /** @internal */
11
- class JoseHeader {
12
- constructor(options) {
13
- this.typ = options.typ;
14
- this.alg = options.alg;
15
- this.kid = options.kid;
16
- }
17
- /**
18
- * Builds SignedHttpRequest formatted JOSE Header from the
19
- * JOSE Header options provided or previously set on the object and returns
20
- * the stringified header object.
21
- * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.
22
- * @param shrHeaderOptions
23
- * @returns
24
- */
25
- static getShrHeaderString(shrHeaderOptions) {
26
- // KeyID is required on the SHR header
27
- if (!shrHeaderOptions.kid) {
28
- throw JoseHeaderError.createMissingKidError();
29
- }
30
- // Alg is required on the SHR header
31
- if (!shrHeaderOptions.alg) {
32
- throw JoseHeaderError.createMissingAlgError();
33
- }
34
- const shrHeader = new JoseHeader({
35
- // Access Token PoP headers must have type pop, but the type header can be overriden for special cases
36
- typ: shrHeaderOptions.typ || JsonTypes.Pop,
37
- kid: shrHeaderOptions.kid,
38
- alg: shrHeaderOptions.alg,
39
- });
40
- return JSON.stringify(shrHeader);
41
- }
7
+ /*
8
+ * Copyright (c) Microsoft Corporation. All rights reserved.
9
+ * Licensed under the MIT License.
10
+ */
11
+ /** @internal */
12
+ class JoseHeader {
13
+ constructor(options) {
14
+ this.typ = options.typ;
15
+ this.alg = options.alg;
16
+ this.kid = options.kid;
17
+ }
18
+ /**
19
+ * Builds SignedHttpRequest formatted JOSE Header from the
20
+ * JOSE Header options provided or previously set on the object and returns
21
+ * the stringified header object.
22
+ * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.
23
+ * @param shrHeaderOptions
24
+ * @returns
25
+ */
26
+ static getShrHeaderString(shrHeaderOptions) {
27
+ // KeyID is required on the SHR header
28
+ if (!shrHeaderOptions.kid) {
29
+ throw createJoseHeaderError(missingKidError);
30
+ }
31
+ // Alg is required on the SHR header
32
+ if (!shrHeaderOptions.alg) {
33
+ throw createJoseHeaderError(missingAlgError);
34
+ }
35
+ const shrHeader = new JoseHeader({
36
+ // Access Token PoP headers must have type pop, but the type header can be overriden for special cases
37
+ typ: shrHeaderOptions.typ || JsonTypes.Pop,
38
+ kid: shrHeaderOptions.kid,
39
+ alg: shrHeaderOptions.alg,
40
+ });
41
+ return JSON.stringify(shrHeader);
42
+ }
42
43
  }
43
44
 
44
45
  export { JoseHeader };
@@ -1 +1 @@
1
- {"version":3,"file":"JoseHeader.mjs","sources":["../../src/crypto/JoseHeader.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;AAGG;AAWH;MACa,UAAU,CAAA;AAKnB,IAAA,WAAA,CAAY,OAA0B,EAAA;AAClC,QAAA,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;AACvB,QAAA,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;KAC1B;AAED;;;;;;;AAOG;IACH,OAAO,kBAAkB,CAAC,gBAAmC,EAAA;;AAEzD,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;AACvB,YAAA,MAAM,eAAe,CAAC,qBAAqB,EAAE,CAAC;AACjD,SAAA;;AAGD,QAAA,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE;AACvB,YAAA,MAAM,eAAe,CAAC,qBAAqB,EAAE,CAAC;AACjD,SAAA;AAED,QAAA,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC;;AAE7B,YAAA,GAAG,EAAE,gBAAgB,CAAC,GAAG,IAAI,SAAS,CAAC,GAAG;YAC1C,GAAG,EAAE,gBAAgB,CAAC,GAAG;YACzB,GAAG,EAAE,gBAAgB,CAAC,GAAG;AAC5B,SAAA,CAAC,CAAC;AAEH,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KACpC;AACJ;;;;"}
1
+ {"version":3,"file":"JoseHeader.mjs","sources":["../../src/crypto/JoseHeader.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AASA;AAEA;;;AAMA;AACA,MAAA,UAAuB,CAAA;IACZ,WAAM,CAAA,OAAU,EAAA;QACZ,IAAE,CAAA,GAAM,GAAC,OAAA,CAAA,GAAA,CAAA;QACT,IAAE,CAAA,GAAM,GAAC,OAAA,CAAA,GAAA,CAAA;AAER,QAAA,IAAA,CAAA,GAAA,GAAA,OAA0B,CAAA,GAAA,CAAA;AAMtC,KAAA;;;;;;;AAOG;AACH;AAoBH,IAAA,OAAA,kBAAA,CAAA,gBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,60 +1,61 @@
1
- import { ICrypto, SignedHttpRequestParameters } from "./ICrypto";
2
- import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
3
- /**
4
- * See eSTS docs for more info.
5
- * - A kid element, with the value containing an RFC 7638-compliant JWK thumbprint that is base64 encoded.
6
- * - xms_ksl element, representing the storage location of the key's secret component on the client device. One of two values:
7
- * - sw: software storage
8
- * - uhw: hardware storage
9
- */
10
- type ReqCnf = {
11
- kid: string;
12
- xms_ksl: KeyLocation;
13
- };
14
- export type ReqCnfData = {
15
- kid: string;
16
- reqCnfString: string;
17
- reqCnfHash: string;
18
- };
19
- declare const KeyLocation: {
20
- readonly SW: "sw";
21
- readonly UHW: "uhw";
22
- };
23
- export type KeyLocation = (typeof KeyLocation)[keyof typeof KeyLocation];
24
- /** @internal */
25
- export declare class PopTokenGenerator {
26
- private cryptoUtils;
27
- private performanceClient?;
28
- constructor(cryptoUtils: ICrypto, performanceClient?: IPerformanceClient);
29
- /**
30
- * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters
31
- * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash
32
- * @param request
33
- * @returns
34
- */
35
- generateCnf(request: SignedHttpRequestParameters): Promise<ReqCnfData>;
36
- /**
37
- * Generates key_id for a SHR token request
38
- * @param request
39
- * @returns
40
- */
41
- generateKid(request: SignedHttpRequestParameters): Promise<ReqCnf>;
42
- /**
43
- * Signs the POP access_token with the local generated key-pair
44
- * @param accessToken
45
- * @param request
46
- * @returns
47
- */
48
- signPopToken(accessToken: string, keyId: string, request: SignedHttpRequestParameters): Promise<string>;
49
- /**
50
- * Utility function to generate the signed JWT for an access_token
51
- * @param payload
52
- * @param kid
53
- * @param request
54
- * @param claims
55
- * @returns
56
- */
57
- signPayload(payload: string, keyId: string, request: SignedHttpRequestParameters, claims?: object): Promise<string>;
58
- }
59
- export {};
1
+ import { ICrypto, SignedHttpRequestParameters } from "./ICrypto";
2
+ import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
3
+ import { Logger } from "../logger/Logger";
4
+ /**
5
+ * See eSTS docs for more info.
6
+ * - A kid element, with the value containing an RFC 7638-compliant JWK thumbprint that is base64 encoded.
7
+ * - xms_ksl element, representing the storage location of the key's secret component on the client device. One of two values:
8
+ * - sw: software storage
9
+ * - uhw: hardware storage
10
+ */
11
+ type ReqCnf = {
12
+ kid: string;
13
+ xms_ksl: KeyLocation;
14
+ };
15
+ export type ReqCnfData = {
16
+ kid: string;
17
+ reqCnfString: string;
18
+ reqCnfHash: string;
19
+ };
20
+ declare const KeyLocation: {
21
+ readonly SW: "sw";
22
+ readonly UHW: "uhw";
23
+ };
24
+ export type KeyLocation = (typeof KeyLocation)[keyof typeof KeyLocation];
25
+ /** @internal */
26
+ export declare class PopTokenGenerator {
27
+ private cryptoUtils;
28
+ private performanceClient?;
29
+ constructor(cryptoUtils: ICrypto, performanceClient?: IPerformanceClient);
30
+ /**
31
+ * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters
32
+ * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash
33
+ * @param request
34
+ * @returns
35
+ */
36
+ generateCnf(request: SignedHttpRequestParameters, logger: Logger): Promise<ReqCnfData>;
37
+ /**
38
+ * Generates key_id for a SHR token request
39
+ * @param request
40
+ * @returns
41
+ */
42
+ generateKid(request: SignedHttpRequestParameters): Promise<ReqCnf>;
43
+ /**
44
+ * Signs the POP access_token with the local generated key-pair
45
+ * @param accessToken
46
+ * @param request
47
+ * @returns
48
+ */
49
+ signPopToken(accessToken: string, keyId: string, request: SignedHttpRequestParameters): Promise<string>;
50
+ /**
51
+ * Utility function to generate the signed JWT for an access_token
52
+ * @param payload
53
+ * @param kid
54
+ * @param request
55
+ * @param claims
56
+ * @returns
57
+ */
58
+ signPayload(payload: string, keyId: string, request: SignedHttpRequestParameters, claims?: object): Promise<string>;
59
+ }
60
+ export {};
60
61
  //# sourceMappingURL=PopTokenGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopTokenGenerator.d.ts","sourceRoot":"","sources":["../../src/crypto/PopTokenGenerator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAGjF;;;;;;GAMG;AACH,KAAK,MAAM,GAAG;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,WAAW;;;CAGP,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEzE,gBAAgB;AAChB,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAqB;gBAEnC,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,kBAAkB;IAKxE;;;;;OAKG;IACG,WAAW,CACb,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,UAAU,CAAC;IAsBtB;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBxE;;;;;OAKG;IACG,YAAY,CACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;OAOG;IACG,WAAW,CACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,2BAA2B,EACpC,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CA+BrB"}
1
+ {"version":3,"file":"PopTokenGenerator.d.ts","sourceRoot":"","sources":["../../src/crypto/PopTokenGenerator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,MAAM,WAAW,CAAC;AAGjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAGjF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C;;;;;;GAMG;AACH,KAAK,MAAM,GAAG;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,WAAW,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,QAAA,MAAM,WAAW;;;CAGP,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEzE,gBAAgB;AAChB,qBAAa,iBAAiB;IAC1B,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,iBAAiB,CAAC,CAAqB;gBAEnC,WAAW,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,kBAAkB;IAKxE;;;;;OAKG;IACG,WAAW,CACb,OAAO,EAAE,2BAA2B,EACpC,MAAM,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;IAwBtB;;;;OAIG;IACG,WAAW,CAAC,OAAO,EAAE,2BAA2B,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBxE;;;;;OAKG;IACG,YAAY,CACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,2BAA2B,GACrC,OAAO,CAAC,MAAM,CAAC;IAIlB;;;;;;;OAOG;IACG,WAAW,CACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,2BAA2B,EACpC,MAAM,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC;CA+BrB"}