@azure/msal-common 14.1.0 → 14.2.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 (230) hide show
  1. package/dist/account/AccountInfo.d.ts +31 -31
  2. package/dist/account/AuthToken.d.ts +17 -17
  3. package/dist/account/AuthToken.mjs +58 -58
  4. package/dist/account/CcsCredential.d.ts +9 -9
  5. package/dist/account/CcsCredential.mjs +8 -8
  6. package/dist/account/ClientCredentials.d.ts +14 -14
  7. package/dist/account/ClientInfo.d.ts +19 -19
  8. package/dist/account/ClientInfo.mjs +37 -37
  9. package/dist/account/TokenClaims.d.ts +65 -65
  10. package/dist/authority/Authority.d.ts +250 -235
  11. package/dist/authority/Authority.d.ts.map +1 -1
  12. package/dist/authority/Authority.mjs +795 -740
  13. package/dist/authority/Authority.mjs.map +1 -1
  14. package/dist/authority/AuthorityFactory.d.ts +31 -31
  15. package/dist/authority/AuthorityFactory.d.ts.map +1 -1
  16. package/dist/authority/AuthorityFactory.mjs +48 -48
  17. package/dist/authority/AuthorityMetadata.d.ts +646 -623
  18. package/dist/authority/AuthorityMetadata.d.ts.map +1 -1
  19. package/dist/authority/AuthorityMetadata.mjs +941 -885
  20. package/dist/authority/AuthorityMetadata.mjs.map +1 -1
  21. package/dist/authority/AuthorityOptions.d.ts +27 -21
  22. package/dist/authority/AuthorityOptions.d.ts.map +1 -1
  23. package/dist/authority/AuthorityOptions.mjs +18 -18
  24. package/dist/authority/AuthorityOptions.mjs.map +1 -1
  25. package/dist/authority/AuthorityType.d.ts +10 -10
  26. package/dist/authority/AuthorityType.mjs +13 -13
  27. package/dist/authority/AzureRegion.d.ts +1 -1
  28. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  29. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  30. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  31. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  32. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  33. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  34. package/dist/authority/ImdsOptions.d.ts +5 -5
  35. package/dist/authority/OIDCOptions.d.ts +8 -8
  36. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  37. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  38. package/dist/authority/ProtocolMode.d.ts +8 -8
  39. package/dist/authority/ProtocolMode.mjs +11 -11
  40. package/dist/authority/RegionDiscovery.d.ts +32 -32
  41. package/dist/authority/RegionDiscovery.mjs +106 -106
  42. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  43. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  44. package/dist/cache/CacheManager.d.ts +480 -464
  45. package/dist/cache/CacheManager.d.ts.map +1 -1
  46. package/dist/cache/CacheManager.mjs +1089 -1049
  47. package/dist/cache/CacheManager.mjs.map +1 -1
  48. package/dist/cache/entities/AccessTokenEntity.d.ts +56 -56
  49. package/dist/cache/entities/AccessTokenEntity.mjs +109 -109
  50. package/dist/cache/entities/AccountEntity.d.ts +101 -101
  51. package/dist/cache/entities/AccountEntity.d.ts.map +1 -1
  52. package/dist/cache/entities/AccountEntity.mjs +218 -220
  53. package/dist/cache/entities/AccountEntity.mjs.map +1 -1
  54. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  55. package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
  56. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
  57. package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
  58. package/dist/cache/entities/CacheRecord.d.ts +14 -14
  59. package/dist/cache/entities/CacheRecord.mjs +14 -14
  60. package/dist/cache/entities/CredentialEntity.d.ts +88 -88
  61. package/dist/cache/entities/CredentialEntity.mjs +136 -136
  62. package/dist/cache/entities/IdTokenEntity.d.ts +34 -34
  63. package/dist/cache/entities/IdTokenEntity.mjs +56 -56
  64. package/dist/cache/entities/RefreshTokenEntity.d.ts +36 -36
  65. package/dist/cache/entities/RefreshTokenEntity.mjs +59 -59
  66. package/dist/cache/entities/ServerTelemetryEntity.d.ts +12 -12
  67. package/dist/cache/entities/ServerTelemetryEntity.mjs +27 -27
  68. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  69. package/dist/cache/entities/ThrottlingEntity.mjs +23 -23
  70. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  71. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  72. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  73. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  74. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  75. package/dist/cache/utils/CacheTypes.d.ts +67 -66
  76. package/dist/cache/utils/CacheTypes.d.ts.map +1 -1
  77. package/dist/client/AuthorizationCodeClient.d.ts +73 -73
  78. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  79. package/dist/client/AuthorizationCodeClient.mjs +408 -408
  80. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  81. package/dist/client/BaseClient.d.ts +51 -51
  82. package/dist/client/BaseClient.d.ts.map +1 -1
  83. package/dist/client/BaseClient.mjs +100 -99
  84. package/dist/client/BaseClient.mjs.map +1 -1
  85. package/dist/client/RefreshTokenClient.d.ts +35 -35
  86. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  87. package/dist/client/RefreshTokenClient.mjs +187 -187
  88. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  89. package/dist/client/SilentFlowClient.d.ts +27 -26
  90. package/dist/client/SilentFlowClient.d.ts.map +1 -1
  91. package/dist/client/SilentFlowClient.mjs +118 -125
  92. package/dist/client/SilentFlowClient.mjs.map +1 -1
  93. package/dist/config/AppTokenProvider.d.ts +38 -38
  94. package/dist/config/ClientConfiguration.d.ts +150 -150
  95. package/dist/config/ClientConfiguration.d.ts.map +1 -1
  96. package/dist/config/ClientConfiguration.mjs +96 -98
  97. package/dist/config/ClientConfiguration.mjs.map +1 -1
  98. package/dist/crypto/ICrypto.d.ts +58 -58
  99. package/dist/crypto/ICrypto.mjs +30 -30
  100. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  101. package/dist/crypto/JoseHeader.d.ts +22 -22
  102. package/dist/crypto/JoseHeader.mjs +37 -37
  103. package/dist/crypto/PopTokenGenerator.d.ts +60 -60
  104. package/dist/crypto/PopTokenGenerator.mjs +82 -82
  105. package/dist/crypto/SignedHttpRequest.d.ts +11 -11
  106. package/dist/error/AuthError.d.ts +44 -44
  107. package/dist/error/AuthError.mjs +46 -46
  108. package/dist/error/AuthErrorCodes.d.ts +5 -5
  109. package/dist/error/AuthErrorCodes.mjs +9 -9
  110. package/dist/error/ClientAuthError.d.ts +237 -232
  111. package/dist/error/ClientAuthError.d.ts.map +1 -1
  112. package/dist/error/ClientAuthError.mjs +250 -245
  113. package/dist/error/ClientAuthError.mjs.map +1 -1
  114. package/dist/error/ClientAuthErrorCodes.d.ts +44 -43
  115. package/dist/error/ClientAuthErrorCodes.d.ts.map +1 -1
  116. package/dist/error/ClientAuthErrorCodes.mjs +50 -49
  117. package/dist/error/ClientAuthErrorCodes.mjs.map +1 -1
  118. package/dist/error/ClientConfigurationError.d.ts +128 -128
  119. package/dist/error/ClientConfigurationError.mjs +135 -135
  120. package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
  121. package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
  122. package/dist/error/InteractionRequiredAuthError.d.ts +57 -57
  123. package/dist/error/InteractionRequiredAuthError.mjs +76 -76
  124. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +5 -5
  125. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +11 -11
  126. package/dist/error/JoseHeaderError.d.ts +15 -15
  127. package/dist/error/JoseHeaderError.mjs +22 -22
  128. package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
  129. package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
  130. package/dist/error/ServerError.d.ts +7 -7
  131. package/dist/error/ServerError.mjs +14 -14
  132. package/dist/index.cjs +8840 -8677
  133. package/dist/index.cjs.map +1 -1
  134. package/dist/index.d.ts +96 -96
  135. package/dist/index.d.ts.map +1 -1
  136. package/dist/index.mjs +3 -3
  137. package/dist/logger/Logger.d.ts +95 -95
  138. package/dist/logger/Logger.mjs +188 -188
  139. package/dist/network/INetworkModule.d.ts +29 -29
  140. package/dist/network/INetworkModule.mjs +12 -12
  141. package/dist/network/NetworkManager.d.ts +33 -33
  142. package/dist/network/NetworkManager.mjs +34 -34
  143. package/dist/network/RequestThumbprint.d.ts +16 -16
  144. package/dist/network/ThrottlingUtils.d.ts +42 -42
  145. package/dist/network/ThrottlingUtils.mjs +95 -95
  146. package/dist/packageMetadata.d.ts +2 -2
  147. package/dist/packageMetadata.d.ts.map +1 -1
  148. package/dist/packageMetadata.mjs +4 -4
  149. package/dist/packageMetadata.mjs.map +1 -1
  150. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  151. package/dist/request/AuthenticationHeaderParser.mjs +55 -55
  152. package/dist/request/BaseAuthRequest.d.ts +40 -40
  153. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  154. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  155. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  156. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  157. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  158. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  159. package/dist/request/CommonRefreshTokenRequest.d.ts +22 -22
  160. package/dist/request/CommonSilentFlowRequest.d.ts +20 -20
  161. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  162. package/dist/request/NativeRequest.d.ts +19 -19
  163. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  164. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  165. package/dist/request/RequestParameterBuilder.mjs +381 -381
  166. package/dist/request/RequestValidator.d.ts +33 -33
  167. package/dist/request/RequestValidator.mjs +81 -81
  168. package/dist/request/ScopeSet.d.ts +88 -88
  169. package/dist/request/ScopeSet.mjs +197 -197
  170. package/dist/request/StoreInCache.d.ts +8 -8
  171. package/dist/response/AuthenticationResult.d.ts +41 -41
  172. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  173. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  174. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  175. package/dist/response/IMDSBadResponse.d.ts +4 -4
  176. package/dist/response/ResponseHandler.d.ts +67 -67
  177. package/dist/response/ResponseHandler.d.ts.map +1 -1
  178. package/dist/response/ResponseHandler.mjs +315 -311
  179. package/dist/response/ResponseHandler.mjs.map +1 -1
  180. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  181. package/dist/response/ServerAuthorizationTokenResponse.d.ts +46 -46
  182. package/dist/telemetry/performance/IPerformanceClient.d.ts +51 -51
  183. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  184. package/dist/telemetry/performance/PerformanceClient.d.ts +191 -191
  185. package/dist/telemetry/performance/PerformanceClient.mjs +409 -409
  186. package/dist/telemetry/performance/PerformanceEvent.d.ts +457 -441
  187. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  188. package/dist/telemetry/performance/PerformanceEvent.mjs +249 -242
  189. package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  190. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  191. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  192. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  193. package/dist/telemetry/server/ServerTelemetryManager.mjs +197 -197
  194. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  195. package/dist/url/IUri.d.ts +12 -12
  196. package/dist/url/UrlString.d.ts +83 -83
  197. package/dist/url/UrlString.mjs +279 -279
  198. package/dist/utils/Constants.d.ts +368 -366
  199. package/dist/utils/Constants.d.ts.map +1 -1
  200. package/dist/utils/Constants.mjs +381 -378
  201. package/dist/utils/Constants.mjs.map +1 -1
  202. package/dist/utils/FunctionWrappers.d.ts +27 -27
  203. package/dist/utils/FunctionWrappers.mjs +84 -84
  204. package/dist/utils/MsalTypes.d.ts +6 -6
  205. package/dist/utils/ProtocolUtils.d.ts +42 -42
  206. package/dist/utils/ProtocolUtils.mjs +69 -69
  207. package/dist/utils/StringUtils.d.ts +40 -40
  208. package/dist/utils/StringUtils.mjs +95 -95
  209. package/dist/utils/TimeUtils.d.ts +27 -27
  210. package/dist/utils/TimeUtils.mjs +45 -45
  211. package/package.json +1 -1
  212. package/src/authority/Authority.ts +216 -130
  213. package/src/authority/AuthorityFactory.ts +4 -4
  214. package/src/authority/AuthorityMetadata.ts +87 -0
  215. package/src/authority/AuthorityOptions.ts +9 -0
  216. package/src/cache/CacheManager.ts +120 -52
  217. package/src/cache/entities/AccountEntity.ts +0 -3
  218. package/src/cache/utils/CacheTypes.ts +1 -0
  219. package/src/client/AuthorizationCodeClient.ts +9 -2
  220. package/src/client/BaseClient.ts +9 -6
  221. package/src/client/RefreshTokenClient.ts +17 -7
  222. package/src/client/SilentFlowClient.ts +49 -49
  223. package/src/config/ClientConfiguration.ts +4 -4
  224. package/src/error/ClientAuthError.ts +8 -0
  225. package/src/error/ClientAuthErrorCodes.ts +1 -0
  226. package/src/index.ts +7 -1
  227. package/src/packageMetadata.ts +1 -1
  228. package/src/response/ResponseHandler.ts +9 -3
  229. package/src/telemetry/performance/PerformanceEvent.ts +24 -2
  230. package/src/utils/Constants.ts +4 -0
@@ -1,59 +1,59 @@
1
- import { BaseAuthRequest } from "../request/BaseAuthRequest";
2
- import { SignedHttpRequest } from "./SignedHttpRequest";
3
- /**
4
- * The PkceCodes type describes the structure
5
- * of objects that contain PKCE code
6
- * challenge and verifier pairs
7
- */
8
- export type PkceCodes = {
9
- verifier: string;
10
- challenge: string;
11
- };
12
- export type SignedHttpRequestParameters = Pick<BaseAuthRequest, "resourceRequestMethod" | "resourceRequestUri" | "shrClaims" | "shrNonce"> & {
13
- correlationId?: string;
14
- };
15
- /**
16
- * Interface for crypto functions used by library
17
- */
18
- export interface ICrypto {
19
- /**
20
- * Creates a guid randomly.
21
- */
22
- createNewGuid(): string;
23
- /**
24
- * base64 Encode string
25
- * @param input
26
- */
27
- base64Encode(input: string): string;
28
- /**
29
- * base64 decode string
30
- * @param input
31
- */
32
- base64Decode(input: string): string;
33
- /**
34
- * Generates an JWK RSA S256 Thumbprint
35
- * @param request
36
- */
37
- getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise<string>;
38
- /**
39
- * Removes cryptographic keypair from key store matching the keyId passed in
40
- * @param kid
41
- */
42
- removeTokenBindingKey(kid: string): Promise<boolean>;
43
- /**
44
- * Removes all cryptographic keys from IndexedDB storage
45
- */
46
- clearKeystore(): Promise<boolean>;
47
- /**
48
- * Returns a signed proof-of-possession token with a given acces token that contains a cnf claim with the required kid.
49
- * @param accessToken
50
- */
51
- signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise<string>;
52
- /**
53
- * Returns the SHA-256 hash of an input string
54
- * @param plainText
55
- */
56
- hashString(plainText: string): Promise<string>;
57
- }
58
- export declare const DEFAULT_CRYPTO_IMPLEMENTATION: ICrypto;
1
+ import { BaseAuthRequest } from "../request/BaseAuthRequest";
2
+ import { SignedHttpRequest } from "./SignedHttpRequest";
3
+ /**
4
+ * The PkceCodes type describes the structure
5
+ * of objects that contain PKCE code
6
+ * challenge and verifier pairs
7
+ */
8
+ export type PkceCodes = {
9
+ verifier: string;
10
+ challenge: string;
11
+ };
12
+ export type SignedHttpRequestParameters = Pick<BaseAuthRequest, "resourceRequestMethod" | "resourceRequestUri" | "shrClaims" | "shrNonce"> & {
13
+ correlationId?: string;
14
+ };
15
+ /**
16
+ * Interface for crypto functions used by library
17
+ */
18
+ export interface ICrypto {
19
+ /**
20
+ * Creates a guid randomly.
21
+ */
22
+ createNewGuid(): string;
23
+ /**
24
+ * base64 Encode string
25
+ * @param input
26
+ */
27
+ base64Encode(input: string): string;
28
+ /**
29
+ * base64 decode string
30
+ * @param input
31
+ */
32
+ base64Decode(input: string): string;
33
+ /**
34
+ * Generates an JWK RSA S256 Thumbprint
35
+ * @param request
36
+ */
37
+ getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise<string>;
38
+ /**
39
+ * Removes cryptographic keypair from key store matching the keyId passed in
40
+ * @param kid
41
+ */
42
+ removeTokenBindingKey(kid: string): Promise<boolean>;
43
+ /**
44
+ * Removes all cryptographic keys from IndexedDB storage
45
+ */
46
+ clearKeystore(): Promise<boolean>;
47
+ /**
48
+ * Returns a signed proof-of-possession token with a given acces token that contains a cnf claim with the required kid.
49
+ * @param accessToken
50
+ */
51
+ signJwt(payload: SignedHttpRequest, kid: string, correlationId?: string): Promise<string>;
52
+ /**
53
+ * Returns the SHA-256 hash of an input string
54
+ * @param plainText
55
+ */
56
+ hashString(plainText: string): Promise<string>;
57
+ }
58
+ export declare const DEFAULT_CRYPTO_IMPLEMENTATION: ICrypto;
59
59
  //# sourceMappingURL=ICrypto.d.ts.map
@@ -1,37 +1,37 @@
1
- /*! @azure/msal-common v14.1.0 2023-10-05 */
1
+ /*! @azure/msal-common v14.2.0-alpha.0 2023-12-07 */
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 { JsonTypes } from "../utils/Constants";
2
- export type JoseHeaderOptions = {
3
- typ?: JsonTypes;
4
- alg?: string;
5
- kid?: string;
6
- };
7
- /** @internal */
8
- export declare class JoseHeader {
9
- typ?: JsonTypes;
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 { JsonTypes } from "../utils/Constants";
2
+ export type JoseHeaderOptions = {
3
+ typ?: JsonTypes;
4
+ alg?: string;
5
+ kid?: string;
6
+ };
7
+ /** @internal */
8
+ export declare class JoseHeader {
9
+ typ?: JsonTypes;
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.1.0 2023-10-05 */
1
+ /*! @azure/msal-common v14.2.0-alpha.0 2023-12-07 */
2
2
  'use strict';
3
3
  import { createJoseHeaderError } from '../error/JoseHeaderError.mjs';
4
4
  import { JsonTypes } 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 || JsonTypes.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 || JsonTypes.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.1.0 2023-10-05 */
1
+ /*! @azure/msal-common v14.2.0-alpha.0 2023-12-07 */
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, } = request;
71
- const resourceUrlString = resourceRequestUri
72
- ? new UrlString(resourceRequestUri)
73
- : undefined;
74
- const resourceUrlComponents = resourceUrlString?.getUrlComponents();
75
- return await 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, 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, } = request;
71
+ const resourceUrlString = resourceRequestUri
72
+ ? new UrlString(resourceRequestUri)
73
+ : undefined;
74
+ const resourceUrlComponents = resourceUrlString?.getUrlComponents();
75
+ return await 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, request.correlationId);
88
+ }
89
89
  }
90
90
 
91
91
  export { PopTokenGenerator };
@@ -1,12 +1,12 @@
1
- export type SignedHttpRequest = {
2
- at?: string;
3
- cnf?: object;
4
- m?: string;
5
- u?: string;
6
- p?: string;
7
- q?: [Array<string>, string];
8
- ts?: number;
9
- nonce?: string;
10
- client_claims?: string;
11
- };
1
+ export type SignedHttpRequest = {
2
+ at?: string;
3
+ cnf?: object;
4
+ m?: string;
5
+ u?: string;
6
+ p?: string;
7
+ q?: [Array<string>, string];
8
+ ts?: number;
9
+ nonce?: string;
10
+ client_claims?: string;
11
+ };
12
12
  //# sourceMappingURL=SignedHttpRequest.d.ts.map