@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,89 +1,89 @@
1
- import { CredentialType, AuthenticationScheme } from "../../utils/Constants";
2
- /**
3
- * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc
4
- *
5
- * Key:Value Schema:
6
- *
7
- * Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<requestedClaims*>-<scheme*>
8
- *
9
- * Value Schema:
10
- * {
11
- * homeAccountId: home account identifier for the auth scheme,
12
- * environment: entity that issued the token, represented as a full host
13
- * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
14
- * clientId: client ID of the application
15
- * secret: Actual credential as a string
16
- * familyId: Family ID identifier, usually only used for refresh tokens
17
- * realm: Full tenant or organizational identifier that the account belongs to
18
- * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
19
- * tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop)
20
- * requestedClaimsHash: Matches the SHA 256 hash of the claims object included in the token request
21
- * userAssertionHash: Matches the SHA 256 hash of the obo_assertion for the OBO flow
22
- * }
23
- */
24
- export declare class CredentialEntity {
25
- homeAccountId: string;
26
- environment: string;
27
- credentialType: CredentialType;
28
- clientId: string;
29
- secret: string;
30
- familyId?: string;
31
- realm?: string;
32
- target?: string;
33
- userAssertionHash?: string;
34
- tokenType?: AuthenticationScheme;
35
- keyId?: string;
36
- requestedClaimsHash?: string;
37
- /**
38
- * Generate Account Id key component as per the schema: <home_account_id>-<environment>
39
- */
40
- generateAccountId(): string;
41
- /**
42
- * Generate Credential Id key component as per the schema: <credential_type>-<client_id>-<realm>
43
- */
44
- generateCredentialId(): string;
45
- /**
46
- * Generate target key component as per schema: <target>
47
- */
48
- generateTarget(): string;
49
- /**
50
- * generates credential key
51
- */
52
- generateCredentialKey(): string;
53
- /**
54
- * returns the type of the cache (in this case credential)
55
- */
56
- generateType(): number;
57
- /**
58
- * generates credential key
59
- * <home_account_id*>-\<environment>-<credential_type>-<client_id>-<realm\*>-<target\*>-<scheme\*>
60
- */
61
- static generateCredentialCacheKey(homeAccountId: string, environment: string, credentialType: CredentialType, clientId: string, realm?: string, target?: string, familyId?: string, tokenType?: AuthenticationScheme, requestedClaimsHash?: string): string;
62
- /**
63
- * generates Account Id for keys
64
- * @param homeAccountId
65
- * @param environment
66
- */
67
- private static generateAccountIdForCacheKey;
68
- /**
69
- * Generates Credential Id for keys
70
- * @param credentialType
71
- * @param realm
72
- * @param clientId
73
- * @param familyId
74
- */
75
- private static generateCredentialIdForCacheKey;
76
- /**
77
- * Generate target key component as per schema: <target>
78
- */
79
- private static generateTargetForCacheKey;
80
- /**
81
- * Generate requested claims key component as per schema: <requestedClaims>
82
- */
83
- private static generateClaimsHashForCacheKey;
84
- /**
85
- * Generate scheme key componenet as per schema: <scheme>
86
- */
87
- private static generateSchemeForCacheKey;
88
- }
1
+ import { CredentialType, AuthenticationScheme } from "../../utils/Constants";
2
+ /**
3
+ * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc
4
+ *
5
+ * Key:Value Schema:
6
+ *
7
+ * Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<requestedClaims*>-<scheme*>
8
+ *
9
+ * Value Schema:
10
+ * {
11
+ * homeAccountId: home account identifier for the auth scheme,
12
+ * environment: entity that issued the token, represented as a full host
13
+ * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
14
+ * clientId: client ID of the application
15
+ * secret: Actual credential as a string
16
+ * familyId: Family ID identifier, usually only used for refresh tokens
17
+ * realm: Full tenant or organizational identifier that the account belongs to
18
+ * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
19
+ * tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop)
20
+ * requestedClaimsHash: Matches the SHA 256 hash of the claims object included in the token request
21
+ * userAssertionHash: Matches the SHA 256 hash of the obo_assertion for the OBO flow
22
+ * }
23
+ */
24
+ export declare class CredentialEntity {
25
+ homeAccountId: string;
26
+ environment: string;
27
+ credentialType: CredentialType;
28
+ clientId: string;
29
+ secret: string;
30
+ familyId?: string;
31
+ realm?: string;
32
+ target?: string;
33
+ userAssertionHash?: string;
34
+ tokenType?: AuthenticationScheme;
35
+ keyId?: string;
36
+ requestedClaimsHash?: string;
37
+ /**
38
+ * Generate Account Id key component as per the schema: <home_account_id>-<environment>
39
+ */
40
+ generateAccountId(): string;
41
+ /**
42
+ * Generate Credential Id key component as per the schema: <credential_type>-<client_id>-<realm>
43
+ */
44
+ generateCredentialId(): string;
45
+ /**
46
+ * Generate target key component as per schema: <target>
47
+ */
48
+ generateTarget(): string;
49
+ /**
50
+ * generates credential key
51
+ */
52
+ generateCredentialKey(): string;
53
+ /**
54
+ * returns the type of the cache (in this case credential)
55
+ */
56
+ generateType(): number;
57
+ /**
58
+ * generates credential key
59
+ * <home_account_id*>-\<environment>-<credential_type>-<client_id>-<realm\*>-<target\*>-<scheme\*>
60
+ */
61
+ static generateCredentialCacheKey(homeAccountId: string, environment: string, credentialType: CredentialType, clientId: string, realm?: string, target?: string, familyId?: string, tokenType?: AuthenticationScheme, requestedClaimsHash?: string): string;
62
+ /**
63
+ * generates Account Id for keys
64
+ * @param homeAccountId
65
+ * @param environment
66
+ */
67
+ private static generateAccountIdForCacheKey;
68
+ /**
69
+ * Generates Credential Id for keys
70
+ * @param credentialType
71
+ * @param realm
72
+ * @param clientId
73
+ * @param familyId
74
+ */
75
+ private static generateCredentialIdForCacheKey;
76
+ /**
77
+ * Generate target key component as per schema: <target>
78
+ */
79
+ private static generateTargetForCacheKey;
80
+ /**
81
+ * Generate requested claims key component as per schema: <requestedClaims>
82
+ */
83
+ private static generateClaimsHashForCacheKey;
84
+ /**
85
+ * Generate scheme key componenet as per schema: <scheme>
86
+ */
87
+ private static generateSchemeForCacheKey;
88
+ }
89
89
  //# sourceMappingURL=CredentialEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/CredentialEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,cAAc,EAGd,oBAAoB,EACvB,MAAM,uBAAuB,CAAC;AAG/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAO3B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAS9B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAc/B;;OAEG;IACH,YAAY,IAAI,MAAM;IAetB;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAC7B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,oBAAoB,EAChC,mBAAmB,CAAC,EAAE,MAAM,GAC7B,MAAM;IAiBT;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAQ3C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAmB9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAIxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAM5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;CAW3C"}
1
+ {"version":3,"file":"CredentialEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/CredentialEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,cAAc,EAGd,oBAAoB,EACvB,MAAM,uBAAuB,CAAC;AAM/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,gBAAgB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAO3B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAS9B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAc/B;;OAEG;IACH,YAAY,IAAI,MAAM;IAiBtB;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAC7B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,oBAAoB,EAChC,mBAAmB,CAAC,EAAE,MAAM,GAC7B,MAAM;IAiBT;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAQ3C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAmB9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;IAIxC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,6BAA6B;IAM5C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;CAW3C"}
@@ -1,143 +1,144 @@
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
3
  import { CredentialType, CacheType, Separators, Constants, AuthenticationScheme } from '../../utils/Constants.mjs';
4
- import { ClientAuthError } from '../../error/ClientAuthError.mjs';
4
+ import { createClientAuthError } from '../../error/ClientAuthError.mjs';
5
+ import { unexpectedCredentialType } from '../../error/ClientAuthErrorCodes.mjs';
5
6
 
6
- /*
7
- * Copyright (c) Microsoft Corporation. All rights reserved.
8
- * Licensed under the MIT License.
9
- */
10
- /**
11
- * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc
12
- *
13
- * Key:Value Schema:
14
- *
15
- * Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<requestedClaims*>-<scheme*>
16
- *
17
- * Value Schema:
18
- * {
19
- * homeAccountId: home account identifier for the auth scheme,
20
- * environment: entity that issued the token, represented as a full host
21
- * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
22
- * clientId: client ID of the application
23
- * secret: Actual credential as a string
24
- * familyId: Family ID identifier, usually only used for refresh tokens
25
- * realm: Full tenant or organizational identifier that the account belongs to
26
- * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
27
- * tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop)
28
- * requestedClaimsHash: Matches the SHA 256 hash of the claims object included in the token request
29
- * userAssertionHash: Matches the SHA 256 hash of the obo_assertion for the OBO flow
30
- * }
31
- */
32
- class CredentialEntity {
33
- /**
34
- * Generate Account Id key component as per the schema: <home_account_id>-<environment>
35
- */
36
- generateAccountId() {
37
- return CredentialEntity.generateAccountIdForCacheKey(this.homeAccountId, this.environment);
38
- }
39
- /**
40
- * Generate Credential Id key component as per the schema: <credential_type>-<client_id>-<realm>
41
- */
42
- generateCredentialId() {
43
- return CredentialEntity.generateCredentialIdForCacheKey(this.credentialType, this.clientId, this.realm, this.familyId);
44
- }
45
- /**
46
- * Generate target key component as per schema: <target>
47
- */
48
- generateTarget() {
49
- return CredentialEntity.generateTargetForCacheKey(this.target);
50
- }
51
- /**
52
- * generates credential key
53
- */
54
- generateCredentialKey() {
55
- return CredentialEntity.generateCredentialCacheKey(this.homeAccountId, this.environment, this.credentialType, this.clientId, this.realm, this.target, this.familyId, this.tokenType, this.requestedClaimsHash);
56
- }
57
- /**
58
- * returns the type of the cache (in this case credential)
59
- */
60
- generateType() {
61
- switch (this.credentialType) {
62
- case CredentialType.ID_TOKEN:
63
- return CacheType.ID_TOKEN;
64
- case CredentialType.ACCESS_TOKEN:
65
- case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:
66
- return CacheType.ACCESS_TOKEN;
67
- case CredentialType.REFRESH_TOKEN:
68
- return CacheType.REFRESH_TOKEN;
69
- default: {
70
- throw ClientAuthError.createUnexpectedCredentialTypeError();
71
- }
72
- }
73
- }
74
- /**
75
- * generates credential key
76
- * <home_account_id*>-\<environment>-<credential_type>-<client_id>-<realm\*>-<target\*>-<scheme\*>
77
- */
78
- static generateCredentialCacheKey(homeAccountId, environment, credentialType, clientId, realm, target, familyId, tokenType, requestedClaimsHash) {
79
- const credentialKey = [
80
- this.generateAccountIdForCacheKey(homeAccountId, environment),
81
- this.generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId),
82
- this.generateTargetForCacheKey(target),
83
- this.generateClaimsHashForCacheKey(requestedClaimsHash),
84
- this.generateSchemeForCacheKey(tokenType),
85
- ];
86
- return credentialKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
87
- }
88
- /**
89
- * generates Account Id for keys
90
- * @param homeAccountId
91
- * @param environment
92
- */
93
- static generateAccountIdForCacheKey(homeAccountId, environment) {
94
- const accountId = [homeAccountId, environment];
95
- return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
96
- }
97
- /**
98
- * Generates Credential Id for keys
99
- * @param credentialType
100
- * @param realm
101
- * @param clientId
102
- * @param familyId
103
- */
104
- static generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId) {
105
- const clientOrFamilyId = credentialType === CredentialType.REFRESH_TOKEN
106
- ? familyId || clientId
107
- : clientId;
108
- const credentialId = [
109
- credentialType,
110
- clientOrFamilyId,
111
- realm || Constants.EMPTY_STRING,
112
- ];
113
- return credentialId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
114
- }
115
- /**
116
- * Generate target key component as per schema: <target>
117
- */
118
- static generateTargetForCacheKey(scopes) {
119
- return (scopes || Constants.EMPTY_STRING).toLowerCase();
120
- }
121
- /**
122
- * Generate requested claims key component as per schema: <requestedClaims>
123
- */
124
- static generateClaimsHashForCacheKey(requestedClaimsHash) {
125
- return (requestedClaimsHash || Constants.EMPTY_STRING).toLowerCase();
126
- }
127
- /**
128
- * Generate scheme key componenet as per schema: <scheme>
129
- */
130
- static generateSchemeForCacheKey(tokenType) {
131
- /*
132
- * PoP Tokens and SSH certs include scheme in cache key
133
- * Cast to lowercase to handle "bearer" from ADFS
134
- */
135
- return tokenType &&
136
- tokenType.toLowerCase() !==
137
- AuthenticationScheme.BEARER.toLowerCase()
138
- ? tokenType.toLowerCase()
139
- : Constants.EMPTY_STRING;
140
- }
7
+ /*
8
+ * Copyright (c) Microsoft Corporation. All rights reserved.
9
+ * Licensed under the MIT License.
10
+ */
11
+ /**
12
+ * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc
13
+ *
14
+ * Key:Value Schema:
15
+ *
16
+ * Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<requestedClaims*>-<scheme*>
17
+ *
18
+ * Value Schema:
19
+ * {
20
+ * homeAccountId: home account identifier for the auth scheme,
21
+ * environment: entity that issued the token, represented as a full host
22
+ * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
23
+ * clientId: client ID of the application
24
+ * secret: Actual credential as a string
25
+ * familyId: Family ID identifier, usually only used for refresh tokens
26
+ * realm: Full tenant or organizational identifier that the account belongs to
27
+ * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
28
+ * tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop)
29
+ * requestedClaimsHash: Matches the SHA 256 hash of the claims object included in the token request
30
+ * userAssertionHash: Matches the SHA 256 hash of the obo_assertion for the OBO flow
31
+ * }
32
+ */
33
+ class CredentialEntity {
34
+ /**
35
+ * Generate Account Id key component as per the schema: <home_account_id>-<environment>
36
+ */
37
+ generateAccountId() {
38
+ return CredentialEntity.generateAccountIdForCacheKey(this.homeAccountId, this.environment);
39
+ }
40
+ /**
41
+ * Generate Credential Id key component as per the schema: <credential_type>-<client_id>-<realm>
42
+ */
43
+ generateCredentialId() {
44
+ return CredentialEntity.generateCredentialIdForCacheKey(this.credentialType, this.clientId, this.realm, this.familyId);
45
+ }
46
+ /**
47
+ * Generate target key component as per schema: <target>
48
+ */
49
+ generateTarget() {
50
+ return CredentialEntity.generateTargetForCacheKey(this.target);
51
+ }
52
+ /**
53
+ * generates credential key
54
+ */
55
+ generateCredentialKey() {
56
+ return CredentialEntity.generateCredentialCacheKey(this.homeAccountId, this.environment, this.credentialType, this.clientId, this.realm, this.target, this.familyId, this.tokenType, this.requestedClaimsHash);
57
+ }
58
+ /**
59
+ * returns the type of the cache (in this case credential)
60
+ */
61
+ generateType() {
62
+ switch (this.credentialType) {
63
+ case CredentialType.ID_TOKEN:
64
+ return CacheType.ID_TOKEN;
65
+ case CredentialType.ACCESS_TOKEN:
66
+ case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:
67
+ return CacheType.ACCESS_TOKEN;
68
+ case CredentialType.REFRESH_TOKEN:
69
+ return CacheType.REFRESH_TOKEN;
70
+ default: {
71
+ throw createClientAuthError(unexpectedCredentialType);
72
+ }
73
+ }
74
+ }
75
+ /**
76
+ * generates credential key
77
+ * <home_account_id*>-\<environment>-<credential_type>-<client_id>-<realm\*>-<target\*>-<scheme\*>
78
+ */
79
+ static generateCredentialCacheKey(homeAccountId, environment, credentialType, clientId, realm, target, familyId, tokenType, requestedClaimsHash) {
80
+ const credentialKey = [
81
+ this.generateAccountIdForCacheKey(homeAccountId, environment),
82
+ this.generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId),
83
+ this.generateTargetForCacheKey(target),
84
+ this.generateClaimsHashForCacheKey(requestedClaimsHash),
85
+ this.generateSchemeForCacheKey(tokenType),
86
+ ];
87
+ return credentialKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
88
+ }
89
+ /**
90
+ * generates Account Id for keys
91
+ * @param homeAccountId
92
+ * @param environment
93
+ */
94
+ static generateAccountIdForCacheKey(homeAccountId, environment) {
95
+ const accountId = [homeAccountId, environment];
96
+ return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
97
+ }
98
+ /**
99
+ * Generates Credential Id for keys
100
+ * @param credentialType
101
+ * @param realm
102
+ * @param clientId
103
+ * @param familyId
104
+ */
105
+ static generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId) {
106
+ const clientOrFamilyId = credentialType === CredentialType.REFRESH_TOKEN
107
+ ? familyId || clientId
108
+ : clientId;
109
+ const credentialId = [
110
+ credentialType,
111
+ clientOrFamilyId,
112
+ realm || Constants.EMPTY_STRING,
113
+ ];
114
+ return credentialId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
115
+ }
116
+ /**
117
+ * Generate target key component as per schema: <target>
118
+ */
119
+ static generateTargetForCacheKey(scopes) {
120
+ return (scopes || Constants.EMPTY_STRING).toLowerCase();
121
+ }
122
+ /**
123
+ * Generate requested claims key component as per schema: <requestedClaims>
124
+ */
125
+ static generateClaimsHashForCacheKey(requestedClaimsHash) {
126
+ return (requestedClaimsHash || Constants.EMPTY_STRING).toLowerCase();
127
+ }
128
+ /**
129
+ * Generate scheme key componenet as per schema: <scheme>
130
+ */
131
+ static generateSchemeForCacheKey(tokenType) {
132
+ /*
133
+ * PoP Tokens and SSH certs include scheme in cache key
134
+ * Cast to lowercase to handle "bearer" from ADFS
135
+ */
136
+ return tokenType &&
137
+ tokenType.toLowerCase() !==
138
+ AuthenticationScheme.BEARER.toLowerCase()
139
+ ? tokenType.toLowerCase()
140
+ : Constants.EMPTY_STRING;
141
+ }
141
142
  }
142
143
 
143
144
  export { CredentialEntity };
@@ -1 +1 @@
1
- {"version":3,"file":"CredentialEntity.mjs","sources":["../../../src/cache/entities/CredentialEntity.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CredentialEntity.mjs","sources":["../../../src/cache/entities/CredentialEntity.ts"],"sourcesContent":[null],"names":["ClientAuthErrorCodes.unexpectedCredentialType"],"mappings":";;;;;;AAKA;AAYA;;;;;;;;;;;;;;;;;;;AAqBG;AACH;;;;;AAKU,sBAAS,CAAA;;;;IAIf,iBAAiB,GAAG;QACX,OAAG,gBAAA,CAAA,4BAAqB,CAAA,IAAA,CAAA,aAAA,EAAA,IAAA,CAAA,WAAA,CAAA,CAAA;KAC5B;;AAGL;;AAEG,IAAA,oBAAA,GAAA;AACH,QAAA,OAAA,gBAA2B,CAAA,+BAAA,CAAA,IAAA,CAAA,cAAA,EAAA,IAAA,CAAA,QAAA,EAAA,IAAA,CAAA,KAAA,EAAA,IAAA,CAAA,QAAA,CAAA,CAAA;AAO3B,KAAA;;AAEG;AACH;AASA,IAAA,cAAA,GAAA;;AAEG,KAAA;AACH;AAIA;;AAEG,IAAA,qBAAA,GAAA;AACH,QAAA,OAAA,gBAA+B,CAAA,0BAAA,CAAA,IAAA,CAAA,aAAA,EAAA,IAAA,CAAA,WAAA,EAAA,IAAA,CAAA,cAAA,EAAA,IAAA,CAAA,QAAA,EAAA,IAAA,CAAA,KAAA,EAAA,IAAA,CAAA,MAAA,EAAA,IAAA,CAAA,QAAA,EAAA,IAAA,CAAA,SAAA,EAAA,IAAA,CAAA,mBAAA,CAAA,CAAA;AAc/B,KAAA;;AAEG;AACH;AAiBA,IAAA,YAAA,GAAA;;;AAGG,gBAAA,OAAA,SAAA,CAAA,QAAA,CAAA;4CAEC,CAAA;AA0BJ,YAAA,KAAA,cAAA,CAAA,6BAAA;;;;AAIG,YAAA,SAAA;gBACW,MAA6B,qBAAA,CAAAA,wBAAA,CAAA,CAAA;AAQ3C,aAAA;;;;;;AAMG;IACH,OAAO,0BAAuC,CAAA,aAAA,EAAA,WAAA,EAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,mBAAA,EAAA;AAmB9C,QAAA,MAAA,aAAA,GAAA;;AAEG,YAAA,IAAA,CAAA,+BAAA,CAAA,cAAA,EAAA,QAAA,EAAA,KAAA,EAAA,QAAA,CAAA;YACK,IAAM,CAAA,yBAA0B,CAAA,MAAA,CAAA;AAIxC,YAAA,IAAA,CAAA,6BAAA,CAAA,mBAAA,CAAA;;AAEG,SAAA,CAAA;QACI,OAAO,aAA8B,CAAA,IAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,CAAA,WAAA,EAAA,CAAA;AAM5C,KAAA;;AAEG;;AAYN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,35 +1,35 @@
1
- import { CredentialEntity } from "./CredentialEntity";
2
- /**
3
- * ID_TOKEN Cache
4
- *
5
- * Key:Value Schema:
6
- *
7
- * Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-
8
- *
9
- * Value Schema:
10
- * {
11
- * homeAccountId: home account identifier for the auth scheme,
12
- * environment: entity that issued the token, represented as a full host
13
- * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
14
- * clientId: client ID of the application
15
- * secret: Actual credential as a string
16
- * realm: Full tenant or organizational identifier that the account belongs to
17
- * }
18
- */
19
- export declare class IdTokenEntity extends CredentialEntity {
20
- realm: string;
21
- /**
22
- * Create IdTokenEntity
23
- * @param homeAccountId
24
- * @param authenticationResult
25
- * @param clientId
26
- * @param authority
27
- */
28
- static createIdTokenEntity(homeAccountId: string, environment: string, idToken: string, clientId: string, tenantId: string): IdTokenEntity;
29
- /**
30
- * Validates an entity: checks for all expected params
31
- * @param entity
32
- */
33
- static isIdTokenEntity(entity: object): boolean;
34
- }
1
+ import { CredentialEntity } from "./CredentialEntity";
2
+ /**
3
+ * ID_TOKEN Cache
4
+ *
5
+ * Key:Value Schema:
6
+ *
7
+ * Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-
8
+ *
9
+ * Value Schema:
10
+ * {
11
+ * homeAccountId: home account identifier for the auth scheme,
12
+ * environment: entity that issued the token, represented as a full host
13
+ * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
14
+ * clientId: client ID of the application
15
+ * secret: Actual credential as a string
16
+ * realm: Full tenant or organizational identifier that the account belongs to
17
+ * }
18
+ */
19
+ export declare class IdTokenEntity extends CredentialEntity {
20
+ realm: string;
21
+ /**
22
+ * Create IdTokenEntity
23
+ * @param homeAccountId
24
+ * @param authenticationResult
25
+ * @param clientId
26
+ * @param authority
27
+ */
28
+ static createIdTokenEntity(homeAccountId: string, environment: string, idToken: string, clientId: string, tenantId: string): IdTokenEntity;
29
+ /**
30
+ * Validates an entity: checks for all expected params
31
+ * @param entity
32
+ */
33
+ static isIdTokenEntity(entity: object): boolean;
34
+ }
35
35
  //# sourceMappingURL=IdTokenEntity.d.ts.map