@azure/msal-common 14.6.0-alpha.0 → 14.6.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 (203) 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 +253 -254
  13. package/dist/authority/Authority.d.ts.map +1 -1
  14. package/dist/authority/Authority.mjs +827 -816
  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 -508
  42. package/dist/cache/CacheManager.mjs +1237 -1237
  43. package/dist/cache/entities/AccessTokenEntity.d.ts +25 -25
  44. package/dist/cache/entities/AccountEntity.d.ts +106 -106
  45. package/dist/cache/entities/AccountEntity.mjs +244 -244
  46. package/dist/cache/entities/AppMetadataEntity.d.ts +11 -39
  47. package/dist/cache/entities/AppMetadataEntity.d.ts.map +1 -1
  48. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +15 -48
  49. package/dist/cache/entities/AuthorityMetadataEntity.d.ts.map +1 -1
  50. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  51. package/dist/cache/entities/CacheRecord.mjs +14 -14
  52. package/dist/cache/entities/CredentialEntity.d.ts +30 -30
  53. package/dist/cache/entities/IdTokenEntity.d.ts +8 -8
  54. package/dist/cache/entities/RefreshTokenEntity.d.ts +7 -7
  55. package/dist/cache/entities/ServerTelemetryEntity.d.ts +5 -5
  56. package/dist/cache/entities/ThrottlingEntity.d.ts +7 -7
  57. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  58. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  59. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  60. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  61. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  62. package/dist/cache/utils/CacheHelpers.d.ts +94 -70
  63. package/dist/cache/utils/CacheHelpers.d.ts.map +1 -1
  64. package/dist/cache/utils/CacheHelpers.mjs +326 -252
  65. package/dist/cache/utils/CacheHelpers.mjs.map +1 -1
  66. package/dist/cache/utils/CacheTypes.d.ts +69 -69
  67. package/dist/client/AuthorizationCodeClient.d.ts +74 -74
  68. package/dist/client/AuthorizationCodeClient.mjs +402 -402
  69. package/dist/client/BaseClient.d.ts +51 -51
  70. package/dist/client/BaseClient.mjs +100 -100
  71. package/dist/client/RefreshTokenClient.d.ts +35 -35
  72. package/dist/client/RefreshTokenClient.mjs +204 -204
  73. package/dist/client/SilentFlowClient.d.ts +27 -27
  74. package/dist/client/SilentFlowClient.mjs +128 -128
  75. package/dist/config/AppTokenProvider.d.ts +38 -38
  76. package/dist/config/ClientConfiguration.d.ts +150 -150
  77. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  78. package/dist/config/ClientConfiguration.mjs +98 -96
  79. package/dist/config/ClientConfiguration.mjs.map +1 -1
  80. package/dist/constants/AADServerParamKeys.d.ts +52 -52
  81. package/dist/constants/AADServerParamKeys.mjs +56 -56
  82. package/dist/crypto/ICrypto.d.ts +58 -58
  83. package/dist/crypto/ICrypto.mjs +30 -30
  84. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  85. package/dist/crypto/JoseHeader.d.ts +22 -22
  86. package/dist/crypto/JoseHeader.mjs +37 -37
  87. package/dist/crypto/PopTokenGenerator.d.ts +60 -60
  88. package/dist/crypto/PopTokenGenerator.mjs +82 -82
  89. package/dist/crypto/SignedHttpRequest.d.ts +15 -15
  90. package/dist/error/AuthError.d.ts +44 -44
  91. package/dist/error/AuthError.mjs +46 -46
  92. package/dist/error/AuthErrorCodes.d.ts +5 -5
  93. package/dist/error/AuthErrorCodes.mjs +9 -9
  94. package/dist/error/ClientAuthError.d.ts +237 -237
  95. package/dist/error/ClientAuthError.mjs +249 -249
  96. package/dist/error/ClientAuthErrorCodes.d.ts +44 -44
  97. package/dist/error/ClientAuthErrorCodes.mjs +48 -48
  98. package/dist/error/ClientConfigurationError.d.ts +128 -128
  99. package/dist/error/ClientConfigurationError.mjs +135 -135
  100. package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
  101. package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
  102. package/dist/error/InteractionRequiredAuthError.d.ts +61 -61
  103. package/dist/error/InteractionRequiredAuthError.mjs +84 -84
  104. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +7 -7
  105. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +13 -13
  106. package/dist/error/JoseHeaderError.d.ts +15 -15
  107. package/dist/error/JoseHeaderError.mjs +22 -22
  108. package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
  109. package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
  110. package/dist/error/ServerError.d.ts +7 -7
  111. package/dist/error/ServerError.mjs +14 -14
  112. package/dist/index.cjs +8557 -8611
  113. package/dist/index.cjs.map +1 -1
  114. package/dist/index.d.ts +99 -99
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.mjs +2 -4
  117. package/dist/index.mjs.map +1 -1
  118. package/dist/logger/Logger.d.ts +95 -95
  119. package/dist/logger/Logger.mjs +188 -188
  120. package/dist/network/INetworkModule.d.ts +29 -29
  121. package/dist/network/INetworkModule.mjs +12 -12
  122. package/dist/network/NetworkManager.d.ts +33 -33
  123. package/dist/network/NetworkManager.mjs +34 -34
  124. package/dist/network/RequestThumbprint.d.ts +18 -18
  125. package/dist/network/ThrottlingUtils.d.ts +42 -42
  126. package/dist/network/ThrottlingUtils.mjs +95 -95
  127. package/dist/packageMetadata.d.ts +2 -2
  128. package/dist/packageMetadata.d.ts.map +1 -1
  129. package/dist/packageMetadata.mjs +4 -4
  130. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  131. package/dist/request/AuthenticationHeaderParser.mjs +55 -55
  132. package/dist/request/BaseAuthRequest.d.ts +43 -43
  133. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  134. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  135. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  136. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  137. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  138. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  139. package/dist/request/CommonRefreshTokenRequest.d.ts +22 -22
  140. package/dist/request/CommonSilentFlowRequest.d.ts +27 -27
  141. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  142. package/dist/request/NativeRequest.d.ts +19 -19
  143. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  144. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  145. package/dist/request/RequestParameterBuilder.mjs +381 -381
  146. package/dist/request/RequestValidator.d.ts +33 -33
  147. package/dist/request/RequestValidator.mjs +81 -81
  148. package/dist/request/ScopeSet.d.ts +88 -88
  149. package/dist/request/ScopeSet.mjs +197 -197
  150. package/dist/request/StoreInCache.d.ts +8 -8
  151. package/dist/response/AuthenticationResult.d.ts +41 -41
  152. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  153. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  154. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  155. package/dist/response/IMDSBadResponse.d.ts +4 -4
  156. package/dist/response/ResponseHandler.d.ts +69 -69
  157. package/dist/response/ResponseHandler.mjs +350 -347
  158. package/dist/response/ResponseHandler.mjs.map +1 -1
  159. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  160. package/dist/response/ServerAuthorizationTokenResponse.d.ts +47 -47
  161. package/dist/telemetry/performance/IPerformanceClient.d.ts +57 -57
  162. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  163. package/dist/telemetry/performance/PerformanceClient.d.ts +198 -198
  164. package/dist/telemetry/performance/PerformanceClient.mjs +412 -412
  165. package/dist/telemetry/performance/PerformanceEvent.d.ts +464 -464
  166. package/dist/telemetry/performance/PerformanceEvent.mjs +253 -253
  167. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  168. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  169. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  170. package/dist/telemetry/server/ServerTelemetryManager.mjs +201 -201
  171. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  172. package/dist/url/IUri.d.ts +12 -12
  173. package/dist/url/UrlString.d.ts +48 -48
  174. package/dist/url/UrlString.mjs +161 -161
  175. package/dist/utils/Constants.d.ts +296 -298
  176. package/dist/utils/Constants.d.ts.map +1 -1
  177. package/dist/utils/Constants.mjs +310 -313
  178. package/dist/utils/Constants.mjs.map +1 -1
  179. package/dist/utils/FunctionWrappers.d.ts +27 -27
  180. package/dist/utils/FunctionWrappers.mjs +84 -84
  181. package/dist/utils/MsalTypes.d.ts +6 -6
  182. package/dist/utils/ProtocolUtils.d.ts +42 -42
  183. package/dist/utils/ProtocolUtils.mjs +69 -69
  184. package/dist/utils/StringUtils.d.ts +40 -40
  185. package/dist/utils/StringUtils.mjs +95 -95
  186. package/dist/utils/TimeUtils.d.ts +27 -27
  187. package/dist/utils/TimeUtils.mjs +45 -45
  188. package/dist/utils/UrlUtils.d.ts +10 -10
  189. package/dist/utils/UrlUtils.mjs +44 -44
  190. package/package.json +1 -1
  191. package/src/authority/Authority.ts +58 -25
  192. package/src/cache/entities/AppMetadataEntity.ts +6 -81
  193. package/src/cache/entities/AuthorityMetadataEntity.ts +2 -94
  194. package/src/cache/utils/CacheHelpers.ts +111 -0
  195. package/src/config/ClientConfiguration.ts +4 -4
  196. package/src/index.ts +0 -1
  197. package/src/packageMetadata.ts +1 -1
  198. package/src/response/ResponseHandler.ts +5 -5
  199. package/src/utils/Constants.ts +0 -4
  200. package/dist/cache/entities/AppMetadataEntity.mjs +0 -73
  201. package/dist/cache/entities/AppMetadataEntity.mjs.map +0 -1
  202. package/dist/cache/entities/AuthorityMetadataEntity.mjs +0 -86
  203. package/dist/cache/entities/AuthorityMetadataEntity.mjs.map +0 -1
@@ -1,37 +1,37 @@
1
- /*! @azure/msal-common v14.6.0-alpha.0 2023-12-15 */
1
+ /*! @azure/msal-common v14.6.0 2024-01-09 */
2
2
  'use strict';
3
3
  import { createClientAuthError } from '../error/ClientAuthError.mjs';
4
4
  import { methodNotImplemented } from '../error/ClientAuthErrorCodes.mjs';
5
5
 
6
- /*
7
- * Copyright (c) Microsoft Corporation. All rights reserved.
8
- * Licensed under the MIT License.
9
- */
10
- const DEFAULT_CRYPTO_IMPLEMENTATION = {
11
- createNewGuid: () => {
12
- throw createClientAuthError(methodNotImplemented);
13
- },
14
- base64Decode: () => {
15
- throw createClientAuthError(methodNotImplemented);
16
- },
17
- base64Encode: () => {
18
- throw createClientAuthError(methodNotImplemented);
19
- },
20
- async getPublicKeyThumbprint() {
21
- throw createClientAuthError(methodNotImplemented);
22
- },
23
- async removeTokenBindingKey() {
24
- throw createClientAuthError(methodNotImplemented);
25
- },
26
- async clearKeystore() {
27
- throw createClientAuthError(methodNotImplemented);
28
- },
29
- async signJwt() {
30
- throw createClientAuthError(methodNotImplemented);
31
- },
32
- async hashString() {
33
- throw createClientAuthError(methodNotImplemented);
34
- },
6
+ /*
7
+ * Copyright (c) Microsoft Corporation. All rights reserved.
8
+ * Licensed under the MIT License.
9
+ */
10
+ const DEFAULT_CRYPTO_IMPLEMENTATION = {
11
+ createNewGuid: () => {
12
+ throw createClientAuthError(methodNotImplemented);
13
+ },
14
+ base64Decode: () => {
15
+ throw createClientAuthError(methodNotImplemented);
16
+ },
17
+ base64Encode: () => {
18
+ throw createClientAuthError(methodNotImplemented);
19
+ },
20
+ async getPublicKeyThumbprint() {
21
+ throw createClientAuthError(methodNotImplemented);
22
+ },
23
+ async removeTokenBindingKey() {
24
+ throw createClientAuthError(methodNotImplemented);
25
+ },
26
+ async clearKeystore() {
27
+ throw createClientAuthError(methodNotImplemented);
28
+ },
29
+ async signJwt() {
30
+ throw createClientAuthError(methodNotImplemented);
31
+ },
32
+ async hashString() {
33
+ throw createClientAuthError(methodNotImplemented);
34
+ },
35
35
  };
36
36
 
37
37
  export { DEFAULT_CRYPTO_IMPLEMENTATION };
@@ -1,5 +1,5 @@
1
- export interface IGuidGenerator {
2
- generateGuid(): string;
3
- isGuid(guid: string): boolean;
4
- }
1
+ export interface IGuidGenerator {
2
+ generateGuid(): string;
3
+ isGuid(guid: string): boolean;
4
+ }
5
5
  //# sourceMappingURL=IGuidGenerator.d.ts.map
@@ -1,23 +1,23 @@
1
- import { JsonWebTokenTypes } from "../utils/Constants";
2
- export type JoseHeaderOptions = {
3
- typ?: JsonWebTokenTypes;
4
- alg?: string;
5
- kid?: string;
6
- };
7
- /** @internal */
8
- export declare class JoseHeader {
9
- typ?: JsonWebTokenTypes;
10
- alg?: string;
11
- kid?: string;
12
- constructor(options: JoseHeaderOptions);
13
- /**
14
- * Builds SignedHttpRequest formatted JOSE Header from the
15
- * JOSE Header options provided or previously set on the object and returns
16
- * the stringified header object.
17
- * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.
18
- * @param shrHeaderOptions
19
- * @returns
20
- */
21
- static getShrHeaderString(shrHeaderOptions: JoseHeaderOptions): string;
22
- }
1
+ import { JsonWebTokenTypes } from "../utils/Constants";
2
+ export type JoseHeaderOptions = {
3
+ typ?: JsonWebTokenTypes;
4
+ alg?: string;
5
+ kid?: string;
6
+ };
7
+ /** @internal */
8
+ export declare class JoseHeader {
9
+ typ?: JsonWebTokenTypes;
10
+ alg?: string;
11
+ kid?: string;
12
+ constructor(options: JoseHeaderOptions);
13
+ /**
14
+ * Builds SignedHttpRequest formatted JOSE Header from the
15
+ * JOSE Header options provided or previously set on the object and returns
16
+ * the stringified header object.
17
+ * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.
18
+ * @param shrHeaderOptions
19
+ * @returns
20
+ */
21
+ static getShrHeaderString(shrHeaderOptions: JoseHeaderOptions): string;
22
+ }
23
23
  //# sourceMappingURL=JoseHeader.d.ts.map
@@ -1,45 +1,45 @@
1
- /*! @azure/msal-common v14.6.0-alpha.0 2023-12-15 */
1
+ /*! @azure/msal-common v14.6.0 2024-01-09 */
2
2
  'use strict';
3
3
  import { createJoseHeaderError } from '../error/JoseHeaderError.mjs';
4
4
  import { JsonWebTokenTypes } from '../utils/Constants.mjs';
5
5
  import { missingKidError, missingAlgError } from '../error/JoseHeaderErrorCodes.mjs';
6
6
 
7
- /*
8
- * Copyright (c) Microsoft Corporation. All rights reserved.
9
- * Licensed under the MIT License.
10
- */
11
- /** @internal */
12
- class JoseHeader {
13
- constructor(options) {
14
- this.typ = options.typ;
15
- this.alg = options.alg;
16
- this.kid = options.kid;
17
- }
18
- /**
19
- * Builds SignedHttpRequest formatted JOSE Header from the
20
- * JOSE Header options provided or previously set on the object and returns
21
- * the stringified header object.
22
- * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.
23
- * @param shrHeaderOptions
24
- * @returns
25
- */
26
- static getShrHeaderString(shrHeaderOptions) {
27
- // KeyID is required on the SHR header
28
- if (!shrHeaderOptions.kid) {
29
- throw createJoseHeaderError(missingKidError);
30
- }
31
- // Alg is required on the SHR header
32
- if (!shrHeaderOptions.alg) {
33
- throw createJoseHeaderError(missingAlgError);
34
- }
35
- const shrHeader = new JoseHeader({
36
- // Access Token PoP headers must have type pop, but the type header can be overriden for special cases
37
- typ: shrHeaderOptions.typ || JsonWebTokenTypes.Pop,
38
- kid: shrHeaderOptions.kid,
39
- alg: shrHeaderOptions.alg,
40
- });
41
- return JSON.stringify(shrHeader);
42
- }
7
+ /*
8
+ * Copyright (c) Microsoft Corporation. All rights reserved.
9
+ * Licensed under the MIT License.
10
+ */
11
+ /** @internal */
12
+ class JoseHeader {
13
+ constructor(options) {
14
+ this.typ = options.typ;
15
+ this.alg = options.alg;
16
+ this.kid = options.kid;
17
+ }
18
+ /**
19
+ * Builds SignedHttpRequest formatted JOSE Header from the
20
+ * JOSE Header options provided or previously set on the object and returns
21
+ * the stringified header object.
22
+ * Throws if keyId or algorithm aren't provided since they are required for Access Token Binding.
23
+ * @param shrHeaderOptions
24
+ * @returns
25
+ */
26
+ static getShrHeaderString(shrHeaderOptions) {
27
+ // KeyID is required on the SHR header
28
+ if (!shrHeaderOptions.kid) {
29
+ throw createJoseHeaderError(missingKidError);
30
+ }
31
+ // Alg is required on the SHR header
32
+ if (!shrHeaderOptions.alg) {
33
+ throw createJoseHeaderError(missingAlgError);
34
+ }
35
+ const shrHeader = new JoseHeader({
36
+ // Access Token PoP headers must have type pop, but the type header can be overriden for special cases
37
+ typ: shrHeaderOptions.typ || JsonWebTokenTypes.Pop,
38
+ kid: shrHeaderOptions.kid,
39
+ alg: shrHeaderOptions.alg,
40
+ });
41
+ return JSON.stringify(shrHeader);
42
+ }
43
43
  }
44
44
 
45
45
  export { JoseHeader };
@@ -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.6.0-alpha.0 2023-12-15 */
1
+ /*! @azure/msal-common v14.6.0 2024-01-09 */
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