@azure/msal-common 16.12.0 → 16.14.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 (300) hide show
  1. package/dist/account/AccountInfo.mjs +1 -1
  2. package/dist/account/AuthToken.mjs +1 -1
  3. package/dist/account/CcsCredential.mjs +1 -1
  4. package/dist/account/ClientInfo.mjs +1 -1
  5. package/dist/account/TokenClaims.mjs +1 -1
  6. package/dist/authority/Authority.mjs +2 -4
  7. package/dist/authority/Authority.mjs.map +1 -1
  8. package/dist/authority/AuthorityFactory.mjs +1 -1
  9. package/dist/authority/AuthorityMetadata.mjs +2 -14
  10. package/dist/authority/AuthorityMetadata.mjs.map +1 -1
  11. package/dist/authority/AuthorityOptions.mjs +1 -3
  12. package/dist/authority/AuthorityOptions.mjs.map +1 -1
  13. package/dist/authority/AuthorityType.mjs +1 -2
  14. package/dist/authority/AuthorityType.mjs.map +1 -1
  15. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  16. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  17. package/dist/authority/OpenIdConfigResponse.mjs +1 -1
  18. package/dist/authority/ProtocolMode.mjs +1 -1
  19. package/dist/authority/RegionDiscovery.mjs +1 -1
  20. package/dist/cache/CacheManager.mjs +45 -23
  21. package/dist/cache/CacheManager.mjs.map +1 -1
  22. package/dist/cache/persistence/TokenCacheContext.mjs +1 -1
  23. package/dist/cache/utils/AccountEntityUtils.mjs +3 -3
  24. package/dist/cache/utils/AccountEntityUtils.mjs.map +1 -1
  25. package/dist/cache/utils/CacheHelpers.mjs +10 -3
  26. package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
  27. package/dist/client/AuthorizationCodeClient.mjs +5 -4
  28. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  29. package/dist/client/RefreshTokenClient.mjs +12 -4
  30. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  31. package/dist/client/SilentFlowClient.mjs +22 -3
  32. package/dist/client/SilentFlowClient.mjs.map +1 -1
  33. package/dist/config/ClientConfiguration.mjs +6 -3
  34. package/dist/config/ClientConfiguration.mjs.map +1 -1
  35. package/dist/constants/AADServerParamKeys.mjs +3 -2
  36. package/dist/constants/AADServerParamKeys.mjs.map +1 -1
  37. package/dist/crypto/DpopProofGenerator.mjs +153 -0
  38. package/dist/crypto/DpopProofGenerator.mjs.map +1 -0
  39. package/dist/crypto/ICrypto.mjs +16 -11
  40. package/dist/crypto/ICrypto.mjs.map +1 -1
  41. package/dist/crypto/ITokenBindingKeyManager.mjs +28 -0
  42. package/dist/crypto/ITokenBindingKeyManager.mjs.map +1 -0
  43. package/dist/crypto/JoseHeader.mjs +38 -11
  44. package/dist/crypto/JoseHeader.mjs.map +1 -1
  45. package/dist/crypto/PopTokenGenerator.mjs +28 -5
  46. package/dist/crypto/PopTokenGenerator.mjs.map +1 -1
  47. package/dist/error/AuthError.mjs +1 -1
  48. package/dist/error/AuthErrorCodes.mjs +1 -1
  49. package/dist/error/CacheError.mjs +1 -1
  50. package/dist/error/CacheErrorCodes.mjs +1 -1
  51. package/dist/error/ClientAuthError.mjs +1 -1
  52. package/dist/error/ClientAuthErrorCodes.mjs +3 -2
  53. package/dist/error/ClientAuthErrorCodes.mjs.map +1 -1
  54. package/dist/error/ClientConfigurationError.mjs +1 -1
  55. package/dist/error/ClientConfigurationErrorCodes.mjs +6 -3
  56. package/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -1
  57. package/dist/error/InteractionRequiredAuthError.mjs +1 -1
  58. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  59. package/dist/error/JoseHeaderError.mjs +1 -1
  60. package/dist/error/JoseHeaderErrorCodes.mjs +5 -3
  61. package/dist/error/JoseHeaderErrorCodes.mjs.map +1 -1
  62. package/dist/error/NetworkError.mjs +1 -1
  63. package/dist/error/PlatformBrokerError.mjs +1 -1
  64. package/dist/error/ServerError.mjs +1 -1
  65. package/dist/index-node.mjs +3 -2
  66. package/dist/index-node.mjs.map +1 -1
  67. package/dist/index.mjs +3 -2
  68. package/dist/index.mjs.map +1 -1
  69. package/dist/logger/Logger.mjs +1 -1
  70. package/dist/network/INetworkModule.mjs +1 -1
  71. package/dist/network/RequestThumbprint.mjs +1 -1
  72. package/dist/network/ThrottlingUtils.mjs +1 -1
  73. package/dist/packageMetadata.mjs +2 -2
  74. package/dist/protocol/Authorize.mjs +1 -1
  75. package/dist/protocol/Token.mjs +22 -4
  76. package/dist/protocol/Token.mjs.map +1 -1
  77. package/dist/request/AuthenticationHeaderParser.mjs +1 -1
  78. package/dist/request/BaseAuthRequest.mjs +1 -1
  79. package/dist/request/BaseAuthRequest.mjs.map +1 -1
  80. package/dist/request/RequestParameterBuilder.mjs +8 -4
  81. package/dist/request/RequestParameterBuilder.mjs.map +1 -1
  82. package/dist/request/ScopeSet.mjs +1 -1
  83. package/dist/response/ResponseHandler.mjs +65 -9
  84. package/dist/response/ResponseHandler.mjs.map +1 -1
  85. package/dist/telemetry/performance/PerformanceClient.mjs +1 -1
  86. package/dist/telemetry/performance/PerformanceEvent.mjs +1 -1
  87. package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  88. package/dist/telemetry/performance/PerformanceEvents.mjs +1 -1
  89. package/dist/telemetry/performance/StubPerformanceClient.mjs +1 -1
  90. package/dist/telemetry/server/ServerTelemetryManager.mjs +1 -1
  91. package/dist/url/UrlString.mjs +1 -1
  92. package/dist/utils/ClientAssertionUtils.mjs +1 -1
  93. package/dist/utils/Constants.mjs +6 -3
  94. package/dist/utils/Constants.mjs.map +1 -1
  95. package/dist/utils/FunctionWrappers.mjs +1 -1
  96. package/dist/utils/ObjectUtils.mjs +28 -0
  97. package/dist/utils/ObjectUtils.mjs.map +1 -0
  98. package/dist/utils/ProtocolUtils.mjs +1 -1
  99. package/dist/utils/StringUtils.mjs +1 -1
  100. package/dist/utils/TimeUtils.mjs +1 -1
  101. package/dist/utils/UrlUtils.mjs +1 -1
  102. package/dist-browser/account/AccountInfo.mjs +1 -1
  103. package/dist-browser/account/AuthToken.mjs +1 -1
  104. package/dist-browser/account/CcsCredential.mjs +1 -1
  105. package/dist-browser/account/ClientInfo.mjs +1 -1
  106. package/dist-browser/account/TokenClaims.mjs +1 -1
  107. package/dist-browser/authority/Authority.mjs +2 -4
  108. package/dist-browser/authority/Authority.mjs.map +1 -1
  109. package/dist-browser/authority/AuthorityFactory.mjs +1 -1
  110. package/dist-browser/authority/AuthorityMetadata.mjs +2 -14
  111. package/dist-browser/authority/AuthorityMetadata.mjs.map +1 -1
  112. package/dist-browser/authority/AuthorityOptions.mjs +1 -3
  113. package/dist-browser/authority/AuthorityOptions.mjs.map +1 -1
  114. package/dist-browser/authority/AuthorityType.mjs +1 -2
  115. package/dist-browser/authority/AuthorityType.mjs.map +1 -1
  116. package/dist-browser/authority/CloudInstanceDiscoveryErrorResponse.mjs +1 -1
  117. package/dist-browser/authority/CloudInstanceDiscoveryResponse.mjs +1 -1
  118. package/dist-browser/authority/OpenIdConfigResponse.mjs +1 -1
  119. package/dist-browser/authority/ProtocolMode.mjs +1 -1
  120. package/dist-browser/authority/RegionDiscovery.mjs +1 -1
  121. package/dist-browser/cache/CacheManager.mjs +45 -23
  122. package/dist-browser/cache/CacheManager.mjs.map +1 -1
  123. package/dist-browser/cache/persistence/TokenCacheContext.mjs +1 -1
  124. package/dist-browser/cache/utils/AccountEntityUtils.mjs +3 -3
  125. package/dist-browser/cache/utils/AccountEntityUtils.mjs.map +1 -1
  126. package/dist-browser/cache/utils/CacheHelpers.mjs +10 -3
  127. package/dist-browser/cache/utils/CacheHelpers.mjs.map +1 -1
  128. package/dist-browser/client/AuthorizationCodeClient.mjs +5 -4
  129. package/dist-browser/client/AuthorizationCodeClient.mjs.map +1 -1
  130. package/dist-browser/client/RefreshTokenClient.mjs +12 -4
  131. package/dist-browser/client/RefreshTokenClient.mjs.map +1 -1
  132. package/dist-browser/client/SilentFlowClient.mjs +22 -3
  133. package/dist-browser/client/SilentFlowClient.mjs.map +1 -1
  134. package/dist-browser/config/ClientConfiguration.mjs +6 -3
  135. package/dist-browser/config/ClientConfiguration.mjs.map +1 -1
  136. package/dist-browser/constants/AADServerParamKeys.mjs +3 -2
  137. package/dist-browser/constants/AADServerParamKeys.mjs.map +1 -1
  138. package/dist-browser/crypto/DpopProofGenerator.mjs +153 -0
  139. package/dist-browser/crypto/DpopProofGenerator.mjs.map +1 -0
  140. package/dist-browser/crypto/ICrypto.mjs +16 -11
  141. package/dist-browser/crypto/ICrypto.mjs.map +1 -1
  142. package/dist-browser/crypto/ITokenBindingKeyManager.mjs +28 -0
  143. package/dist-browser/crypto/ITokenBindingKeyManager.mjs.map +1 -0
  144. package/dist-browser/crypto/JoseHeader.mjs +38 -11
  145. package/dist-browser/crypto/JoseHeader.mjs.map +1 -1
  146. package/dist-browser/crypto/PopTokenGenerator.mjs +28 -5
  147. package/dist-browser/crypto/PopTokenGenerator.mjs.map +1 -1
  148. package/dist-browser/error/AuthError.mjs +1 -1
  149. package/dist-browser/error/AuthErrorCodes.mjs +1 -1
  150. package/dist-browser/error/CacheError.mjs +1 -1
  151. package/dist-browser/error/CacheErrorCodes.mjs +1 -1
  152. package/dist-browser/error/ClientAuthError.mjs +1 -1
  153. package/dist-browser/error/ClientAuthErrorCodes.mjs +3 -2
  154. package/dist-browser/error/ClientAuthErrorCodes.mjs.map +1 -1
  155. package/dist-browser/error/ClientConfigurationError.mjs +1 -1
  156. package/dist-browser/error/ClientConfigurationErrorCodes.mjs +6 -3
  157. package/dist-browser/error/ClientConfigurationErrorCodes.mjs.map +1 -1
  158. package/dist-browser/error/InteractionRequiredAuthError.mjs +1 -1
  159. package/dist-browser/error/InteractionRequiredAuthErrorCodes.mjs +1 -1
  160. package/dist-browser/error/JoseHeaderError.mjs +1 -1
  161. package/dist-browser/error/JoseHeaderErrorCodes.mjs +5 -3
  162. package/dist-browser/error/JoseHeaderErrorCodes.mjs.map +1 -1
  163. package/dist-browser/error/NetworkError.mjs +1 -1
  164. package/dist-browser/error/PlatformBrokerError.mjs +1 -1
  165. package/dist-browser/error/ServerError.mjs +1 -1
  166. package/dist-browser/index-browser.mjs +3 -2
  167. package/dist-browser/index-browser.mjs.map +1 -1
  168. package/dist-browser/index.mjs +3 -2
  169. package/dist-browser/index.mjs.map +1 -1
  170. package/dist-browser/log-strings-mapping.json +13 -5
  171. package/dist-browser/logger/Logger.mjs +1 -1
  172. package/dist-browser/network/INetworkModule.mjs +1 -1
  173. package/dist-browser/network/RequestThumbprint.mjs +1 -1
  174. package/dist-browser/network/ThrottlingUtils.mjs +1 -1
  175. package/dist-browser/packageMetadata.mjs +2 -2
  176. package/dist-browser/protocol/Authorize.mjs +1 -1
  177. package/dist-browser/protocol/Token.mjs +22 -4
  178. package/dist-browser/protocol/Token.mjs.map +1 -1
  179. package/dist-browser/request/AuthenticationHeaderParser.mjs +1 -1
  180. package/dist-browser/request/BaseAuthRequest.mjs +1 -1
  181. package/dist-browser/request/BaseAuthRequest.mjs.map +1 -1
  182. package/dist-browser/request/RequestParameterBuilder.mjs +8 -4
  183. package/dist-browser/request/RequestParameterBuilder.mjs.map +1 -1
  184. package/dist-browser/request/ScopeSet.mjs +1 -1
  185. package/dist-browser/response/ResponseHandler.mjs +65 -9
  186. package/dist-browser/response/ResponseHandler.mjs.map +1 -1
  187. package/dist-browser/telemetry/performance/PerformanceClient.mjs +1 -1
  188. package/dist-browser/telemetry/performance/PerformanceEvent.mjs +1 -1
  189. package/dist-browser/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  190. package/dist-browser/telemetry/performance/PerformanceEvents.mjs +1 -1
  191. package/dist-browser/telemetry/performance/StubPerformanceClient.mjs +1 -1
  192. package/dist-browser/telemetry/server/ServerTelemetryManager.mjs +1 -1
  193. package/dist-browser/url/UrlString.mjs +1 -1
  194. package/dist-browser/utils/ClientAssertionUtils.mjs +1 -1
  195. package/dist-browser/utils/Constants.mjs +6 -3
  196. package/dist-browser/utils/Constants.mjs.map +1 -1
  197. package/dist-browser/utils/FunctionWrappers.mjs +1 -1
  198. package/dist-browser/utils/ObjectUtils.mjs +28 -0
  199. package/dist-browser/utils/ObjectUtils.mjs.map +1 -0
  200. package/dist-browser/utils/ProtocolUtils.mjs +1 -1
  201. package/dist-browser/utils/StringUtils.mjs +1 -1
  202. package/dist-browser/utils/TimeUtils.mjs +1 -1
  203. package/dist-browser/utils/UrlUtils.mjs +1 -1
  204. package/lib/index-browser.cjs +5 -67
  205. package/lib/index-browser.cjs.map +1 -1
  206. package/lib/{index-node-3p7V__ym.js → index-node-l_NIe8t5.js} +520 -83
  207. package/lib/index-node-l_NIe8t5.js.map +1 -0
  208. package/lib/index-node.cjs +4 -2
  209. package/lib/index-node.cjs.map +1 -1
  210. package/lib/index.cjs +5 -3
  211. package/lib/index.cjs.map +1 -1
  212. package/package.json +1 -1
  213. package/src/authority/Authority.ts +0 -2
  214. package/src/authority/AuthorityMetadata.ts +1 -13
  215. package/src/authority/AuthorityOptions.ts +0 -3
  216. package/src/authority/AuthorityType.ts +0 -1
  217. package/src/cache/CacheManager.ts +73 -35
  218. package/src/cache/utils/AccountEntityUtils.ts +2 -2
  219. package/src/cache/utils/CacheHelpers.ts +11 -1
  220. package/src/client/AuthorizationCodeClient.ts +11 -1
  221. package/src/client/RefreshTokenClient.ts +25 -1
  222. package/src/client/SilentFlowClient.ts +44 -2
  223. package/src/config/ClientConfiguration.ts +14 -1
  224. package/src/constants/AADServerParamKeys.ts +1 -0
  225. package/src/crypto/DpopProofGenerator.ts +92 -60
  226. package/src/crypto/ICrypto.ts +31 -26
  227. package/src/crypto/ITokenBindingKeyManager.ts +85 -0
  228. package/src/crypto/JoseHeader.ts +75 -14
  229. package/src/crypto/PopTokenGenerator.ts +62 -18
  230. package/src/crypto/PublicJsonWebKey.ts +24 -0
  231. package/src/error/ClientAuthErrorCodes.ts +1 -0
  232. package/src/error/ClientConfigurationErrorCodes.ts +4 -0
  233. package/src/error/JoseHeaderErrorCodes.ts +2 -0
  234. package/src/exports-common.ts +8 -0
  235. package/src/packageMetadata.ts +1 -1
  236. package/src/protocol/Token.ts +44 -1
  237. package/src/request/BaseAuthRequest.ts +5 -0
  238. package/src/request/CommonAuthorizationUrlRequest.ts +5 -0
  239. package/src/request/RequestParameterBuilder.ts +7 -3
  240. package/src/response/AuthenticationResult.ts +2 -0
  241. package/src/response/ResponseHandler.ts +115 -16
  242. package/src/telemetry/performance/PerformanceEvent.ts +22 -0
  243. package/src/utils/Constants.ts +4 -1
  244. package/src/utils/ObjectUtils.ts +31 -0
  245. package/types/authority/Authority.d.ts.map +1 -1
  246. package/types/authority/AuthorityMetadata.d.ts.map +1 -1
  247. package/types/authority/AuthorityOptions.d.ts +0 -1
  248. package/types/authority/AuthorityOptions.d.ts.map +1 -1
  249. package/types/authority/AuthorityType.d.ts +0 -1
  250. package/types/authority/AuthorityType.d.ts.map +1 -1
  251. package/types/cache/CacheManager.d.ts +5 -1
  252. package/types/cache/CacheManager.d.ts.map +1 -1
  253. package/types/cache/utils/CacheHelpers.d.ts.map +1 -1
  254. package/types/client/AuthorizationCodeClient.d.ts.map +1 -1
  255. package/types/client/RefreshTokenClient.d.ts.map +1 -1
  256. package/types/client/SilentFlowClient.d.ts.map +1 -1
  257. package/types/config/ClientConfiguration.d.ts +5 -1
  258. package/types/config/ClientConfiguration.d.ts.map +1 -1
  259. package/types/constants/AADServerParamKeys.d.ts +1 -0
  260. package/types/constants/AADServerParamKeys.d.ts.map +1 -1
  261. package/types/crypto/DpopProofGenerator.d.ts +16 -36
  262. package/types/crypto/DpopProofGenerator.d.ts.map +1 -1
  263. package/types/crypto/ICrypto.d.ts +10 -9
  264. package/types/crypto/ICrypto.d.ts.map +1 -1
  265. package/types/crypto/ITokenBindingKeyManager.d.ts +42 -0
  266. package/types/crypto/ITokenBindingKeyManager.d.ts.map +1 -0
  267. package/types/crypto/JoseHeader.d.ts +18 -5
  268. package/types/crypto/JoseHeader.d.ts.map +1 -1
  269. package/types/crypto/PopTokenGenerator.d.ts +3 -1
  270. package/types/crypto/PopTokenGenerator.d.ts.map +1 -1
  271. package/types/crypto/PublicJsonWebKey.d.ts +20 -0
  272. package/types/crypto/PublicJsonWebKey.d.ts.map +1 -0
  273. package/types/error/ClientAuthErrorCodes.d.ts +1 -0
  274. package/types/error/ClientAuthErrorCodes.d.ts.map +1 -1
  275. package/types/error/ClientConfigurationErrorCodes.d.ts +3 -0
  276. package/types/error/ClientConfigurationErrorCodes.d.ts.map +1 -1
  277. package/types/error/JoseHeaderErrorCodes.d.ts +2 -0
  278. package/types/error/JoseHeaderErrorCodes.d.ts.map +1 -1
  279. package/types/exports-common.d.ts +4 -2
  280. package/types/exports-common.d.ts.map +1 -1
  281. package/types/packageMetadata.d.ts +1 -1
  282. package/types/protocol/Token.d.ts +7 -0
  283. package/types/protocol/Token.d.ts.map +1 -1
  284. package/types/request/BaseAuthRequest.d.ts +5 -0
  285. package/types/request/BaseAuthRequest.d.ts.map +1 -1
  286. package/types/request/CommonAuthorizationUrlRequest.d.ts +5 -0
  287. package/types/request/CommonAuthorizationUrlRequest.d.ts.map +1 -1
  288. package/types/request/RequestParameterBuilder.d.ts +2 -2
  289. package/types/request/RequestParameterBuilder.d.ts.map +1 -1
  290. package/types/response/AuthenticationResult.d.ts +2 -0
  291. package/types/response/AuthenticationResult.d.ts.map +1 -1
  292. package/types/response/ResponseHandler.d.ts +12 -2
  293. package/types/response/ResponseHandler.d.ts.map +1 -1
  294. package/types/telemetry/performance/PerformanceEvent.d.ts +18 -0
  295. package/types/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  296. package/types/utils/Constants.d.ts +4 -1
  297. package/types/utils/Constants.d.ts.map +1 -1
  298. package/types/utils/ObjectUtils.d.ts +6 -0
  299. package/types/utils/ObjectUtils.d.ts.map +1 -0
  300. package/lib/index-node-3p7V__ym.js.map +0 -1
package/lib/index.cjs CHANGED
@@ -1,8 +1,8 @@
1
- /*! @azure/msal-common v16.12.0 2026-08-04 */
1
+ /*! @azure/msal-common v16.14.0 2026-08-28 */
2
2
  'use strict';
3
3
  'use strict';
4
4
 
5
- var indexNode = require('./index-node-3p7V__ym.js');
5
+ var indexNode = require('./index-node-l_NIe8t5.js');
6
6
  var indexBrowser = require('./index-browser.cjs');
7
7
 
8
8
 
@@ -32,10 +32,13 @@ exports.ClientConfigurationErrorCodes = indexNode.ClientConfigurationErrorCodes;
32
32
  exports.Constants = indexNode.Constants;
33
33
  exports.DEFAULT_CRYPTO_IMPLEMENTATION = indexNode.DEFAULT_CRYPTO_IMPLEMENTATION;
34
34
  exports.DEFAULT_SYSTEM_OPTIONS = indexNode.DEFAULT_SYSTEM_OPTIONS;
35
+ exports.DEFAULT_TOKEN_BINDING_KEY_MANAGER = indexNode.DEFAULT_TOKEN_BINDING_KEY_MANAGER;
35
36
  exports.DefaultStorageClass = indexNode.DefaultStorageClass;
36
37
  exports.IntFields = indexNode.IntFields;
37
38
  exports.InteractionRequiredAuthError = indexNode.InteractionRequiredAuthError;
38
39
  exports.InteractionRequiredAuthErrorCodes = indexNode.InteractionRequiredAuthErrorCodes;
40
+ exports.JoseHeader = indexNode.JoseHeader;
41
+ exports.JsonWebTokenAlgorithms = indexNode.JsonWebTokenAlgorithms;
39
42
  Object.defineProperty(exports, "LogLevel", {
40
43
  enumerable: true,
41
44
  get: function () { return indexNode.LogLevel; }
@@ -87,6 +90,5 @@ exports.invokeAsync = indexNode.invokeAsync;
87
90
  exports.tenantIdMatchesHomeTenant = indexNode.tenantIdMatchesHomeTenant;
88
91
  exports.updateAccountTenantProfileData = indexNode.updateAccountTenantProfileData;
89
92
  exports.version = indexNode.version;
90
- exports.JoseHeader = indexBrowser.JoseHeader;
91
93
  exports.PerformanceClient = indexBrowser.PerformanceClient;
92
94
  //# sourceMappingURL=index.cjs.map
package/lib/index.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "type": "git",
11
11
  "url": "https://github.com/AzureAD/microsoft-authentication-library-for-js.git"
12
12
  },
13
- "version": "16.12.0",
13
+ "version": "16.14.0",
14
14
  "description": "Microsoft Authentication Library for js",
15
15
  "keywords": [
16
16
  "implicit",
@@ -141,8 +141,6 @@ export class Authority {
141
141
  switch (pathSegments[0].toLowerCase()) {
142
142
  case Constants.ADFS:
143
143
  return AuthorityType.Adfs;
144
- case Constants.DSTS:
145
- return AuthorityType.Dsts;
146
144
  default:
147
145
  break;
148
146
  }
@@ -19,10 +19,7 @@ type RawMetadata = {
19
19
  // Build endpoint metadata dynamically to avoid string duplication
20
20
  const endpointHosts: Array<{ host: string; issuerHost?: string }> = [
21
21
  { host: "login.microsoftonline.com" },
22
- {
23
- host: "login.chinacloudapi.cn",
24
- issuerHost: "login.partner.microsoftonline.cn", // Issuer differs
25
- },
22
+ { host: "login.partner.microsoftonline.cn" },
26
23
  { host: "login.microsoftonline.us" },
27
24
  { host: "login.sovcloud-identity.fr" },
28
25
  { host: "login.sovcloud-identity.de" },
@@ -105,15 +102,6 @@ export const rawMetdataJSON: RawMetadata = {
105
102
  preferred_cache: "login.sovcloud-identity.sg",
106
103
  aliases: ["login.sovcloud-identity.sg"],
107
104
  },
108
- {
109
- preferred_network: "login.windows-ppe.net",
110
- preferred_cache: "login.windows-ppe.net",
111
- aliases: [
112
- "login.windows-ppe.net",
113
- "sts.windows-ppe.net",
114
- "login.microsoft-ppe.com",
115
- ],
116
- },
117
105
  ],
118
106
  },
119
107
  };
@@ -32,9 +32,6 @@ export const AzureCloudInstance = {
32
32
  // Microsoft Azure public cloud
33
33
  AzurePublic: "https://login.microsoftonline.com",
34
34
 
35
- // Microsoft PPE
36
- AzurePpe: "https://login.windows-ppe.net",
37
-
38
35
  // Microsoft Chinese national/regional cloud
39
36
  AzureChina: "https://login.chinacloudapi.cn",
40
37
 
@@ -9,7 +9,6 @@
9
9
  export const AuthorityType = {
10
10
  Default: 0,
11
11
  Adfs: 1,
12
- Dsts: 2,
13
12
  Ciam: 3,
14
13
  } as const;
15
14
  export type AuthorityType = (typeof AuthorityType)[keyof typeof AuthorityType];
@@ -13,6 +13,7 @@ import { TokenClaims } from "../account/TokenClaims.js";
13
13
  import { getAliasesFromStaticSources } from "../authority/AuthorityMetadata.js";
14
14
  import { StaticAuthorityOptions } from "../authority/AuthorityOptions.js";
15
15
  import { ICrypto } from "../crypto/ICrypto.js";
16
+ import { ITokenBindingKeyManager } from "../crypto/ITokenBindingKeyManager.js";
16
17
  import { AuthError } from "../error/AuthError.js";
17
18
  import { createCacheError } from "../error/CacheError.js";
18
19
  import {
@@ -56,6 +57,7 @@ import {
56
57
  export abstract class CacheManager implements ICacheManager {
57
58
  protected clientId: string;
58
59
  protected cryptoImpl: ICrypto;
60
+ protected tokenBindingKeyManager: ITokenBindingKeyManager;
59
61
  // Instance of logger for functions defined in the msal-common layer
60
62
  private commonLogger: Logger;
61
63
  private staticAuthorityOptions?: StaticAuthorityOptions;
@@ -66,10 +68,12 @@ export abstract class CacheManager implements ICacheManager {
66
68
  cryptoImpl: ICrypto,
67
69
  logger: Logger,
68
70
  performanceClient: IPerformanceClient,
69
- staticAuthorityOptions?: StaticAuthorityOptions
71
+ staticAuthorityOptions: StaticAuthorityOptions | undefined,
72
+ tokenBindingKeyManager: ITokenBindingKeyManager
70
73
  ) {
71
74
  this.clientId = clientId;
72
75
  this.cryptoImpl = cryptoImpl;
76
+ this.tokenBindingKeyManager = tokenBindingKeyManager;
73
77
  this.commonLogger = logger.clone(name, version);
74
78
  this.staticAuthorityOptions = staticAuthorityOptions;
75
79
  this.performanceClient = performanceClient;
@@ -909,19 +913,9 @@ export abstract class CacheManager implements ICacheManager {
909
913
  entity.credentialType ===
910
914
  Constants.CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME
911
915
  ) {
912
- if (
913
- !!filter.tokenType &&
914
- !this.matchTokenType(entity, filter.tokenType)
915
- ) {
916
+ if (!this.matchAccessTokenWithAuthScheme(entity, filter)) {
916
917
  return false;
917
918
  }
918
-
919
- // KeyId (sshKid) in request must match cached SSH certificate keyId because SSH cert is bound to a specific key
920
- if (filter.tokenType === Constants.AuthenticationScheme.SSH) {
921
- if (filter.keyId && !this.matchKeyId(entity, filter.keyId)) {
922
- return false;
923
- }
924
- }
925
919
  }
926
920
 
927
921
  // Additional cache key components matching (bidirectional isolation)
@@ -1117,29 +1111,34 @@ export abstract class CacheManager implements ICacheManager {
1117
1111
  correlationId
1118
1112
  );
1119
1113
 
1120
- // Remove Token Binding Key from key store for PoP Tokens Credentials
1114
+ // Remove Token Binding Key from key store for token-bound access token credentials
1121
1115
  if (
1122
1116
  credential.credentialType.toLowerCase() ===
1123
1117
  Constants.CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase()
1124
1118
  ) {
1125
- if (credential.tokenType === Constants.AuthenticationScheme.POP) {
1126
- const accessTokenWithAuthSchemeEntity =
1127
- credential as AccessTokenEntity;
1128
- const kid = accessTokenWithAuthSchemeEntity.keyId;
1129
-
1130
- if (kid) {
1131
- void this.cryptoImpl
1132
- .removeTokenBindingKey(kid, correlationId)
1133
- .catch(() => {
1134
- this.commonLogger.error(
1135
- `Failed to remove token binding key '${kid}'`,
1136
- correlationId
1137
- );
1138
- this.performanceClient?.incrementFields(
1139
- { removeTokenBindingKeyFailure: 1 },
1140
- correlationId
1141
- );
1142
- });
1119
+ const tokenType = credential.tokenType?.toLowerCase();
1120
+ switch (tokenType) {
1121
+ case Constants.AuthenticationScheme.POP:
1122
+ case Constants.AuthenticationScheme.DPOP.toLowerCase(): {
1123
+ const accessTokenWithAuthSchemeEntity =
1124
+ credential as AccessTokenEntity;
1125
+ const kid = accessTokenWithAuthSchemeEntity.keyId;
1126
+
1127
+ if (kid) {
1128
+ void this.tokenBindingKeyManager
1129
+ .removeTokenBindingKey(kid, correlationId)
1130
+ .catch(() => {
1131
+ this.commonLogger.error(
1132
+ "Failed to remove token binding key",
1133
+ correlationId
1134
+ );
1135
+ this.performanceClient?.incrementFields(
1136
+ { removeTokenBindingKeyFailure: 1 },
1137
+ correlationId
1138
+ );
1139
+ });
1140
+ }
1141
+ break;
1143
1142
  }
1144
1143
  }
1145
1144
  }
@@ -1378,7 +1377,6 @@ export abstract class CacheManager implements ICacheManager {
1378
1377
  attribute_tokens: attributeTokenPartition,
1379
1378
  }
1380
1379
  : undefined;
1381
-
1382
1380
  const accessTokenFilter: CredentialFilter = {
1383
1381
  homeAccountId: account.homeAccountId,
1384
1382
  environment: account.environment,
@@ -1387,10 +1385,12 @@ export abstract class CacheManager implements ICacheManager {
1387
1385
  realm: targetRealm || account.tenantId,
1388
1386
  target: scopes,
1389
1387
  tokenType: authScheme,
1390
- keyId: request.sshKid,
1388
+ keyId:
1389
+ authScheme === Constants.AuthenticationScheme.SSH
1390
+ ? request.sshKid
1391
+ : undefined,
1391
1392
  additionalCacheKeyComponents: additionalCacheKeyComponents,
1392
1393
  };
1393
-
1394
1394
  const accessTokenKeys =
1395
1395
  (tokenKeys && tokenKeys.accessToken) ||
1396
1396
  this.getTokenKeys().accessToken;
@@ -1970,7 +1970,45 @@ export abstract class CacheManager implements ICacheManager {
1970
1970
  entity: CredentialEntity,
1971
1971
  tokenType: Constants.AuthenticationScheme
1972
1972
  ): boolean {
1973
- return !!(entity.tokenType && entity.tokenType === tokenType);
1973
+ return !!(
1974
+ entity.tokenType &&
1975
+ entity.tokenType.toLowerCase() === tokenType.toLowerCase()
1976
+ );
1977
+ }
1978
+
1979
+ private matchAccessTokenWithAuthScheme(
1980
+ entity: CredentialEntity,
1981
+ filter: CredentialFilter
1982
+ ): boolean {
1983
+ const normalizedFilterTokenType = (
1984
+ filter.tokenType as string | undefined
1985
+ )?.toLowerCase();
1986
+
1987
+ if (
1988
+ !!filter.tokenType &&
1989
+ !this.matchTokenType(entity, filter.tokenType)
1990
+ ) {
1991
+ return false;
1992
+ }
1993
+
1994
+ switch (normalizedFilterTokenType) {
1995
+ case "dpop":
1996
+ case Constants.AuthenticationScheme.SSH:
1997
+ return this.matchKeyBoundAccessToken(entity, filter);
1998
+ default:
1999
+ return true;
2000
+ }
2001
+ }
2002
+
2003
+ private matchKeyBoundAccessToken(
2004
+ entity: CredentialEntity,
2005
+ filter: CredentialFilter
2006
+ ): boolean {
2007
+ if (!filter.keyId) {
2008
+ return true;
2009
+ }
2010
+
2011
+ return this.matchKeyId(entity, filter.keyId);
1974
2012
  }
1975
2013
 
1976
2014
  /**
@@ -276,8 +276,8 @@ export function generateHomeAccountId(
276
276
  correlationId: string,
277
277
  idTokenClaims?: TokenClaims
278
278
  ): string {
279
- // since ADFS/DSTS do not have tid and does not set client_info
280
- if (!(authType === AuthorityType.Adfs || authType === AuthorityType.Dsts)) {
279
+ // ADFS does not have tid and does not set client_info
280
+ if (authType !== AuthorityType.Adfs) {
281
281
  // for cases where there is clientInfo
282
282
  if (serverClientInfo) {
283
283
  try {
@@ -98,6 +98,7 @@ export function createAccessTokenEntity(
98
98
  atEntity.refreshOn = refreshOn.toString();
99
99
  }
100
100
 
101
+ const normalizedTokenType = atEntity.tokenType?.toLowerCase();
101
102
  /*
102
103
  * Create Access Token With Auth Scheme instead of regular access token
103
104
  * Cast to lower to handle "bearer" from ADFS
@@ -108,7 +109,7 @@ export function createAccessTokenEntity(
108
109
  ) {
109
110
  atEntity.credentialType =
110
111
  Constants.CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME;
111
- switch (atEntity.tokenType) {
112
+ switch (normalizedTokenType) {
112
113
  case Constants.AuthenticationScheme.POP:
113
114
  // Make sure keyId is present and add it to credential
114
115
  const tokenClaims: TokenClaims | null = extractTokenClaims(
@@ -124,6 +125,15 @@ export function createAccessTokenEntity(
124
125
  }
125
126
  atEntity.keyId = tokenClaims.cnf.kid;
126
127
  break;
128
+ case "dpop":
129
+ if (!keyId) {
130
+ throw createClientAuthError(
131
+ ClientAuthErrorCodes.keyIdMissing,
132
+ correlationId
133
+ );
134
+ }
135
+ atEntity.keyId = keyId;
136
+ break;
127
137
  case Constants.AuthenticationScheme.SSH:
128
138
  atEntity.keyId = keyId;
129
139
  }
@@ -44,6 +44,7 @@ import { ClientAssertion } from "../account/ClientCredentials.js";
44
44
  import { getClientAssertion } from "../utils/ClientAssertionUtils.js";
45
45
  import { getRequestThumbprint } from "../network/RequestThumbprint.js";
46
46
  import {
47
+ addDpopTokenProofHeader,
47
48
  createTokenQueryParameters,
48
49
  createTokenRequestHeaders,
49
50
  executePostToTokenEndpoint,
@@ -168,7 +169,8 @@ export class AuthorizationCodeClient {
168
169
  this.logger,
169
170
  this.performanceClient,
170
171
  this.config.serializableCache,
171
- this.config.persistencePlugin
172
+ this.config.persistencePlugin,
173
+ this.config.tokenBindingKeyManager
172
174
  );
173
175
 
174
176
  // Validate response. This function throws a server error if an error is returned by the server.
@@ -271,6 +273,13 @@ export class AuthorizationCodeClient {
271
273
  this.config.systemOptions.preventCorsPreflight,
272
274
  ccsCredential || request.ccsCredential
273
275
  );
276
+ await addDpopTokenProofHeader(
277
+ headers,
278
+ request,
279
+ endpoint,
280
+ this.cryptoUtils,
281
+ this.config.tokenBindingKeyManager
282
+ );
274
283
 
275
284
  const thumbprint = getRequestThumbprint(
276
285
  this.config.authOptions.clientId,
@@ -422,6 +431,7 @@ export class AuthorizationCodeClient {
422
431
  ) {
423
432
  const popTokenGenerator = new PopTokenGenerator(
424
433
  this.cryptoUtils,
434
+ this.config.tokenBindingKeyManager,
425
435
  this.performanceClient
426
436
  );
427
437
 
@@ -19,6 +19,7 @@ import * as AADServerParamKeys from "../constants/AADServerParamKeys.js";
19
19
  import { ResponseHandler } from "../response/ResponseHandler.js";
20
20
  import { AuthenticationResult } from "../response/AuthenticationResult.js";
21
21
  import { PopTokenGenerator } from "../crypto/PopTokenGenerator.js";
22
+ import { DpopProofGenerator } from "../crypto/DpopProofGenerator.js";
22
23
  import { NetworkResponse } from "../network/NetworkResponse.js";
23
24
  import { CommonSilentFlowRequest } from "../request/CommonSilentFlowRequest.js";
24
25
  import {
@@ -46,6 +47,7 @@ import { ClientAssertion } from "../account/ClientCredentials.js";
46
47
  import { getClientAssertion } from "../utils/ClientAssertionUtils.js";
47
48
  import { getRequestThumbprint } from "../network/RequestThumbprint.js";
48
49
  import {
50
+ addDpopTokenProofHeader,
49
51
  createTokenQueryParameters,
50
52
  createTokenRequestHeaders,
51
53
  executePostToTokenEndpoint,
@@ -139,7 +141,8 @@ export class RefreshTokenClient {
139
141
  this.logger,
140
142
  this.performanceClient,
141
143
  this.config.serializableCache,
142
- this.config.persistencePlugin
144
+ this.config.persistencePlugin,
145
+ this.config.tokenBindingKeyManager
143
146
  );
144
147
  responseHandler.validateTokenResponse(
145
148
  response.body,
@@ -297,6 +300,19 @@ export class RefreshTokenClient {
297
300
  type: CcsCredentialType.HOME_ACCOUNT_ID,
298
301
  },
299
302
  };
303
+ if (
304
+ refreshTokenRequest.authenticationScheme ===
305
+ Constants.AuthenticationScheme.DPOP &&
306
+ !refreshTokenRequest.dpopJkt
307
+ ) {
308
+ const dpopProofGenerator = new DpopProofGenerator(
309
+ this.cryptoUtils,
310
+ this.config.tokenBindingKeyManager
311
+ );
312
+ refreshTokenRequest.dpopJkt = await dpopProofGenerator.generateJkt(
313
+ request.correlationId
314
+ );
315
+ }
300
316
 
301
317
  try {
302
318
  return await invokeAsync(
@@ -359,6 +375,13 @@ export class RefreshTokenClient {
359
375
  this.config.systemOptions.preventCorsPreflight,
360
376
  request.ccsCredential
361
377
  );
378
+ await addDpopTokenProofHeader(
379
+ headers,
380
+ request,
381
+ endpoint,
382
+ this.cryptoUtils,
383
+ this.config.tokenBindingKeyManager
384
+ );
362
385
 
363
386
  const thumbprint = getRequestThumbprint(
364
387
  this.config.authOptions.clientId,
@@ -488,6 +511,7 @@ export class RefreshTokenClient {
488
511
  ) {
489
512
  const popTokenGenerator = new PopTokenGenerator(
490
513
  this.cryptoUtils,
514
+ this.config.tokenBindingKeyManager,
491
515
  this.performanceClient
492
516
  );
493
517
 
@@ -17,7 +17,7 @@ import {
17
17
  } from "../error/ClientAuthError.js";
18
18
  import { ResponseHandler } from "../response/ResponseHandler.js";
19
19
  import { CacheRecord } from "../cache/entities/CacheRecord.js";
20
- import { CacheOutcome } from "../utils/Constants.js";
20
+ import { AuthenticationScheme, CacheOutcome } from "../utils/Constants.js";
21
21
  import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient.js";
22
22
  import { StringUtils } from "../utils/StringUtils.js";
23
23
  import { extractTokenClaims } from "../account/AuthToken.js";
@@ -181,6 +181,45 @@ export class SilentFlowClient {
181
181
  // don't throw ClientAuthError.createRefreshRequiredError(), return cached token instead
182
182
  }
183
183
 
184
+ const cachedAccessTokenType =
185
+ cachedAccessToken.tokenType?.toLowerCase();
186
+ if (cachedAccessTokenType === AuthenticationScheme.DPOP.toLowerCase()) {
187
+ if (!cachedAccessToken.keyId) {
188
+ this.logger.info(
189
+ "SilentFlowClient:acquireCachedToken - Cached DPoP access token is missing keyId; refresh required",
190
+ request.correlationId
191
+ );
192
+ this.setCacheOutcome(
193
+ CacheOutcome.NO_CACHED_ACCESS_TOKEN,
194
+ request.correlationId
195
+ );
196
+ throw createClientAuthError(
197
+ ClientAuthErrorCodes.tokenRefreshRequired,
198
+ request.correlationId
199
+ );
200
+ }
201
+
202
+ try {
203
+ await this.config.tokenBindingKeyManager.getTokenBindingPublicKeyJwk(
204
+ cachedAccessToken.keyId,
205
+ request.correlationId
206
+ );
207
+ } catch {
208
+ this.logger.info(
209
+ "SilentFlowClient:acquireCachedToken - Local DPoP key was not found for cached access token; refresh required",
210
+ request.correlationId
211
+ );
212
+ this.setCacheOutcome(
213
+ CacheOutcome.NO_CACHED_ACCESS_TOKEN,
214
+ request.correlationId
215
+ );
216
+ throw createClientAuthError(
217
+ ClientAuthErrorCodes.tokenRefreshRequired,
218
+ request.correlationId
219
+ );
220
+ }
221
+ }
222
+
184
223
  const environment =
185
224
  request.authority || this.authority.getPreferredCache();
186
225
  const cacheRecord: CacheRecord = {
@@ -263,7 +302,10 @@ export class SilentFlowClient {
263
302
  true,
264
303
  request,
265
304
  this.performanceClient,
266
- idTokenClaims
305
+ {
306
+ idTokenClaims,
307
+ tokenBindingKeyManager: this.config.tokenBindingKeyManager,
308
+ }
267
309
  );
268
310
  }
269
311
  }
@@ -5,6 +5,10 @@
5
5
 
6
6
  import { INetworkModule } from "../network/INetworkModule.js";
7
7
  import { DEFAULT_CRYPTO_IMPLEMENTATION, ICrypto } from "../crypto/ICrypto.js";
8
+ import {
9
+ DEFAULT_TOKEN_BINDING_KEY_MANAGER,
10
+ ITokenBindingKeyManager,
11
+ } from "../crypto/ITokenBindingKeyManager.js";
8
12
  import { ILoggerCallback, Logger, LogLevel } from "../logger/Logger.js";
9
13
  import {
10
14
  DEFAULT_COMMON_TENANT,
@@ -32,6 +36,7 @@ import { StubPerformanceClient } from "../telemetry/performance/StubPerformanceC
32
36
  * This object allows you to configure important elements of MSAL functionality:
33
37
  * - authOptions - Authentication for application
34
38
  * - cryptoInterface - Implementation of crypto functions
39
+ * - tokenBindingKeyManager - Implementation of token-binding key lifecycle functions
35
40
  * - libraryInfo - Library metadata
36
41
  * - telemetry - Telemetry options and data
37
42
  * - loggerOptions - Logging for application
@@ -48,6 +53,7 @@ export type ClientConfiguration = {
48
53
  storageInterface?: CacheManager;
49
54
  networkInterface?: INetworkModule;
50
55
  cryptoInterface?: ICrypto;
56
+ tokenBindingKeyManager?: ITokenBindingKeyManager;
51
57
  clientCredentials?: ClientCredentials;
52
58
  libraryInfo?: LibraryInfo;
53
59
  telemetry?: TelemetryOptions;
@@ -66,6 +72,7 @@ export type CommonClientConfiguration = {
66
72
  storageInterface: CacheManager;
67
73
  networkInterface: INetworkModule;
68
74
  cryptoInterface: Required<ICrypto>;
75
+ tokenBindingKeyManager: ITokenBindingKeyManager;
69
76
  libraryInfo: LibraryInfo;
70
77
  telemetry: Required<TelemetryOptions>;
71
78
  serverTelemetryManager: ServerTelemetryManager | null;
@@ -226,6 +233,7 @@ export function buildClientConfiguration({
226
233
  storageInterface: storageImplementation,
227
234
  networkInterface: networkImplementation,
228
235
  cryptoInterface: cryptoImplementation,
236
+ tokenBindingKeyManager: tokenBindingKeyManager,
229
237
  clientCredentials: clientCredentials,
230
238
  libraryInfo: libraryInfo,
231
239
  telemetry: telemetry,
@@ -237,6 +245,8 @@ export function buildClientConfiguration({
237
245
  ...DEFAULT_LOGGER_IMPLEMENTATION,
238
246
  ...userLoggerOption,
239
247
  };
248
+ const resolvedTokenBindingKeyManager =
249
+ tokenBindingKeyManager || DEFAULT_TOKEN_BINDING_KEY_MANAGER;
240
250
 
241
251
  return {
242
252
  authOptions: buildAuthOptions(userAuthOptions),
@@ -248,11 +258,14 @@ export function buildClientConfiguration({
248
258
  userAuthOptions.clientId,
249
259
  DEFAULT_CRYPTO_IMPLEMENTATION,
250
260
  new Logger(loggerOptions, name, version),
251
- new StubPerformanceClient()
261
+ new StubPerformanceClient(),
262
+ undefined,
263
+ resolvedTokenBindingKeyManager
252
264
  ),
253
265
  networkInterface:
254
266
  networkImplementation || DEFAULT_NETWORK_IMPLEMENTATION,
255
267
  cryptoInterface: cryptoImplementation || DEFAULT_CRYPTO_IMPLEMENTATION,
268
+ tokenBindingKeyManager: resolvedTokenBindingKeyManager,
256
269
  clientCredentials: clientCredentials || DEFAULT_CLIENT_CREDENTIALS,
257
270
  libraryInfo: { ...DEFAULT_LIBRARY_INFO, ...libraryInfo },
258
271
  telemetry: { ...DEFAULT_TELEMETRY_OPTIONS, ...telemetry },
@@ -44,6 +44,7 @@ export const CLIENT_ASSERTION = "client_assertion";
44
44
  export const CLIENT_ASSERTION_TYPE = "client_assertion_type";
45
45
  export const TOKEN_TYPE = "token_type";
46
46
  export const REQ_CNF = "req_cnf";
47
+ export const DPOP_JKT = "dpop_jkt";
47
48
  export const OBO_ASSERTION = "assertion";
48
49
  export const REQUESTED_TOKEN_USE = "requested_token_use";
49
50
  export const ON_BEHALF_OF = "on_behalf_of";