@azure/msal-common 14.5.0 → 14.6.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 (234) hide show
  1. package/dist/account/AccountInfo.d.ts +58 -58
  2. package/dist/account/AccountInfo.mjs +59 -59
  3. package/dist/account/AuthToken.d.ts +17 -17
  4. package/dist/account/AuthToken.mjs +58 -58
  5. package/dist/account/CcsCredential.d.ts +9 -9
  6. package/dist/account/CcsCredential.mjs +8 -8
  7. package/dist/account/ClientCredentials.d.ts +14 -14
  8. package/dist/account/ClientInfo.d.ts +18 -18
  9. package/dist/account/ClientInfo.mjs +37 -37
  10. package/dist/account/TokenClaims.d.ts +83 -83
  11. package/dist/account/TokenClaims.mjs +20 -20
  12. package/dist/authority/Authority.d.ts +254 -253
  13. package/dist/authority/Authority.d.ts.map +1 -1
  14. package/dist/authority/Authority.mjs +815 -811
  15. package/dist/authority/Authority.mjs.map +1 -1
  16. package/dist/authority/AuthorityFactory.d.ts +31 -31
  17. package/dist/authority/AuthorityFactory.mjs +47 -47
  18. package/dist/authority/AuthorityMetadata.d.ts +503 -503
  19. package/dist/authority/AuthorityMetadata.mjs +603 -603
  20. package/dist/authority/AuthorityOptions.d.ts +27 -27
  21. package/dist/authority/AuthorityOptions.mjs +18 -18
  22. package/dist/authority/AuthorityType.d.ts +10 -10
  23. package/dist/authority/AuthorityType.mjs +13 -13
  24. package/dist/authority/AzureRegion.d.ts +1 -1
  25. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  26. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  27. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  28. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  29. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  30. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  31. package/dist/authority/ImdsOptions.d.ts +5 -5
  32. package/dist/authority/OIDCOptions.d.ts +8 -8
  33. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  34. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  35. package/dist/authority/ProtocolMode.d.ts +8 -8
  36. package/dist/authority/ProtocolMode.mjs +11 -11
  37. package/dist/authority/RegionDiscovery.d.ts +32 -32
  38. package/dist/authority/RegionDiscovery.mjs +106 -106
  39. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  40. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  41. package/dist/cache/CacheManager.d.ts +508 -517
  42. package/dist/cache/CacheManager.d.ts.map +1 -1
  43. package/dist/cache/CacheManager.mjs +1237 -1263
  44. package/dist/cache/CacheManager.mjs.map +1 -1
  45. package/dist/cache/entities/AccessTokenEntity.d.ts +25 -25
  46. package/dist/cache/entities/AccountEntity.d.ts +106 -106
  47. package/dist/cache/entities/AccountEntity.mjs +244 -244
  48. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  49. package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
  50. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
  51. package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
  52. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  53. package/dist/cache/entities/CacheRecord.mjs +14 -14
  54. package/dist/cache/entities/CredentialEntity.d.ts +30 -30
  55. package/dist/cache/entities/IdTokenEntity.d.ts +8 -8
  56. package/dist/cache/entities/RefreshTokenEntity.d.ts +7 -5
  57. package/dist/cache/entities/RefreshTokenEntity.d.ts.map +1 -1
  58. package/dist/cache/entities/ServerTelemetryEntity.d.ts +5 -5
  59. package/dist/cache/entities/ThrottlingEntity.d.ts +7 -13
  60. package/dist/cache/entities/ThrottlingEntity.d.ts.map +1 -1
  61. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  62. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  63. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  64. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  65. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  66. package/dist/cache/utils/CacheHelpers.d.ts +70 -64
  67. package/dist/cache/utils/CacheHelpers.d.ts.map +1 -1
  68. package/dist/cache/utils/CacheHelpers.mjs +252 -233
  69. package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
  70. package/dist/cache/utils/CacheTypes.d.ts +69 -69
  71. package/dist/client/AuthorizationCodeClient.d.ts +74 -74
  72. package/dist/client/AuthorizationCodeClient.mjs +402 -402
  73. package/dist/client/BaseClient.d.ts +51 -51
  74. package/dist/client/BaseClient.mjs +100 -100
  75. package/dist/client/RefreshTokenClient.d.ts +35 -35
  76. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  77. package/dist/client/RefreshTokenClient.mjs +206 -187
  78. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  79. package/dist/client/SilentFlowClient.d.ts +27 -27
  80. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  81. package/dist/client/SilentFlowClient.mjs +129 -118
  82. package/dist/client/SilentFlowClient.mjs.map +1 -1
  83. package/dist/config/AppTokenProvider.d.ts +38 -38
  84. package/dist/config/ClientConfiguration.d.ts +150 -150
  85. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  86. package/dist/config/ClientConfiguration.mjs +96 -98
  87. package/dist/config/ClientConfiguration.mjs.map +1 -1
  88. package/dist/constants/AADServerParamKeys.d.ts +52 -51
  89. package/dist/constants/AADServerParamKeys.d.ts.map +1 -1
  90. package/dist/constants/AADServerParamKeys.mjs +57 -56
  91. package/dist/constants/AADServerParamKeys.mjs.map +1 -1
  92. package/dist/crypto/ICrypto.d.ts +58 -58
  93. package/dist/crypto/ICrypto.mjs +30 -30
  94. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  95. package/dist/crypto/JoseHeader.d.ts +22 -22
  96. package/dist/crypto/JoseHeader.mjs +37 -37
  97. package/dist/crypto/PopTokenGenerator.d.ts +60 -60
  98. package/dist/crypto/PopTokenGenerator.mjs +82 -82
  99. package/dist/crypto/SignedHttpRequest.d.ts +15 -15
  100. package/dist/error/AuthError.d.ts +44 -44
  101. package/dist/error/AuthError.mjs +46 -46
  102. package/dist/error/AuthErrorCodes.d.ts +5 -5
  103. package/dist/error/AuthErrorCodes.mjs +9 -9
  104. package/dist/error/ClientAuthError.d.ts +237 -237
  105. package/dist/error/ClientAuthError.mjs +249 -249
  106. package/dist/error/ClientAuthErrorCodes.d.ts +44 -44
  107. package/dist/error/ClientAuthErrorCodes.mjs +48 -48
  108. package/dist/error/ClientConfigurationError.d.ts +128 -128
  109. package/dist/error/ClientConfigurationError.mjs +135 -135
  110. package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
  111. package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
  112. package/dist/error/InteractionRequiredAuthError.d.ts +61 -57
  113. package/dist/error/InteractionRequiredAuthError.d.ts.map +1 -1
  114. package/dist/error/InteractionRequiredAuthError.mjs +85 -77
  115. package/dist/error/InteractionRequiredAuthError.mjs.map +1 -1
  116. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +7 -5
  117. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts.map +1 -1
  118. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +15 -13
  119. package/dist/error/InteractionRequiredAuthErrorCodes.mjs.map +1 -1
  120. package/dist/error/JoseHeaderError.d.ts +15 -15
  121. package/dist/error/JoseHeaderError.mjs +22 -22
  122. package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
  123. package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
  124. package/dist/error/ServerError.d.ts +7 -7
  125. package/dist/error/ServerError.mjs +14 -14
  126. package/dist/index.cjs +8628 -8597
  127. package/dist/index.cjs.map +1 -1
  128. package/dist/index.d.ts +99 -99
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.mjs +2 -3
  131. package/dist/index.mjs.map +1 -1
  132. package/dist/logger/Logger.d.ts +95 -95
  133. package/dist/logger/Logger.mjs +188 -188
  134. package/dist/network/INetworkModule.d.ts +29 -29
  135. package/dist/network/INetworkModule.mjs +12 -12
  136. package/dist/network/NetworkManager.d.ts +33 -33
  137. package/dist/network/NetworkManager.mjs +34 -34
  138. package/dist/network/RequestThumbprint.d.ts +18 -18
  139. package/dist/network/ThrottlingUtils.d.ts +42 -42
  140. package/dist/network/ThrottlingUtils.mjs +95 -95
  141. package/dist/packageMetadata.d.ts +2 -2
  142. package/dist/packageMetadata.d.ts.map +1 -1
  143. package/dist/packageMetadata.mjs +4 -4
  144. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  145. package/dist/request/AuthenticationHeaderParser.mjs +55 -55
  146. package/dist/request/BaseAuthRequest.d.ts +43 -43
  147. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  148. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  149. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  150. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  151. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  152. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  153. package/dist/request/CommonRefreshTokenRequest.d.ts +22 -22
  154. package/dist/request/CommonSilentFlowRequest.d.ts +27 -20
  155. package/dist/request/CommonSilentFlowRequest.d.ts.map +1 -1
  156. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  157. package/dist/request/NativeRequest.d.ts +19 -19
  158. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  159. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  160. package/dist/request/RequestParameterBuilder.mjs +381 -381
  161. package/dist/request/RequestValidator.d.ts +33 -33
  162. package/dist/request/RequestValidator.mjs +81 -81
  163. package/dist/request/ScopeSet.d.ts +88 -88
  164. package/dist/request/ScopeSet.mjs +197 -197
  165. package/dist/request/StoreInCache.d.ts +8 -8
  166. package/dist/response/AuthenticationResult.d.ts +41 -41
  167. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  168. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  169. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  170. package/dist/response/IMDSBadResponse.d.ts +4 -4
  171. package/dist/response/ResponseHandler.d.ts +69 -69
  172. package/dist/response/ResponseHandler.d.ts.map +1 -1
  173. package/dist/response/ResponseHandler.mjs +346 -336
  174. package/dist/response/ResponseHandler.mjs.map +1 -1
  175. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  176. package/dist/response/ServerAuthorizationTokenResponse.d.ts +47 -46
  177. package/dist/response/ServerAuthorizationTokenResponse.d.ts.map +1 -1
  178. package/dist/telemetry/performance/IPerformanceClient.d.ts +57 -51
  179. package/dist/telemetry/performance/IPerformanceClient.d.ts.map +1 -1
  180. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  181. package/dist/telemetry/performance/PerformanceClient.d.ts +198 -191
  182. package/dist/telemetry/performance/PerformanceClient.d.ts.map +1 -1
  183. package/dist/telemetry/performance/PerformanceClient.mjs +413 -409
  184. package/dist/telemetry/performance/PerformanceClient.mjs.map +1 -1
  185. package/dist/telemetry/performance/PerformanceEvent.d.ts +464 -464
  186. package/dist/telemetry/performance/PerformanceEvent.mjs +253 -253
  187. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  188. package/dist/telemetry/performance/StubPerformanceClient.d.ts.map +1 -1
  189. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  190. package/dist/telemetry/performance/StubPerformanceClient.mjs.map +1 -1
  191. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  192. package/dist/telemetry/server/ServerTelemetryManager.mjs +201 -201
  193. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  194. package/dist/url/IUri.d.ts +12 -12
  195. package/dist/url/UrlString.d.ts +48 -48
  196. package/dist/url/UrlString.mjs +161 -161
  197. package/dist/utils/Constants.d.ts +298 -296
  198. package/dist/utils/Constants.d.ts.map +1 -1
  199. package/dist/utils/Constants.mjs +313 -310
  200. package/dist/utils/Constants.mjs.map +1 -1
  201. package/dist/utils/FunctionWrappers.d.ts +27 -27
  202. package/dist/utils/FunctionWrappers.mjs +84 -84
  203. package/dist/utils/MsalTypes.d.ts +6 -6
  204. package/dist/utils/ProtocolUtils.d.ts +42 -42
  205. package/dist/utils/ProtocolUtils.mjs +69 -69
  206. package/dist/utils/StringUtils.d.ts +40 -40
  207. package/dist/utils/StringUtils.mjs +95 -95
  208. package/dist/utils/TimeUtils.d.ts +27 -27
  209. package/dist/utils/TimeUtils.mjs +45 -45
  210. package/dist/utils/UrlUtils.d.ts +10 -10
  211. package/dist/utils/UrlUtils.mjs +44 -44
  212. package/package.json +1 -1
  213. package/src/authority/Authority.ts +9 -3
  214. package/src/cache/CacheManager.ts +0 -54
  215. package/src/cache/entities/RefreshTokenEntity.ts +3 -1
  216. package/src/cache/entities/ThrottlingEntity.ts +2 -24
  217. package/src/cache/utils/CacheHelpers.ts +26 -1
  218. package/src/client/RefreshTokenClient.ts +40 -7
  219. package/src/client/SilentFlowClient.ts +30 -10
  220. package/src/config/ClientConfiguration.ts +4 -4
  221. package/src/constants/AADServerParamKeys.ts +1 -0
  222. package/src/error/InteractionRequiredAuthError.ts +12 -0
  223. package/src/error/InteractionRequiredAuthErrorCodes.ts +2 -0
  224. package/src/index.ts +1 -0
  225. package/src/packageMetadata.ts +1 -1
  226. package/src/request/CommonSilentFlowRequest.ts +7 -0
  227. package/src/response/ResponseHandler.ts +21 -5
  228. package/src/response/ServerAuthorizationTokenResponse.ts +1 -0
  229. package/src/telemetry/performance/IPerformanceClient.ts +6 -0
  230. package/src/telemetry/performance/PerformanceClient.ts +24 -31
  231. package/src/telemetry/performance/StubPerformanceClient.ts +0 -1
  232. package/src/utils/Constants.ts +4 -0
  233. package/dist/cache/entities/ThrottlingEntity.mjs +0 -30
  234. package/dist/cache/entities/ThrottlingEntity.mjs.map +0 -1
@@ -1,61 +1,61 @@
1
- import { ICrypto, SignedHttpRequestParameters } from "./ICrypto";
2
- import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
3
- import { Logger } from "../logger/Logger";
4
- /**
5
- * See eSTS docs for more info.
6
- * - A kid element, with the value containing an RFC 7638-compliant JWK thumbprint that is base64 encoded.
7
- * - xms_ksl element, representing the storage location of the key's secret component on the client device. One of two values:
8
- * - sw: software storage
9
- * - uhw: hardware storage
10
- */
11
- type ReqCnf = {
12
- kid: string;
13
- xms_ksl: KeyLocation;
14
- };
15
- export type ReqCnfData = {
16
- kid: string;
17
- reqCnfString: string;
18
- reqCnfHash: string;
19
- };
20
- declare const KeyLocation: {
21
- readonly SW: "sw";
22
- readonly UHW: "uhw";
23
- };
24
- export type KeyLocation = (typeof KeyLocation)[keyof typeof KeyLocation];
25
- /** @internal */
26
- export declare class PopTokenGenerator {
27
- private cryptoUtils;
28
- private performanceClient?;
29
- constructor(cryptoUtils: ICrypto, performanceClient?: IPerformanceClient);
30
- /**
31
- * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters
32
- * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash
33
- * @param request
34
- * @returns
35
- */
36
- generateCnf(request: SignedHttpRequestParameters, logger: Logger): Promise<ReqCnfData>;
37
- /**
38
- * Generates key_id for a SHR token request
39
- * @param request
40
- * @returns
41
- */
42
- generateKid(request: SignedHttpRequestParameters): Promise<ReqCnf>;
43
- /**
44
- * Signs the POP access_token with the local generated key-pair
45
- * @param accessToken
46
- * @param request
47
- * @returns
48
- */
49
- signPopToken(accessToken: string, keyId: string, request: SignedHttpRequestParameters): Promise<string>;
50
- /**
51
- * Utility function to generate the signed JWT for an access_token
52
- * @param payload
53
- * @param kid
54
- * @param request
55
- * @param claims
56
- * @returns
57
- */
58
- signPayload(payload: string, keyId: string, request: SignedHttpRequestParameters, claims?: object): Promise<string>;
59
- }
60
- export {};
1
+ import { ICrypto, SignedHttpRequestParameters } from "./ICrypto";
2
+ import { IPerformanceClient } from "../telemetry/performance/IPerformanceClient";
3
+ import { Logger } from "../logger/Logger";
4
+ /**
5
+ * See eSTS docs for more info.
6
+ * - A kid element, with the value containing an RFC 7638-compliant JWK thumbprint that is base64 encoded.
7
+ * - xms_ksl element, representing the storage location of the key's secret component on the client device. One of two values:
8
+ * - sw: software storage
9
+ * - uhw: hardware storage
10
+ */
11
+ type ReqCnf = {
12
+ kid: string;
13
+ xms_ksl: KeyLocation;
14
+ };
15
+ export type ReqCnfData = {
16
+ kid: string;
17
+ reqCnfString: string;
18
+ reqCnfHash: string;
19
+ };
20
+ declare const KeyLocation: {
21
+ readonly SW: "sw";
22
+ readonly UHW: "uhw";
23
+ };
24
+ export type KeyLocation = (typeof KeyLocation)[keyof typeof KeyLocation];
25
+ /** @internal */
26
+ export declare class PopTokenGenerator {
27
+ private cryptoUtils;
28
+ private performanceClient?;
29
+ constructor(cryptoUtils: ICrypto, performanceClient?: IPerformanceClient);
30
+ /**
31
+ * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters
32
+ * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash
33
+ * @param request
34
+ * @returns
35
+ */
36
+ generateCnf(request: SignedHttpRequestParameters, logger: Logger): Promise<ReqCnfData>;
37
+ /**
38
+ * Generates key_id for a SHR token request
39
+ * @param request
40
+ * @returns
41
+ */
42
+ generateKid(request: SignedHttpRequestParameters): Promise<ReqCnf>;
43
+ /**
44
+ * Signs the POP access_token with the local generated key-pair
45
+ * @param accessToken
46
+ * @param request
47
+ * @returns
48
+ */
49
+ signPopToken(accessToken: string, keyId: string, request: SignedHttpRequestParameters): Promise<string>;
50
+ /**
51
+ * Utility function to generate the signed JWT for an access_token
52
+ * @param payload
53
+ * @param kid
54
+ * @param request
55
+ * @param claims
56
+ * @returns
57
+ */
58
+ signPayload(payload: string, keyId: string, request: SignedHttpRequestParameters, claims?: object): Promise<string>;
59
+ }
60
+ export {};
61
61
  //# sourceMappingURL=PopTokenGenerator.d.ts.map
@@ -1,91 +1,91 @@
1
- /*! @azure/msal-common v14.5.0 2023-12-01 */
1
+ /*! @azure/msal-common v14.6.0-alpha.0 2023-12-15 */
2
2
  'use strict';
3
3
  import { TimeUtils } from '../utils/TimeUtils.mjs';
4
4
  import { UrlString } from '../url/UrlString.mjs';
5
5
  import { PerformanceEvents } from '../telemetry/performance/PerformanceEvent.mjs';
6
6
  import { invokeAsync } from '../utils/FunctionWrappers.mjs';
7
7
 
8
- /*
9
- * Copyright (c) Microsoft Corporation. All rights reserved.
10
- * Licensed under the MIT License.
11
- */
12
- const KeyLocation = {
13
- SW: "sw",
14
- UHW: "uhw",
15
- };
16
- /** @internal */
17
- class PopTokenGenerator {
18
- constructor(cryptoUtils, performanceClient) {
19
- this.cryptoUtils = cryptoUtils;
20
- this.performanceClient = performanceClient;
21
- }
22
- /**
23
- * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters
24
- * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash
25
- * @param request
26
- * @returns
27
- */
28
- async generateCnf(request, logger) {
29
- this.performanceClient?.addQueueMeasurement(PerformanceEvents.PopTokenGenerateCnf, request.correlationId);
30
- const reqCnf = await invokeAsync(this.generateKid.bind(this), PerformanceEvents.PopTokenGenerateCnf, logger, this.performanceClient, request.correlationId)(request);
31
- const reqCnfString = this.cryptoUtils.base64Encode(JSON.stringify(reqCnf));
32
- return {
33
- kid: reqCnf.kid,
34
- reqCnfString,
35
- reqCnfHash: await this.cryptoUtils.hashString(reqCnfString),
36
- };
37
- }
38
- /**
39
- * Generates key_id for a SHR token request
40
- * @param request
41
- * @returns
42
- */
43
- async generateKid(request) {
44
- this.performanceClient?.addQueueMeasurement(PerformanceEvents.PopTokenGenerateKid, request.correlationId);
45
- const kidThumbprint = await this.cryptoUtils.getPublicKeyThumbprint(request);
46
- return {
47
- kid: kidThumbprint,
48
- xms_ksl: KeyLocation.SW,
49
- };
50
- }
51
- /**
52
- * Signs the POP access_token with the local generated key-pair
53
- * @param accessToken
54
- * @param request
55
- * @returns
56
- */
57
- async signPopToken(accessToken, keyId, request) {
58
- return this.signPayload(accessToken, keyId, request);
59
- }
60
- /**
61
- * Utility function to generate the signed JWT for an access_token
62
- * @param payload
63
- * @param kid
64
- * @param request
65
- * @param claims
66
- * @returns
67
- */
68
- async signPayload(payload, keyId, request, claims) {
69
- // Deconstruct request to extract SHR parameters
70
- const { resourceRequestMethod, resourceRequestUri, shrClaims, shrNonce, shrOptions, } = request;
71
- const resourceUrlString = resourceRequestUri
72
- ? new UrlString(resourceRequestUri)
73
- : undefined;
74
- const resourceUrlComponents = resourceUrlString?.getUrlComponents();
75
- return this.cryptoUtils.signJwt({
76
- at: payload,
77
- ts: TimeUtils.nowSeconds(),
78
- m: resourceRequestMethod?.toUpperCase(),
79
- u: resourceUrlComponents?.HostNameAndPort,
80
- nonce: shrNonce || this.cryptoUtils.createNewGuid(),
81
- p: resourceUrlComponents?.AbsolutePath,
82
- q: resourceUrlComponents?.QueryString
83
- ? [[], resourceUrlComponents.QueryString]
84
- : undefined,
85
- client_claims: shrClaims || undefined,
86
- ...claims,
87
- }, keyId, shrOptions, request.correlationId);
88
- }
8
+ /*
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Licensed under the MIT License.
11
+ */
12
+ const KeyLocation = {
13
+ SW: "sw",
14
+ UHW: "uhw",
15
+ };
16
+ /** @internal */
17
+ class PopTokenGenerator {
18
+ constructor(cryptoUtils, performanceClient) {
19
+ this.cryptoUtils = cryptoUtils;
20
+ this.performanceClient = performanceClient;
21
+ }
22
+ /**
23
+ * Generates the req_cnf validated at the RP in the POP protocol for SHR parameters
24
+ * and returns an object containing the keyid, the full req_cnf string and the req_cnf string hash
25
+ * @param request
26
+ * @returns
27
+ */
28
+ async generateCnf(request, logger) {
29
+ this.performanceClient?.addQueueMeasurement(PerformanceEvents.PopTokenGenerateCnf, request.correlationId);
30
+ const reqCnf = await invokeAsync(this.generateKid.bind(this), PerformanceEvents.PopTokenGenerateCnf, logger, this.performanceClient, request.correlationId)(request);
31
+ const reqCnfString = this.cryptoUtils.base64Encode(JSON.stringify(reqCnf));
32
+ return {
33
+ kid: reqCnf.kid,
34
+ reqCnfString,
35
+ reqCnfHash: await this.cryptoUtils.hashString(reqCnfString),
36
+ };
37
+ }
38
+ /**
39
+ * Generates key_id for a SHR token request
40
+ * @param request
41
+ * @returns
42
+ */
43
+ async generateKid(request) {
44
+ this.performanceClient?.addQueueMeasurement(PerformanceEvents.PopTokenGenerateKid, request.correlationId);
45
+ const kidThumbprint = await this.cryptoUtils.getPublicKeyThumbprint(request);
46
+ return {
47
+ kid: kidThumbprint,
48
+ xms_ksl: KeyLocation.SW,
49
+ };
50
+ }
51
+ /**
52
+ * Signs the POP access_token with the local generated key-pair
53
+ * @param accessToken
54
+ * @param request
55
+ * @returns
56
+ */
57
+ async signPopToken(accessToken, keyId, request) {
58
+ return this.signPayload(accessToken, keyId, request);
59
+ }
60
+ /**
61
+ * Utility function to generate the signed JWT for an access_token
62
+ * @param payload
63
+ * @param kid
64
+ * @param request
65
+ * @param claims
66
+ * @returns
67
+ */
68
+ async signPayload(payload, keyId, request, claims) {
69
+ // Deconstruct request to extract SHR parameters
70
+ const { resourceRequestMethod, resourceRequestUri, shrClaims, shrNonce, shrOptions, } = request;
71
+ const resourceUrlString = resourceRequestUri
72
+ ? new UrlString(resourceRequestUri)
73
+ : undefined;
74
+ const resourceUrlComponents = resourceUrlString?.getUrlComponents();
75
+ return this.cryptoUtils.signJwt({
76
+ at: payload,
77
+ ts: TimeUtils.nowSeconds(),
78
+ m: resourceRequestMethod?.toUpperCase(),
79
+ u: resourceUrlComponents?.HostNameAndPort,
80
+ nonce: shrNonce || this.cryptoUtils.createNewGuid(),
81
+ p: resourceUrlComponents?.AbsolutePath,
82
+ q: resourceUrlComponents?.QueryString
83
+ ? [[], resourceUrlComponents.QueryString]
84
+ : undefined,
85
+ client_claims: shrClaims || undefined,
86
+ ...claims,
87
+ }, keyId, shrOptions, request.correlationId);
88
+ }
89
89
  }
90
90
 
91
91
  export { PopTokenGenerator };
@@ -1,16 +1,16 @@
1
- import { JoseHeaderOptions } from "./JoseHeader";
2
- export type SignedHttpRequest = {
3
- at?: string;
4
- cnf?: object;
5
- m?: string;
6
- u?: string;
7
- p?: string;
8
- q?: [Array<string>, string];
9
- ts?: number;
10
- nonce?: string;
11
- client_claims?: string;
12
- };
13
- export type ShrOptions = {
14
- header: JoseHeaderOptions;
15
- };
1
+ import { JoseHeaderOptions } from "./JoseHeader";
2
+ export type SignedHttpRequest = {
3
+ at?: string;
4
+ cnf?: object;
5
+ m?: string;
6
+ u?: string;
7
+ p?: string;
8
+ q?: [Array<string>, string];
9
+ ts?: number;
10
+ nonce?: string;
11
+ client_claims?: string;
12
+ };
13
+ export type ShrOptions = {
14
+ header: JoseHeaderOptions;
15
+ };
16
16
  //# sourceMappingURL=SignedHttpRequest.d.ts.map
@@ -1,45 +1,45 @@
1
- import * as AuthErrorCodes from "./AuthErrorCodes";
2
- export { AuthErrorCodes };
3
- export declare const AuthErrorMessages: {
4
- unexpected_error: string;
5
- post_request_failed: string;
6
- };
7
- /**
8
- * AuthErrorMessage class containing string constants used by error codes and messages.
9
- * @deprecated Use AuthErrorCodes instead
10
- */
11
- export declare const AuthErrorMessage: {
12
- unexpectedError: {
13
- code: string;
14
- desc: string;
15
- };
16
- postRequestFailed: {
17
- code: string;
18
- desc: string;
19
- };
20
- };
21
- /**
22
- * General error class thrown by the MSAL.js library.
23
- */
24
- export declare class AuthError extends Error {
25
- /**
26
- * Short string denoting error
27
- */
28
- errorCode: string;
29
- /**
30
- * Detailed description of error
31
- */
32
- errorMessage: string;
33
- /**
34
- * Describes the subclass of an error
35
- */
36
- subError: string;
37
- /**
38
- * CorrelationId associated with the error
39
- */
40
- correlationId: string;
41
- constructor(errorCode?: string, errorMessage?: string, suberror?: string);
42
- setCorrelationId(correlationId: string): void;
43
- }
44
- export declare function createAuthError(code: string, additionalMessage?: string): AuthError;
1
+ import * as AuthErrorCodes from "./AuthErrorCodes";
2
+ export { AuthErrorCodes };
3
+ export declare const AuthErrorMessages: {
4
+ unexpected_error: string;
5
+ post_request_failed: string;
6
+ };
7
+ /**
8
+ * AuthErrorMessage class containing string constants used by error codes and messages.
9
+ * @deprecated Use AuthErrorCodes instead
10
+ */
11
+ export declare const AuthErrorMessage: {
12
+ unexpectedError: {
13
+ code: string;
14
+ desc: string;
15
+ };
16
+ postRequestFailed: {
17
+ code: string;
18
+ desc: string;
19
+ };
20
+ };
21
+ /**
22
+ * General error class thrown by the MSAL.js library.
23
+ */
24
+ export declare class AuthError extends Error {
25
+ /**
26
+ * Short string denoting error
27
+ */
28
+ errorCode: string;
29
+ /**
30
+ * Detailed description of error
31
+ */
32
+ errorMessage: string;
33
+ /**
34
+ * Describes the subclass of an error
35
+ */
36
+ subError: string;
37
+ /**
38
+ * CorrelationId associated with the error
39
+ */
40
+ correlationId: string;
41
+ constructor(errorCode?: string, errorMessage?: string, suberror?: string);
42
+ setCorrelationId(correlationId: string): void;
43
+ }
44
+ export declare function createAuthError(code: string, additionalMessage?: string): AuthError;
45
45
  //# sourceMappingURL=AuthError.d.ts.map
@@ -1,55 +1,55 @@
1
- /*! @azure/msal-common v14.5.0 2023-12-01 */
1
+ /*! @azure/msal-common v14.6.0-alpha.0 2023-12-15 */
2
2
  'use strict';
3
3
  import { Constants } from '../utils/Constants.mjs';
4
4
  import { unexpectedError, postRequestFailed } from './AuthErrorCodes.mjs';
5
5
  import * as AuthErrorCodes from './AuthErrorCodes.mjs';
6
6
  export { AuthErrorCodes };
7
7
 
8
- /*
9
- * Copyright (c) Microsoft Corporation. All rights reserved.
10
- * Licensed under the MIT License.
11
- */
12
- const AuthErrorMessages = {
13
- [unexpectedError]: "Unexpected error in authentication.",
14
- [postRequestFailed]: "Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details.",
15
- };
16
- /**
17
- * AuthErrorMessage class containing string constants used by error codes and messages.
18
- * @deprecated Use AuthErrorCodes instead
19
- */
20
- const AuthErrorMessage = {
21
- unexpectedError: {
22
- code: unexpectedError,
23
- desc: AuthErrorMessages[unexpectedError],
24
- },
25
- postRequestFailed: {
26
- code: postRequestFailed,
27
- desc: AuthErrorMessages[postRequestFailed],
28
- },
29
- };
30
- /**
31
- * General error class thrown by the MSAL.js library.
32
- */
33
- class AuthError extends Error {
34
- constructor(errorCode, errorMessage, suberror) {
35
- const errorString = errorMessage
36
- ? `${errorCode}: ${errorMessage}`
37
- : errorCode;
38
- super(errorString);
39
- Object.setPrototypeOf(this, AuthError.prototype);
40
- this.errorCode = errorCode || Constants.EMPTY_STRING;
41
- this.errorMessage = errorMessage || Constants.EMPTY_STRING;
42
- this.subError = suberror || Constants.EMPTY_STRING;
43
- this.name = "AuthError";
44
- }
45
- setCorrelationId(correlationId) {
46
- this.correlationId = correlationId;
47
- }
48
- }
49
- function createAuthError(code, additionalMessage) {
50
- return new AuthError(code, additionalMessage
51
- ? `${AuthErrorMessages[code]} ${additionalMessage}`
52
- : AuthErrorMessages[code]);
8
+ /*
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Licensed under the MIT License.
11
+ */
12
+ const AuthErrorMessages = {
13
+ [unexpectedError]: "Unexpected error in authentication.",
14
+ [postRequestFailed]: "Post request failed from the network, could be a 4xx/5xx or a network unavailability. Please check the exact error code for details.",
15
+ };
16
+ /**
17
+ * AuthErrorMessage class containing string constants used by error codes and messages.
18
+ * @deprecated Use AuthErrorCodes instead
19
+ */
20
+ const AuthErrorMessage = {
21
+ unexpectedError: {
22
+ code: unexpectedError,
23
+ desc: AuthErrorMessages[unexpectedError],
24
+ },
25
+ postRequestFailed: {
26
+ code: postRequestFailed,
27
+ desc: AuthErrorMessages[postRequestFailed],
28
+ },
29
+ };
30
+ /**
31
+ * General error class thrown by the MSAL.js library.
32
+ */
33
+ class AuthError extends Error {
34
+ constructor(errorCode, errorMessage, suberror) {
35
+ const errorString = errorMessage
36
+ ? `${errorCode}: ${errorMessage}`
37
+ : errorCode;
38
+ super(errorString);
39
+ Object.setPrototypeOf(this, AuthError.prototype);
40
+ this.errorCode = errorCode || Constants.EMPTY_STRING;
41
+ this.errorMessage = errorMessage || Constants.EMPTY_STRING;
42
+ this.subError = suberror || Constants.EMPTY_STRING;
43
+ this.name = "AuthError";
44
+ }
45
+ setCorrelationId(correlationId) {
46
+ this.correlationId = correlationId;
47
+ }
48
+ }
49
+ function createAuthError(code, additionalMessage) {
50
+ return new AuthError(code, additionalMessage
51
+ ? `${AuthErrorMessages[code]} ${additionalMessage}`
52
+ : AuthErrorMessages[code]);
53
53
  }
54
54
 
55
55
  export { AuthError, AuthErrorMessage, AuthErrorMessages, createAuthError };
@@ -1,6 +1,6 @@
1
- /**
2
- * AuthErrorMessage class containing string constants used by error codes and messages.
3
- */
4
- export declare const unexpectedError = "unexpected_error";
5
- export declare const postRequestFailed = "post_request_failed";
1
+ /**
2
+ * AuthErrorMessage class containing string constants used by error codes and messages.
3
+ */
4
+ export declare const unexpectedError = "unexpected_error";
5
+ export declare const postRequestFailed = "post_request_failed";
6
6
  //# sourceMappingURL=AuthErrorCodes.d.ts.map
@@ -1,13 +1,13 @@
1
- /*! @azure/msal-common v14.5.0 2023-12-01 */
1
+ /*! @azure/msal-common v14.6.0-alpha.0 2023-12-15 */
2
2
  'use strict';
3
- /*
4
- * Copyright (c) Microsoft Corporation. All rights reserved.
5
- * Licensed under the MIT License.
6
- */
7
- /**
8
- * AuthErrorMessage class containing string constants used by error codes and messages.
9
- */
10
- const unexpectedError = "unexpected_error";
3
+ /*
4
+ * Copyright (c) Microsoft Corporation. All rights reserved.
5
+ * Licensed under the MIT License.
6
+ */
7
+ /**
8
+ * AuthErrorMessage class containing string constants used by error codes and messages.
9
+ */
10
+ const unexpectedError = "unexpected_error";
11
11
  const postRequestFailed = "post_request_failed";
12
12
 
13
13
  export { postRequestFailed, unexpectedError };