@azure/msal-common 13.0.0 → 14.0.0-alpha.2

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 (333) hide show
  1. package/dist/account/AccountInfo.d.ts +31 -31
  2. package/dist/account/AccountInfo.d.ts.map +1 -1
  3. package/dist/account/AuthToken.d.ts +20 -20
  4. package/dist/account/AuthToken.d.ts.map +1 -1
  5. package/dist/account/AuthToken.js +49 -50
  6. package/dist/account/AuthToken.js.map +1 -1
  7. package/dist/account/CcsCredential.d.ts +8 -8
  8. package/dist/account/CcsCredential.d.ts.map +1 -1
  9. package/dist/account/CcsCredential.js +9 -9
  10. package/dist/account/CcsCredential.js.map +1 -1
  11. package/dist/account/ClientCredentials.d.ts +14 -14
  12. package/dist/account/ClientCredentials.d.ts.map +1 -1
  13. package/dist/account/ClientInfo.d.ts +19 -19
  14. package/dist/account/ClientInfo.d.ts.map +1 -1
  15. package/dist/account/ClientInfo.js +37 -35
  16. package/dist/account/ClientInfo.js.map +1 -1
  17. package/dist/account/DecodedAuthToken.d.ts +8 -8
  18. package/dist/account/DecodedAuthToken.d.ts.map +1 -1
  19. package/dist/account/TokenClaims.d.ts +65 -65
  20. package/dist/account/TokenClaims.d.ts.map +1 -1
  21. package/dist/authority/Authority.d.ts +228 -215
  22. package/dist/authority/Authority.d.ts.map +1 -1
  23. package/dist/authority/Authority.js +717 -765
  24. package/dist/authority/Authority.js.map +1 -1
  25. package/dist/authority/AuthorityFactory.d.ts +30 -30
  26. package/dist/authority/AuthorityFactory.d.ts.map +1 -1
  27. package/dist/authority/AuthorityFactory.js +48 -63
  28. package/dist/authority/AuthorityFactory.js.map +1 -1
  29. package/dist/authority/AuthorityMetadata.d.ts +622 -622
  30. package/dist/authority/AuthorityMetadata.d.ts.map +1 -1
  31. package/dist/authority/AuthorityMetadata.js +877 -8
  32. package/dist/authority/AuthorityMetadata.js.map +1 -1
  33. package/dist/authority/AuthorityOptions.d.ts +18 -18
  34. package/dist/authority/AuthorityOptions.d.ts.map +1 -1
  35. package/dist/authority/AuthorityOptions.js +19 -19
  36. package/dist/authority/AuthorityOptions.js.map +1 -1
  37. package/dist/authority/AuthorityType.d.ts +9 -9
  38. package/dist/authority/AuthorityType.js +14 -14
  39. package/dist/authority/AuthorityType.js.map +1 -1
  40. package/dist/authority/AzureRegion.d.ts +1 -1
  41. package/dist/authority/AzureRegion.d.ts.map +1 -1
  42. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  43. package/dist/authority/AzureRegionConfiguration.d.ts.map +1 -1
  44. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  45. package/dist/authority/CloudDiscoveryMetadata.d.ts.map +1 -1
  46. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  47. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts.map +1 -1
  48. package/dist/authority/CloudInstanceDiscoveryErrorResponse.js +8 -8
  49. package/dist/authority/CloudInstanceDiscoveryErrorResponse.js.map +1 -1
  50. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  51. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts.map +1 -1
  52. package/dist/authority/CloudInstanceDiscoveryResponse.js +8 -8
  53. package/dist/authority/CloudInstanceDiscoveryResponse.js.map +1 -1
  54. package/dist/authority/ImdsOptions.d.ts +5 -5
  55. package/dist/authority/ImdsOptions.d.ts.map +1 -1
  56. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  57. package/dist/authority/OpenIdConfigResponse.d.ts.map +1 -1
  58. package/dist/authority/OpenIdConfigResponse.js +10 -10
  59. package/dist/authority/OpenIdConfigResponse.js.map +1 -1
  60. package/dist/authority/ProtocolMode.d.ts +7 -7
  61. package/dist/authority/ProtocolMode.js +12 -12
  62. package/dist/authority/ProtocolMode.js.map +1 -1
  63. package/dist/authority/RegionDiscovery.d.ts +30 -30
  64. package/dist/authority/RegionDiscovery.d.ts.map +1 -1
  65. package/dist/authority/RegionDiscovery.js +110 -132
  66. package/dist/authority/RegionDiscovery.js.map +1 -1
  67. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  68. package/dist/authority/RegionDiscoveryMetadata.d.ts.map +1 -1
  69. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  70. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts.map +1 -1
  71. package/dist/cache/CacheManager.d.ts +443 -443
  72. package/dist/cache/CacheManager.d.ts.map +1 -1
  73. package/dist/cache/CacheManager.js +1012 -1047
  74. package/dist/cache/CacheManager.js.map +1 -1
  75. package/dist/cache/entities/AccessTokenEntity.d.ts +56 -56
  76. package/dist/cache/entities/AccessTokenEntity.d.ts.map +1 -1
  77. package/dist/cache/entities/AccessTokenEntity.js +112 -113
  78. package/dist/cache/entities/AccessTokenEntity.js.map +1 -1
  79. package/dist/cache/entities/AccountEntity.d.ts +99 -99
  80. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  81. package/dist/cache/entities/AccountEntity.js +249 -237
  82. package/dist/cache/entities/AccountEntity.js.map +1 -1
  83. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  84. package/dist/cache/entities/AppMetadataEntity.d.ts.map +1 -1
  85. package/dist/cache/entities/AppMetadataEntity.js +67 -68
  86. package/dist/cache/entities/AppMetadataEntity.js.map +1 -1
  87. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +47 -47
  88. package/dist/cache/entities/AuthorityMetadataEntity.d.ts.map +1 -1
  89. package/dist/cache/entities/AuthorityMetadataEntity.js +78 -75
  90. package/dist/cache/entities/AuthorityMetadataEntity.js.map +1 -1
  91. package/dist/cache/entities/CacheRecord.d.ts +13 -13
  92. package/dist/cache/entities/CacheRecord.d.ts.map +1 -1
  93. package/dist/cache/entities/CacheRecord.js +14 -15
  94. package/dist/cache/entities/CacheRecord.js.map +1 -1
  95. package/dist/cache/entities/CredentialEntity.d.ts +88 -88
  96. package/dist/cache/entities/CredentialEntity.d.ts.map +1 -1
  97. package/dist/cache/entities/CredentialEntity.js +137 -136
  98. package/dist/cache/entities/CredentialEntity.js.map +1 -1
  99. package/dist/cache/entities/IdTokenEntity.d.ts +34 -34
  100. package/dist/cache/entities/IdTokenEntity.d.ts.map +1 -1
  101. package/dist/cache/entities/IdTokenEntity.js +57 -63
  102. package/dist/cache/entities/IdTokenEntity.js.map +1 -1
  103. package/dist/cache/entities/RefreshTokenEntity.d.ts +36 -36
  104. package/dist/cache/entities/RefreshTokenEntity.d.ts.map +1 -1
  105. package/dist/cache/entities/RefreshTokenEntity.js +60 -66
  106. package/dist/cache/entities/RefreshTokenEntity.js.map +1 -1
  107. package/dist/cache/entities/ServerTelemetryEntity.d.ts +12 -12
  108. package/dist/cache/entities/ServerTelemetryEntity.d.ts.map +1 -1
  109. package/dist/cache/entities/ServerTelemetryEntity.js +28 -29
  110. package/dist/cache/entities/ServerTelemetryEntity.js.map +1 -1
  111. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  112. package/dist/cache/entities/ThrottlingEntity.js +24 -26
  113. package/dist/cache/entities/ThrottlingEntity.js.map +1 -1
  114. package/dist/cache/interface/ICacheManager.d.ts +165 -165
  115. package/dist/cache/interface/ICacheManager.d.ts.map +1 -1
  116. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  117. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  118. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  119. package/dist/cache/persistence/TokenCacheContext.d.ts.map +1 -1
  120. package/dist/cache/persistence/TokenCacheContext.js +26 -35
  121. package/dist/cache/persistence/TokenCacheContext.js.map +1 -1
  122. package/dist/cache/utils/CacheTypes.d.ts +62 -62
  123. package/dist/cache/utils/CacheTypes.d.ts.map +1 -1
  124. package/dist/client/AuthorizationCodeClient.d.ts +71 -71
  125. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  126. package/dist/client/AuthorizationCodeClient.js +435 -478
  127. package/dist/client/AuthorizationCodeClient.js.map +1 -1
  128. package/dist/client/BaseClient.d.ts +50 -50
  129. package/dist/client/BaseClient.d.ts.map +1 -1
  130. package/dist/client/BaseClient.js +93 -101
  131. package/dist/client/BaseClient.js.map +1 -1
  132. package/dist/client/RefreshTokenClient.d.ts +34 -34
  133. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  134. package/dist/client/RefreshTokenClient.js +241 -274
  135. package/dist/client/RefreshTokenClient.js.map +1 -1
  136. package/dist/client/SilentFlowClient.d.ts +24 -24
  137. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  138. package/dist/client/SilentFlowClient.js +95 -123
  139. package/dist/client/SilentFlowClient.js.map +1 -1
  140. package/dist/config/AppTokenProvider.d.ts +38 -38
  141. package/dist/config/AppTokenProvider.d.ts.map +1 -1
  142. package/dist/config/ClientConfiguration.d.ts +133 -133
  143. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  144. package/dist/config/ClientConfiguration.js +88 -91
  145. package/dist/config/ClientConfiguration.js.map +1 -1
  146. package/dist/crypto/ICrypto.d.ts +62 -62
  147. package/dist/crypto/ICrypto.d.ts.map +1 -1
  148. package/dist/crypto/ICrypto.js +42 -73
  149. package/dist/crypto/ICrypto.js.map +1 -1
  150. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  151. package/dist/crypto/JoseHeader.d.ts +21 -21
  152. package/dist/crypto/JoseHeader.d.ts.map +1 -1
  153. package/dist/crypto/JoseHeader.js +37 -38
  154. package/dist/crypto/JoseHeader.js.map +1 -1
  155. package/dist/crypto/PopTokenGenerator.d.ts +57 -57
  156. package/dist/crypto/PopTokenGenerator.d.ts.map +1 -1
  157. package/dist/crypto/PopTokenGenerator.js +84 -108
  158. package/dist/crypto/PopTokenGenerator.js.map +1 -1
  159. package/dist/crypto/SignedHttpRequest.d.ts +11 -11
  160. package/dist/crypto/SignedHttpRequest.d.ts.map +1 -1
  161. package/dist/error/AuthError.d.ts +47 -47
  162. package/dist/error/AuthError.d.ts.map +1 -1
  163. package/dist/error/AuthError.js +52 -55
  164. package/dist/error/AuthError.js.map +1 -1
  165. package/dist/error/ClientAuthError.d.ts +412 -404
  166. package/dist/error/ClientAuthError.d.ts.map +1 -1
  167. package/dist/error/ClientAuthError.js +520 -514
  168. package/dist/error/ClientAuthError.js.map +1 -1
  169. package/dist/error/ClientConfigurationError.d.ts +198 -198
  170. package/dist/error/ClientConfigurationError.d.ts.map +1 -1
  171. package/dist/error/ClientConfigurationError.js +250 -254
  172. package/dist/error/ClientConfigurationError.js.map +1 -1
  173. package/dist/error/InteractionRequiredAuthError.d.ts +59 -59
  174. package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
  175. package/dist/error/InteractionRequiredAuthError.js +79 -78
  176. package/dist/error/InteractionRequiredAuthError.js.map +1 -1
  177. package/dist/error/JoseHeaderError.d.ts +28 -28
  178. package/dist/error/JoseHeaderError.d.ts.map +1 -1
  179. package/dist/error/JoseHeaderError.js +40 -44
  180. package/dist/error/JoseHeaderError.js.map +1 -1
  181. package/dist/error/ServerError.d.ts +7 -7
  182. package/dist/error/ServerError.d.ts.map +1 -1
  183. package/dist/error/ServerError.js +15 -19
  184. package/dist/error/ServerError.js.map +1 -1
  185. package/dist/index.cjs.js +8890 -9111
  186. package/dist/index.cjs.js.map +1 -1
  187. package/dist/index.d.ts +93 -94
  188. package/dist/index.d.ts.map +1 -1
  189. package/dist/index.js +5 -6
  190. package/dist/index.js.map +1 -1
  191. package/dist/logger/Logger.d.ts +95 -95
  192. package/dist/logger/Logger.d.ts.map +1 -1
  193. package/dist/logger/Logger.js +198 -188
  194. package/dist/logger/Logger.js.map +1 -1
  195. package/dist/network/INetworkModule.d.ts +29 -29
  196. package/dist/network/INetworkModule.d.ts.map +1 -1
  197. package/dist/network/INetworkModule.js +14 -14
  198. package/dist/network/INetworkModule.js.map +1 -1
  199. package/dist/network/NetworkManager.d.ts +32 -31
  200. package/dist/network/NetworkManager.d.ts.map +1 -1
  201. package/dist/network/NetworkManager.js +34 -48
  202. package/dist/network/NetworkManager.js.map +1 -1
  203. package/dist/network/RequestThumbprint.d.ts +16 -16
  204. package/dist/network/RequestThumbprint.d.ts.map +1 -1
  205. package/dist/network/ThrottlingUtils.d.ts +41 -41
  206. package/dist/network/ThrottlingUtils.d.ts.map +1 -1
  207. package/dist/network/ThrottlingUtils.js +95 -94
  208. package/dist/network/ThrottlingUtils.js.map +1 -1
  209. package/dist/packageMetadata.d.ts +2 -2
  210. package/dist/packageMetadata.d.ts.map +1 -1
  211. package/dist/packageMetadata.js +4 -4
  212. package/dist/packageMetadata.js.map +1 -1
  213. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  214. package/dist/request/AuthenticationHeaderParser.d.ts.map +1 -1
  215. package/dist/request/AuthenticationHeaderParser.js +56 -57
  216. package/dist/request/AuthenticationHeaderParser.js.map +1 -1
  217. package/dist/request/BaseAuthRequest.d.ts +37 -37
  218. package/dist/request/BaseAuthRequest.d.ts.map +1 -1
  219. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  220. package/dist/request/CommonAuthorizationCodeRequest.d.ts.map +1 -1
  221. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  222. package/dist/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
  223. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  224. package/dist/request/CommonClientCredentialRequest.d.ts.map +1 -1
  225. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  226. package/dist/request/CommonDeviceCodeRequest.d.ts.map +1 -1
  227. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  228. package/dist/request/CommonEndSessionRequest.d.ts.map +1 -1
  229. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  230. package/dist/request/CommonOnBehalfOfRequest.d.ts.map +1 -1
  231. package/dist/request/CommonRefreshTokenRequest.d.ts +19 -19
  232. package/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -1
  233. package/dist/request/CommonSilentFlowRequest.d.ts +18 -18
  234. package/dist/request/CommonSilentFlowRequest.d.ts.map +1 -1
  235. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  236. package/dist/request/CommonUsernamePasswordRequest.d.ts.map +1 -1
  237. package/dist/request/NativeRequest.d.ts +19 -19
  238. package/dist/request/NativeRequest.d.ts.map +1 -1
  239. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  240. package/dist/request/NativeSignOutRequest.d.ts.map +1 -1
  241. package/dist/request/RequestParameterBuilder.d.ts +216 -216
  242. package/dist/request/RequestParameterBuilder.d.ts.map +1 -1
  243. package/dist/request/RequestParameterBuilder.js +376 -378
  244. package/dist/request/RequestParameterBuilder.js.map +1 -1
  245. package/dist/request/RequestValidator.d.ts +33 -33
  246. package/dist/request/RequestValidator.d.ts.map +1 -1
  247. package/dist/request/RequestValidator.js +84 -89
  248. package/dist/request/RequestValidator.js.map +1 -1
  249. package/dist/request/ScopeSet.d.ts +88 -88
  250. package/dist/request/ScopeSet.d.ts.map +1 -1
  251. package/dist/request/ScopeSet.js +198 -198
  252. package/dist/request/ScopeSet.js.map +1 -1
  253. package/dist/response/AuthenticationResult.d.ts +39 -39
  254. package/dist/response/AuthenticationResult.d.ts.map +1 -1
  255. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  256. package/dist/response/AuthorizationCodePayload.d.ts.map +1 -1
  257. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  258. package/dist/response/DeviceCodeResponse.d.ts.map +1 -1
  259. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  260. package/dist/response/ExternalTokenResponse.d.ts.map +1 -1
  261. package/dist/response/IMDSBadResponse.d.ts +4 -4
  262. package/dist/response/IMDSBadResponse.d.ts.map +1 -1
  263. package/dist/response/ResponseHandler.d.ts +72 -72
  264. package/dist/response/ResponseHandler.d.ts.map +1 -1
  265. package/dist/response/ResponseHandler.js +301 -286
  266. package/dist/response/ResponseHandler.js.map +1 -1
  267. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  268. package/dist/response/ServerAuthorizationCodeResponse.d.ts.map +1 -1
  269. package/dist/response/ServerAuthorizationTokenResponse.d.ts +44 -44
  270. package/dist/response/ServerAuthorizationTokenResponse.d.ts.map +1 -1
  271. package/dist/telemetry/performance/IPerformanceClient.d.ts +42 -43
  272. package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
  273. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  274. package/dist/telemetry/performance/PerformanceClient.d.ts +189 -197
  275. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  276. package/dist/telemetry/performance/PerformanceClient.js +407 -402
  277. package/dist/telemetry/performance/PerformanceClient.js.map +1 -1
  278. package/dist/telemetry/performance/PerformanceEvent.d.ts +439 -439
  279. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  280. package/dist/telemetry/performance/PerformanceEvent.js +227 -227
  281. package/dist/telemetry/performance/PerformanceEvent.js.map +1 -1
  282. package/dist/telemetry/performance/StubPerformanceClient.d.ts +19 -17
  283. package/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -1
  284. package/dist/telemetry/performance/StubPerformanceClient.js +37 -46
  285. package/dist/telemetry/performance/StubPerformanceClient.js.map +1 -1
  286. package/dist/telemetry/server/ServerTelemetryManager.d.ts +65 -66
  287. package/dist/telemetry/server/ServerTelemetryManager.d.ts.map +1 -1
  288. package/dist/telemetry/server/ServerTelemetryManager.js +199 -161
  289. package/dist/telemetry/server/ServerTelemetryManager.js.map +1 -1
  290. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  291. package/dist/telemetry/server/ServerTelemetryRequest.d.ts.map +1 -1
  292. package/dist/url/IUri.d.ts +12 -12
  293. package/dist/url/UrlString.d.ts +70 -70
  294. package/dist/url/UrlString.d.ts.map +1 -1
  295. package/dist/url/UrlString.js +243 -232
  296. package/dist/url/UrlString.js.map +1 -1
  297. package/dist/utils/Constants.d.ts +331 -331
  298. package/dist/utils/Constants.d.ts.map +1 -1
  299. package/dist/utils/Constants.js +374 -373
  300. package/dist/utils/Constants.js.map +1 -1
  301. package/dist/utils/MsalTypes.d.ts +6 -6
  302. package/dist/utils/MsalTypes.d.ts.map +1 -1
  303. package/dist/utils/ProtocolUtils.d.ts +42 -42
  304. package/dist/utils/ProtocolUtils.d.ts.map +1 -1
  305. package/dist/utils/ProtocolUtils.js +72 -69
  306. package/dist/utils/ProtocolUtils.js.map +1 -1
  307. package/dist/utils/StringUtils.d.ts +53 -53
  308. package/dist/utils/StringUtils.d.ts.map +1 -1
  309. package/dist/utils/StringUtils.js +125 -123
  310. package/dist/utils/StringUtils.js.map +1 -1
  311. package/dist/utils/TimeUtils.d.ts +27 -27
  312. package/dist/utils/TimeUtils.d.ts.map +1 -1
  313. package/dist/utils/TimeUtils.js +46 -49
  314. package/dist/utils/TimeUtils.js.map +1 -1
  315. package/package.json +10 -7
  316. package/dist/_virtual/_tslib.js +0 -90
  317. package/dist/_virtual/_tslib.js.map +0 -1
  318. package/dist/client/ClientCredentialClient.d.ts +0 -38
  319. package/dist/client/ClientCredentialClient.d.ts.map +0 -1
  320. package/dist/client/ClientCredentialClient.js +0 -203
  321. package/dist/client/ClientCredentialClient.js.map +0 -1
  322. package/dist/client/DeviceCodeClient.d.ts +0 -57
  323. package/dist/client/DeviceCodeClient.d.ts.map +0 -1
  324. package/dist/client/DeviceCodeClient.js +0 -250
  325. package/dist/client/DeviceCodeClient.js.map +0 -1
  326. package/dist/client/OnBehalfOfClient.d.ts +0 -51
  327. package/dist/client/OnBehalfOfClient.d.ts.map +0 -1
  328. package/dist/client/OnBehalfOfClient.js +0 -248
  329. package/dist/client/OnBehalfOfClient.js.map +0 -1
  330. package/dist/client/UsernamePasswordClient.d.ts +0 -29
  331. package/dist/client/UsernamePasswordClient.d.ts.map +0 -1
  332. package/dist/client/UsernamePasswordClient.js +0 -129
  333. package/dist/client/UsernamePasswordClient.js.map +0 -1
@@ -1,387 +1,385 @@
1
- /*! @azure/msal-common v13.0.0 2023-05-01 */
1
+ /*! @azure/msal-common v14.0.0-alpha.2 2023-05-17 */
2
2
  'use strict';
3
- import { __spreadArrays } from '../_virtual/_tslib.js';
4
- import { AADServerParamKeys, Constants, ResponseMode, OIDC_DEFAULT_SCOPES, SSOTypes, HeaderNames, CLIENT_INFO, ClaimsRequestKeys, PasswordGrantConstants, AuthenticationScheme, ThrottlingConstants } from '../utils/Constants.js';
3
+ import { AADServerParamKeys, Constants, ResponseMode, SSOTypes, HeaderNames, CLIENT_INFO, ClaimsRequestKeys, PasswordGrantConstants, AuthenticationScheme, ThrottlingConstants, OIDC_DEFAULT_SCOPES } from '../utils/Constants.js';
5
4
  import { ScopeSet } from './ScopeSet.js';
6
5
  import { ClientConfigurationError } from '../error/ClientConfigurationError.js';
7
6
  import { RequestValidator } from './RequestValidator.js';
8
7
  import { StringUtils } from '../utils/StringUtils.js';
9
8
 
10
- /*
11
- * Copyright (c) Microsoft Corporation. All rights reserved.
12
- * Licensed under the MIT License.
13
- */
14
- var RequestParameterBuilder = /** @class */ (function () {
15
- function RequestParameterBuilder() {
16
- this.parameters = new Map();
17
- }
18
- /**
19
- * add response_type = code
20
- */
21
- RequestParameterBuilder.prototype.addResponseTypeCode = function () {
22
- this.parameters.set(AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(Constants.CODE_RESPONSE_TYPE));
23
- };
24
- /**
25
- * add response_type = token id_token
26
- */
27
- RequestParameterBuilder.prototype.addResponseTypeForTokenAndIdToken = function () {
28
- this.parameters.set(AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(Constants.TOKEN_RESPONSE_TYPE + " " + Constants.ID_TOKEN_RESPONSE_TYPE));
29
- };
30
- /**
31
- * add response_mode. defaults to query.
32
- * @param responseMode
33
- */
34
- RequestParameterBuilder.prototype.addResponseMode = function (responseMode) {
35
- this.parameters.set(AADServerParamKeys.RESPONSE_MODE, encodeURIComponent((responseMode) ? responseMode : ResponseMode.QUERY));
36
- };
37
- /**
38
- * Add flag to indicate STS should attempt to use WAM if available
39
- */
40
- RequestParameterBuilder.prototype.addNativeBroker = function () {
41
- this.parameters.set(AADServerParamKeys.NATIVE_BROKER, encodeURIComponent("1"));
42
- };
43
- /**
44
- * add scopes. set addOidcScopes to false to prevent default scopes in non-user scenarios
45
- * @param scopeSet
46
- * @param addOidcScopes
47
- */
48
- RequestParameterBuilder.prototype.addScopes = function (scopes, addOidcScopes) {
49
- if (addOidcScopes === void 0) { addOidcScopes = true; }
50
- var requestScopes = addOidcScopes ? __spreadArrays(scopes || [], OIDC_DEFAULT_SCOPES) : scopes || [];
51
- var scopeSet = new ScopeSet(requestScopes);
52
- this.parameters.set(AADServerParamKeys.SCOPE, encodeURIComponent(scopeSet.printScopes()));
53
- };
54
- /**
55
- * add clientId
56
- * @param clientId
57
- */
58
- RequestParameterBuilder.prototype.addClientId = function (clientId) {
59
- this.parameters.set(AADServerParamKeys.CLIENT_ID, encodeURIComponent(clientId));
60
- };
61
- /**
62
- * add redirect_uri
63
- * @param redirectUri
64
- */
65
- RequestParameterBuilder.prototype.addRedirectUri = function (redirectUri) {
66
- RequestValidator.validateRedirectUri(redirectUri);
67
- this.parameters.set(AADServerParamKeys.REDIRECT_URI, encodeURIComponent(redirectUri));
68
- };
69
- /**
70
- * add post logout redirectUri
71
- * @param redirectUri
72
- */
73
- RequestParameterBuilder.prototype.addPostLogoutRedirectUri = function (redirectUri) {
74
- RequestValidator.validateRedirectUri(redirectUri);
75
- this.parameters.set(AADServerParamKeys.POST_LOGOUT_URI, encodeURIComponent(redirectUri));
76
- };
77
- /**
78
- * add id_token_hint to logout request
79
- * @param idTokenHint
80
- */
81
- RequestParameterBuilder.prototype.addIdTokenHint = function (idTokenHint) {
82
- this.parameters.set(AADServerParamKeys.ID_TOKEN_HINT, encodeURIComponent(idTokenHint));
83
- };
84
- /**
85
- * add domain_hint
86
- * @param domainHint
87
- */
88
- RequestParameterBuilder.prototype.addDomainHint = function (domainHint) {
89
- this.parameters.set(SSOTypes.DOMAIN_HINT, encodeURIComponent(domainHint));
90
- };
91
- /**
92
- * add login_hint
93
- * @param loginHint
94
- */
95
- RequestParameterBuilder.prototype.addLoginHint = function (loginHint) {
96
- this.parameters.set(SSOTypes.LOGIN_HINT, encodeURIComponent(loginHint));
97
- };
98
- /**
99
- * Adds the CCS (Cache Credential Service) query parameter for login_hint
100
- * @param loginHint
101
- */
102
- RequestParameterBuilder.prototype.addCcsUpn = function (loginHint) {
103
- this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent("UPN:" + loginHint));
104
- };
105
- /**
106
- * Adds the CCS (Cache Credential Service) query parameter for account object
107
- * @param loginHint
108
- */
109
- RequestParameterBuilder.prototype.addCcsOid = function (clientInfo) {
110
- this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent("Oid:" + clientInfo.uid + "@" + clientInfo.utid));
111
- };
112
- /**
113
- * add sid
114
- * @param sid
115
- */
116
- RequestParameterBuilder.prototype.addSid = function (sid) {
117
- this.parameters.set(SSOTypes.SID, encodeURIComponent(sid));
118
- };
119
- /**
120
- * add claims
121
- * @param claims
122
- */
123
- RequestParameterBuilder.prototype.addClaims = function (claims, clientCapabilities) {
124
- var mergedClaims = this.addClientCapabilitiesToClaims(claims, clientCapabilities);
125
- RequestValidator.validateClaims(mergedClaims);
126
- this.parameters.set(AADServerParamKeys.CLAIMS, encodeURIComponent(mergedClaims));
127
- };
128
- /**
129
- * add correlationId
130
- * @param correlationId
131
- */
132
- RequestParameterBuilder.prototype.addCorrelationId = function (correlationId) {
133
- this.parameters.set(AADServerParamKeys.CLIENT_REQUEST_ID, encodeURIComponent(correlationId));
134
- };
135
- /**
136
- * add library info query params
137
- * @param libraryInfo
138
- */
139
- RequestParameterBuilder.prototype.addLibraryInfo = function (libraryInfo) {
140
- // Telemetry Info
141
- this.parameters.set(AADServerParamKeys.X_CLIENT_SKU, libraryInfo.sku);
142
- this.parameters.set(AADServerParamKeys.X_CLIENT_VER, libraryInfo.version);
143
- if (libraryInfo.os) {
144
- this.parameters.set(AADServerParamKeys.X_CLIENT_OS, libraryInfo.os);
145
- }
146
- if (libraryInfo.cpu) {
147
- this.parameters.set(AADServerParamKeys.X_CLIENT_CPU, libraryInfo.cpu);
148
- }
149
- };
150
- /**
151
- * Add client telemetry parameters
152
- * @param appTelemetry
153
- */
154
- RequestParameterBuilder.prototype.addApplicationTelemetry = function (appTelemetry) {
155
- if (appTelemetry === null || appTelemetry === void 0 ? void 0 : appTelemetry.appName) {
156
- this.parameters.set(AADServerParamKeys.X_APP_NAME, appTelemetry.appName);
157
- }
158
- if (appTelemetry === null || appTelemetry === void 0 ? void 0 : appTelemetry.appVersion) {
159
- this.parameters.set(AADServerParamKeys.X_APP_VER, appTelemetry.appVersion);
160
- }
161
- };
162
- /**
163
- * add prompt
164
- * @param prompt
165
- */
166
- RequestParameterBuilder.prototype.addPrompt = function (prompt) {
167
- RequestValidator.validatePrompt(prompt);
168
- this.parameters.set("" + AADServerParamKeys.PROMPT, encodeURIComponent(prompt));
169
- };
170
- /**
171
- * add state
172
- * @param state
173
- */
174
- RequestParameterBuilder.prototype.addState = function (state) {
175
- if (!StringUtils.isEmpty(state)) {
176
- this.parameters.set(AADServerParamKeys.STATE, encodeURIComponent(state));
177
- }
178
- };
179
- /**
180
- * add nonce
181
- * @param nonce
182
- */
183
- RequestParameterBuilder.prototype.addNonce = function (nonce) {
184
- this.parameters.set(AADServerParamKeys.NONCE, encodeURIComponent(nonce));
185
- };
186
- /**
187
- * add code_challenge and code_challenge_method
188
- * - throw if either of them are not passed
189
- * @param codeChallenge
190
- * @param codeChallengeMethod
191
- */
192
- RequestParameterBuilder.prototype.addCodeChallengeParams = function (codeChallenge, codeChallengeMethod) {
193
- RequestValidator.validateCodeChallengeParams(codeChallenge, codeChallengeMethod);
194
- if (codeChallenge && codeChallengeMethod) {
195
- this.parameters.set(AADServerParamKeys.CODE_CHALLENGE, encodeURIComponent(codeChallenge));
196
- this.parameters.set(AADServerParamKeys.CODE_CHALLENGE_METHOD, encodeURIComponent(codeChallengeMethod));
197
- }
198
- else {
199
- throw ClientConfigurationError.createInvalidCodeChallengeParamsError();
200
- }
201
- };
202
- /**
203
- * add the `authorization_code` passed by the user to exchange for a token
204
- * @param code
205
- */
206
- RequestParameterBuilder.prototype.addAuthorizationCode = function (code) {
207
- this.parameters.set(AADServerParamKeys.CODE, encodeURIComponent(code));
208
- };
209
- /**
210
- * add the `authorization_code` passed by the user to exchange for a token
211
- * @param code
212
- */
213
- RequestParameterBuilder.prototype.addDeviceCode = function (code) {
214
- this.parameters.set(AADServerParamKeys.DEVICE_CODE, encodeURIComponent(code));
215
- };
216
- /**
217
- * add the `refreshToken` passed by the user
218
- * @param refreshToken
219
- */
220
- RequestParameterBuilder.prototype.addRefreshToken = function (refreshToken) {
221
- this.parameters.set(AADServerParamKeys.REFRESH_TOKEN, encodeURIComponent(refreshToken));
222
- };
223
- /**
224
- * add the `code_verifier` passed by the user to exchange for a token
225
- * @param codeVerifier
226
- */
227
- RequestParameterBuilder.prototype.addCodeVerifier = function (codeVerifier) {
228
- this.parameters.set(AADServerParamKeys.CODE_VERIFIER, encodeURIComponent(codeVerifier));
229
- };
230
- /**
231
- * add client_secret
232
- * @param clientSecret
233
- */
234
- RequestParameterBuilder.prototype.addClientSecret = function (clientSecret) {
235
- this.parameters.set(AADServerParamKeys.CLIENT_SECRET, encodeURIComponent(clientSecret));
236
- };
237
- /**
238
- * add clientAssertion for confidential client flows
239
- * @param clientAssertion
240
- */
241
- RequestParameterBuilder.prototype.addClientAssertion = function (clientAssertion) {
242
- if (!StringUtils.isEmpty(clientAssertion)) {
243
- this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION, encodeURIComponent(clientAssertion));
244
- }
245
- };
246
- /**
247
- * add clientAssertionType for confidential client flows
248
- * @param clientAssertionType
249
- */
250
- RequestParameterBuilder.prototype.addClientAssertionType = function (clientAssertionType) {
251
- if (!StringUtils.isEmpty(clientAssertionType)) {
252
- this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION_TYPE, encodeURIComponent(clientAssertionType));
253
- }
254
- };
255
- /**
256
- * add OBO assertion for confidential client flows
257
- * @param clientAssertion
258
- */
259
- RequestParameterBuilder.prototype.addOboAssertion = function (oboAssertion) {
260
- this.parameters.set(AADServerParamKeys.OBO_ASSERTION, encodeURIComponent(oboAssertion));
261
- };
262
- /**
263
- * add grant type
264
- * @param grantType
265
- */
266
- RequestParameterBuilder.prototype.addRequestTokenUse = function (tokenUse) {
267
- this.parameters.set(AADServerParamKeys.REQUESTED_TOKEN_USE, encodeURIComponent(tokenUse));
268
- };
269
- /**
270
- * add grant type
271
- * @param grantType
272
- */
273
- RequestParameterBuilder.prototype.addGrantType = function (grantType) {
274
- this.parameters.set(AADServerParamKeys.GRANT_TYPE, encodeURIComponent(grantType));
275
- };
276
- /**
277
- * add client info
278
- *
279
- */
280
- RequestParameterBuilder.prototype.addClientInfo = function () {
281
- this.parameters.set(CLIENT_INFO, "1");
282
- };
283
- /**
284
- * add extraQueryParams
285
- * @param eQParams
286
- */
287
- RequestParameterBuilder.prototype.addExtraQueryParameters = function (eQParams) {
288
- var _this = this;
289
- var sanitizedEQParams = RequestValidator.sanitizeEQParams(eQParams, this.parameters);
290
- Object.keys(sanitizedEQParams).forEach(function (key) {
291
- _this.parameters.set(key, eQParams[key]);
292
- });
293
- };
294
- RequestParameterBuilder.prototype.addClientCapabilitiesToClaims = function (claims, clientCapabilities) {
295
- var mergedClaims;
296
- // Parse provided claims into JSON object or initialize empty object
297
- if (!claims) {
298
- mergedClaims = {};
299
- }
300
- else {
301
- try {
302
- mergedClaims = JSON.parse(claims);
303
- }
304
- catch (e) {
305
- throw ClientConfigurationError.createInvalidClaimsRequestError();
306
- }
307
- }
308
- if (clientCapabilities && clientCapabilities.length > 0) {
309
- if (!mergedClaims.hasOwnProperty(ClaimsRequestKeys.ACCESS_TOKEN)) {
310
- // Add access_token key to claims object
311
- mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN] = {};
312
- }
313
- // Add xms_cc claim with provided clientCapabilities to access_token key
314
- mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN][ClaimsRequestKeys.XMS_CC] = {
315
- values: clientCapabilities
316
- };
317
- }
318
- return JSON.stringify(mergedClaims);
319
- };
320
- /**
321
- * adds `username` for Password Grant flow
322
- * @param username
323
- */
324
- RequestParameterBuilder.prototype.addUsername = function (username) {
325
- this.parameters.set(PasswordGrantConstants.username, encodeURIComponent(username));
326
- };
327
- /**
328
- * adds `password` for Password Grant flow
329
- * @param password
330
- */
331
- RequestParameterBuilder.prototype.addPassword = function (password) {
332
- this.parameters.set(PasswordGrantConstants.password, encodeURIComponent(password));
333
- };
334
- /**
335
- * add pop_jwk to query params
336
- * @param cnfString
337
- */
338
- RequestParameterBuilder.prototype.addPopToken = function (cnfString) {
339
- if (!StringUtils.isEmpty(cnfString)) {
340
- this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.POP);
341
- this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(cnfString));
342
- }
343
- };
344
- /**
345
- * add SSH JWK and key ID to query params
346
- */
347
- RequestParameterBuilder.prototype.addSshJwk = function (sshJwkString) {
348
- if (!StringUtils.isEmpty(sshJwkString)) {
349
- this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.SSH);
350
- this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(sshJwkString));
351
- }
352
- };
353
- /**
354
- * add server telemetry fields
355
- * @param serverTelemetryManager
356
- */
357
- RequestParameterBuilder.prototype.addServerTelemetry = function (serverTelemetryManager) {
358
- this.parameters.set(AADServerParamKeys.X_CLIENT_CURR_TELEM, serverTelemetryManager.generateCurrentRequestHeaderValue());
359
- this.parameters.set(AADServerParamKeys.X_CLIENT_LAST_TELEM, serverTelemetryManager.generateLastRequestHeaderValue());
360
- };
361
- /**
362
- * Adds parameter that indicates to the server that throttling is supported
363
- */
364
- RequestParameterBuilder.prototype.addThrottling = function () {
365
- this.parameters.set(AADServerParamKeys.X_MS_LIB_CAPABILITY, ThrottlingConstants.X_MS_LIB_CAPABILITY_VALUE);
366
- };
367
- /**
368
- * Adds logout_hint parameter for "silent" logout which prevent server account picker
369
- */
370
- RequestParameterBuilder.prototype.addLogoutHint = function (logoutHint) {
371
- this.parameters.set(AADServerParamKeys.LOGOUT_HINT, encodeURIComponent(logoutHint));
372
- };
373
- /**
374
- * Utility to create a URL from the params map
375
- */
376
- RequestParameterBuilder.prototype.createQueryString = function () {
377
- var queryParameterArray = new Array();
378
- this.parameters.forEach(function (value, key) {
379
- queryParameterArray.push(key + "=" + value);
380
- });
381
- return queryParameterArray.join("&");
382
- };
383
- return RequestParameterBuilder;
384
- }());
9
+ /*
10
+ * Copyright (c) Microsoft Corporation. All rights reserved.
11
+ * Licensed under the MIT License.
12
+ */
13
+ class RequestParameterBuilder {
14
+ constructor() {
15
+ this.parameters = new Map();
16
+ }
17
+ /**
18
+ * add response_type = code
19
+ */
20
+ addResponseTypeCode() {
21
+ this.parameters.set(AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(Constants.CODE_RESPONSE_TYPE));
22
+ }
23
+ /**
24
+ * add response_type = token id_token
25
+ */
26
+ addResponseTypeForTokenAndIdToken() {
27
+ this.parameters.set(AADServerParamKeys.RESPONSE_TYPE, encodeURIComponent(`${Constants.TOKEN_RESPONSE_TYPE} ${Constants.ID_TOKEN_RESPONSE_TYPE}`));
28
+ }
29
+ /**
30
+ * add response_mode. defaults to query.
31
+ * @param responseMode
32
+ */
33
+ addResponseMode(responseMode) {
34
+ this.parameters.set(AADServerParamKeys.RESPONSE_MODE, encodeURIComponent(responseMode ? responseMode : ResponseMode.QUERY));
35
+ }
36
+ /**
37
+ * Add flag to indicate STS should attempt to use WAM if available
38
+ */
39
+ addNativeBroker() {
40
+ this.parameters.set(AADServerParamKeys.NATIVE_BROKER, encodeURIComponent("1"));
41
+ }
42
+ /**
43
+ * add scopes. set addOidcScopes to false to prevent default scopes in non-user scenarios
44
+ * @param scopeSet
45
+ * @param addOidcScopes
46
+ */
47
+ addScopes(scopes, addOidcScopes = true) {
48
+ const requestScopes = addOidcScopes
49
+ ? [...(scopes || []), ...OIDC_DEFAULT_SCOPES]
50
+ : scopes || [];
51
+ const scopeSet = new ScopeSet(requestScopes);
52
+ this.parameters.set(AADServerParamKeys.SCOPE, encodeURIComponent(scopeSet.printScopes()));
53
+ }
54
+ /**
55
+ * add clientId
56
+ * @param clientId
57
+ */
58
+ addClientId(clientId) {
59
+ this.parameters.set(AADServerParamKeys.CLIENT_ID, encodeURIComponent(clientId));
60
+ }
61
+ /**
62
+ * add redirect_uri
63
+ * @param redirectUri
64
+ */
65
+ addRedirectUri(redirectUri) {
66
+ RequestValidator.validateRedirectUri(redirectUri);
67
+ this.parameters.set(AADServerParamKeys.REDIRECT_URI, encodeURIComponent(redirectUri));
68
+ }
69
+ /**
70
+ * add post logout redirectUri
71
+ * @param redirectUri
72
+ */
73
+ addPostLogoutRedirectUri(redirectUri) {
74
+ RequestValidator.validateRedirectUri(redirectUri);
75
+ this.parameters.set(AADServerParamKeys.POST_LOGOUT_URI, encodeURIComponent(redirectUri));
76
+ }
77
+ /**
78
+ * add id_token_hint to logout request
79
+ * @param idTokenHint
80
+ */
81
+ addIdTokenHint(idTokenHint) {
82
+ this.parameters.set(AADServerParamKeys.ID_TOKEN_HINT, encodeURIComponent(idTokenHint));
83
+ }
84
+ /**
85
+ * add domain_hint
86
+ * @param domainHint
87
+ */
88
+ addDomainHint(domainHint) {
89
+ this.parameters.set(SSOTypes.DOMAIN_HINT, encodeURIComponent(domainHint));
90
+ }
91
+ /**
92
+ * add login_hint
93
+ * @param loginHint
94
+ */
95
+ addLoginHint(loginHint) {
96
+ this.parameters.set(SSOTypes.LOGIN_HINT, encodeURIComponent(loginHint));
97
+ }
98
+ /**
99
+ * Adds the CCS (Cache Credential Service) query parameter for login_hint
100
+ * @param loginHint
101
+ */
102
+ addCcsUpn(loginHint) {
103
+ this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(`UPN:${loginHint}`));
104
+ }
105
+ /**
106
+ * Adds the CCS (Cache Credential Service) query parameter for account object
107
+ * @param loginHint
108
+ */
109
+ addCcsOid(clientInfo) {
110
+ this.parameters.set(HeaderNames.CCS_HEADER, encodeURIComponent(`Oid:${clientInfo.uid}@${clientInfo.utid}`));
111
+ }
112
+ /**
113
+ * add sid
114
+ * @param sid
115
+ */
116
+ addSid(sid) {
117
+ this.parameters.set(SSOTypes.SID, encodeURIComponent(sid));
118
+ }
119
+ /**
120
+ * add claims
121
+ * @param claims
122
+ */
123
+ addClaims(claims, clientCapabilities) {
124
+ const mergedClaims = this.addClientCapabilitiesToClaims(claims, clientCapabilities);
125
+ RequestValidator.validateClaims(mergedClaims);
126
+ this.parameters.set(AADServerParamKeys.CLAIMS, encodeURIComponent(mergedClaims));
127
+ }
128
+ /**
129
+ * add correlationId
130
+ * @param correlationId
131
+ */
132
+ addCorrelationId(correlationId) {
133
+ this.parameters.set(AADServerParamKeys.CLIENT_REQUEST_ID, encodeURIComponent(correlationId));
134
+ }
135
+ /**
136
+ * add library info query params
137
+ * @param libraryInfo
138
+ */
139
+ addLibraryInfo(libraryInfo) {
140
+ // Telemetry Info
141
+ this.parameters.set(AADServerParamKeys.X_CLIENT_SKU, libraryInfo.sku);
142
+ this.parameters.set(AADServerParamKeys.X_CLIENT_VER, libraryInfo.version);
143
+ if (libraryInfo.os) {
144
+ this.parameters.set(AADServerParamKeys.X_CLIENT_OS, libraryInfo.os);
145
+ }
146
+ if (libraryInfo.cpu) {
147
+ this.parameters.set(AADServerParamKeys.X_CLIENT_CPU, libraryInfo.cpu);
148
+ }
149
+ }
150
+ /**
151
+ * Add client telemetry parameters
152
+ * @param appTelemetry
153
+ */
154
+ addApplicationTelemetry(appTelemetry) {
155
+ if (appTelemetry?.appName) {
156
+ this.parameters.set(AADServerParamKeys.X_APP_NAME, appTelemetry.appName);
157
+ }
158
+ if (appTelemetry?.appVersion) {
159
+ this.parameters.set(AADServerParamKeys.X_APP_VER, appTelemetry.appVersion);
160
+ }
161
+ }
162
+ /**
163
+ * add prompt
164
+ * @param prompt
165
+ */
166
+ addPrompt(prompt) {
167
+ RequestValidator.validatePrompt(prompt);
168
+ this.parameters.set(`${AADServerParamKeys.PROMPT}`, encodeURIComponent(prompt));
169
+ }
170
+ /**
171
+ * add state
172
+ * @param state
173
+ */
174
+ addState(state) {
175
+ if (!StringUtils.isEmpty(state)) {
176
+ this.parameters.set(AADServerParamKeys.STATE, encodeURIComponent(state));
177
+ }
178
+ }
179
+ /**
180
+ * add nonce
181
+ * @param nonce
182
+ */
183
+ addNonce(nonce) {
184
+ this.parameters.set(AADServerParamKeys.NONCE, encodeURIComponent(nonce));
185
+ }
186
+ /**
187
+ * add code_challenge and code_challenge_method
188
+ * - throw if either of them are not passed
189
+ * @param codeChallenge
190
+ * @param codeChallengeMethod
191
+ */
192
+ addCodeChallengeParams(codeChallenge, codeChallengeMethod) {
193
+ RequestValidator.validateCodeChallengeParams(codeChallenge, codeChallengeMethod);
194
+ if (codeChallenge && codeChallengeMethod) {
195
+ this.parameters.set(AADServerParamKeys.CODE_CHALLENGE, encodeURIComponent(codeChallenge));
196
+ this.parameters.set(AADServerParamKeys.CODE_CHALLENGE_METHOD, encodeURIComponent(codeChallengeMethod));
197
+ }
198
+ else {
199
+ throw ClientConfigurationError.createInvalidCodeChallengeParamsError();
200
+ }
201
+ }
202
+ /**
203
+ * add the `authorization_code` passed by the user to exchange for a token
204
+ * @param code
205
+ */
206
+ addAuthorizationCode(code) {
207
+ this.parameters.set(AADServerParamKeys.CODE, encodeURIComponent(code));
208
+ }
209
+ /**
210
+ * add the `authorization_code` passed by the user to exchange for a token
211
+ * @param code
212
+ */
213
+ addDeviceCode(code) {
214
+ this.parameters.set(AADServerParamKeys.DEVICE_CODE, encodeURIComponent(code));
215
+ }
216
+ /**
217
+ * add the `refreshToken` passed by the user
218
+ * @param refreshToken
219
+ */
220
+ addRefreshToken(refreshToken) {
221
+ this.parameters.set(AADServerParamKeys.REFRESH_TOKEN, encodeURIComponent(refreshToken));
222
+ }
223
+ /**
224
+ * add the `code_verifier` passed by the user to exchange for a token
225
+ * @param codeVerifier
226
+ */
227
+ addCodeVerifier(codeVerifier) {
228
+ this.parameters.set(AADServerParamKeys.CODE_VERIFIER, encodeURIComponent(codeVerifier));
229
+ }
230
+ /**
231
+ * add client_secret
232
+ * @param clientSecret
233
+ */
234
+ addClientSecret(clientSecret) {
235
+ this.parameters.set(AADServerParamKeys.CLIENT_SECRET, encodeURIComponent(clientSecret));
236
+ }
237
+ /**
238
+ * add clientAssertion for confidential client flows
239
+ * @param clientAssertion
240
+ */
241
+ addClientAssertion(clientAssertion) {
242
+ if (!StringUtils.isEmpty(clientAssertion)) {
243
+ this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION, encodeURIComponent(clientAssertion));
244
+ }
245
+ }
246
+ /**
247
+ * add clientAssertionType for confidential client flows
248
+ * @param clientAssertionType
249
+ */
250
+ addClientAssertionType(clientAssertionType) {
251
+ if (!StringUtils.isEmpty(clientAssertionType)) {
252
+ this.parameters.set(AADServerParamKeys.CLIENT_ASSERTION_TYPE, encodeURIComponent(clientAssertionType));
253
+ }
254
+ }
255
+ /**
256
+ * add OBO assertion for confidential client flows
257
+ * @param clientAssertion
258
+ */
259
+ addOboAssertion(oboAssertion) {
260
+ this.parameters.set(AADServerParamKeys.OBO_ASSERTION, encodeURIComponent(oboAssertion));
261
+ }
262
+ /**
263
+ * add grant type
264
+ * @param grantType
265
+ */
266
+ addRequestTokenUse(tokenUse) {
267
+ this.parameters.set(AADServerParamKeys.REQUESTED_TOKEN_USE, encodeURIComponent(tokenUse));
268
+ }
269
+ /**
270
+ * add grant type
271
+ * @param grantType
272
+ */
273
+ addGrantType(grantType) {
274
+ this.parameters.set(AADServerParamKeys.GRANT_TYPE, encodeURIComponent(grantType));
275
+ }
276
+ /**
277
+ * add client info
278
+ *
279
+ */
280
+ addClientInfo() {
281
+ this.parameters.set(CLIENT_INFO, "1");
282
+ }
283
+ /**
284
+ * add extraQueryParams
285
+ * @param eQParams
286
+ */
287
+ addExtraQueryParameters(eQParams) {
288
+ const sanitizedEQParams = RequestValidator.sanitizeEQParams(eQParams, this.parameters);
289
+ Object.keys(sanitizedEQParams).forEach((key) => {
290
+ this.parameters.set(key, eQParams[key]);
291
+ });
292
+ }
293
+ addClientCapabilitiesToClaims(claims, clientCapabilities) {
294
+ let mergedClaims;
295
+ // Parse provided claims into JSON object or initialize empty object
296
+ if (!claims) {
297
+ mergedClaims = {};
298
+ }
299
+ else {
300
+ try {
301
+ mergedClaims = JSON.parse(claims);
302
+ }
303
+ catch (e) {
304
+ throw ClientConfigurationError.createInvalidClaimsRequestError();
305
+ }
306
+ }
307
+ if (clientCapabilities && clientCapabilities.length > 0) {
308
+ if (!mergedClaims.hasOwnProperty(ClaimsRequestKeys.ACCESS_TOKEN)) {
309
+ // Add access_token key to claims object
310
+ mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN] = {};
311
+ }
312
+ // Add xms_cc claim with provided clientCapabilities to access_token key
313
+ mergedClaims[ClaimsRequestKeys.ACCESS_TOKEN][ClaimsRequestKeys.XMS_CC] = {
314
+ values: clientCapabilities,
315
+ };
316
+ }
317
+ return JSON.stringify(mergedClaims);
318
+ }
319
+ /**
320
+ * adds `username` for Password Grant flow
321
+ * @param username
322
+ */
323
+ addUsername(username) {
324
+ this.parameters.set(PasswordGrantConstants.username, encodeURIComponent(username));
325
+ }
326
+ /**
327
+ * adds `password` for Password Grant flow
328
+ * @param password
329
+ */
330
+ addPassword(password) {
331
+ this.parameters.set(PasswordGrantConstants.password, encodeURIComponent(password));
332
+ }
333
+ /**
334
+ * add pop_jwk to query params
335
+ * @param cnfString
336
+ */
337
+ addPopToken(cnfString) {
338
+ if (!StringUtils.isEmpty(cnfString)) {
339
+ this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.POP);
340
+ this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(cnfString));
341
+ }
342
+ }
343
+ /**
344
+ * add SSH JWK and key ID to query params
345
+ */
346
+ addSshJwk(sshJwkString) {
347
+ if (!StringUtils.isEmpty(sshJwkString)) {
348
+ this.parameters.set(AADServerParamKeys.TOKEN_TYPE, AuthenticationScheme.SSH);
349
+ this.parameters.set(AADServerParamKeys.REQ_CNF, encodeURIComponent(sshJwkString));
350
+ }
351
+ }
352
+ /**
353
+ * add server telemetry fields
354
+ * @param serverTelemetryManager
355
+ */
356
+ addServerTelemetry(serverTelemetryManager) {
357
+ this.parameters.set(AADServerParamKeys.X_CLIENT_CURR_TELEM, serverTelemetryManager.generateCurrentRequestHeaderValue());
358
+ this.parameters.set(AADServerParamKeys.X_CLIENT_LAST_TELEM, serverTelemetryManager.generateLastRequestHeaderValue());
359
+ }
360
+ /**
361
+ * Adds parameter that indicates to the server that throttling is supported
362
+ */
363
+ addThrottling() {
364
+ this.parameters.set(AADServerParamKeys.X_MS_LIB_CAPABILITY, ThrottlingConstants.X_MS_LIB_CAPABILITY_VALUE);
365
+ }
366
+ /**
367
+ * Adds logout_hint parameter for "silent" logout which prevent server account picker
368
+ */
369
+ addLogoutHint(logoutHint) {
370
+ this.parameters.set(AADServerParamKeys.LOGOUT_HINT, encodeURIComponent(logoutHint));
371
+ }
372
+ /**
373
+ * Utility to create a URL from the params map
374
+ */
375
+ createQueryString() {
376
+ const queryParameterArray = new Array();
377
+ this.parameters.forEach((value, key) => {
378
+ queryParameterArray.push(`${key}=${value}`);
379
+ });
380
+ return queryParameterArray.join("&");
381
+ }
382
+ }
385
383
 
386
384
  export { RequestParameterBuilder };
387
385
  //# sourceMappingURL=RequestParameterBuilder.js.map