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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (167) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +62 -62
  3. package/dist/account/AccountInfo.d.ts +31 -31
  4. package/dist/account/AuthToken.d.ts +20 -20
  5. package/dist/account/AuthToken.js +48 -48
  6. package/dist/account/CcsCredential.d.ts +8 -8
  7. package/dist/account/CcsCredential.js +9 -9
  8. package/dist/account/ClientCredentials.d.ts +14 -14
  9. package/dist/account/ClientInfo.d.ts +19 -19
  10. package/dist/account/ClientInfo.js +37 -37
  11. package/dist/account/DecodedAuthToken.d.ts +8 -8
  12. package/dist/account/TokenClaims.d.ts +65 -65
  13. package/dist/authority/Authority.d.ts +228 -215
  14. package/dist/authority/Authority.d.ts.map +1 -1
  15. package/dist/authority/Authority.js +716 -682
  16. package/dist/authority/Authority.js.map +1 -1
  17. package/dist/authority/AuthorityFactory.d.ts +30 -30
  18. package/dist/authority/AuthorityFactory.js +47 -47
  19. package/dist/authority/AuthorityMetadata.d.ts +622 -622
  20. package/dist/authority/AuthorityMetadata.js +876 -876
  21. package/dist/authority/AuthorityOptions.d.ts +18 -18
  22. package/dist/authority/AuthorityOptions.js +19 -19
  23. package/dist/authority/AuthorityType.d.ts +9 -9
  24. package/dist/authority/AuthorityType.js +14 -14
  25. package/dist/authority/AzureRegion.d.ts +1 -1
  26. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  27. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  28. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  29. package/dist/authority/CloudInstanceDiscoveryErrorResponse.js +8 -8
  30. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  31. package/dist/authority/CloudInstanceDiscoveryResponse.js +8 -8
  32. package/dist/authority/ImdsOptions.d.ts +5 -5
  33. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  34. package/dist/authority/OpenIdConfigResponse.js +10 -10
  35. package/dist/authority/ProtocolMode.d.ts +7 -7
  36. package/dist/authority/ProtocolMode.js +12 -12
  37. package/dist/authority/RegionDiscovery.d.ts +30 -30
  38. package/dist/authority/RegionDiscovery.js +108 -108
  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 +443 -443
  42. package/dist/cache/CacheManager.js +1011 -1011
  43. package/dist/cache/entities/AccessTokenEntity.d.ts +56 -56
  44. package/dist/cache/entities/AccessTokenEntity.js +111 -111
  45. package/dist/cache/entities/AccountEntity.d.ts +99 -99
  46. package/dist/cache/entities/AccountEntity.js +248 -248
  47. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  48. package/dist/cache/entities/AppMetadataEntity.js +66 -66
  49. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +47 -47
  50. package/dist/cache/entities/AuthorityMetadataEntity.js +77 -77
  51. package/dist/cache/entities/CacheRecord.d.ts +13 -13
  52. package/dist/cache/entities/CacheRecord.js +13 -13
  53. package/dist/cache/entities/CredentialEntity.d.ts +88 -88
  54. package/dist/cache/entities/CredentialEntity.js +136 -136
  55. package/dist/cache/entities/IdTokenEntity.d.ts +34 -34
  56. package/dist/cache/entities/IdTokenEntity.js +56 -56
  57. package/dist/cache/entities/RefreshTokenEntity.d.ts +36 -36
  58. package/dist/cache/entities/RefreshTokenEntity.js +59 -59
  59. package/dist/cache/entities/ServerTelemetryEntity.d.ts +12 -12
  60. package/dist/cache/entities/ServerTelemetryEntity.js +27 -27
  61. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  62. package/dist/cache/entities/ThrottlingEntity.js +23 -23
  63. package/dist/cache/interface/ICacheManager.d.ts +165 -165
  64. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  65. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  66. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  67. package/dist/cache/persistence/TokenCacheContext.js +25 -25
  68. package/dist/cache/utils/CacheTypes.d.ts +62 -62
  69. package/dist/client/AuthorizationCodeClient.d.ts +71 -71
  70. package/dist/client/AuthorizationCodeClient.js +433 -433
  71. package/dist/client/BaseClient.d.ts +50 -50
  72. package/dist/client/BaseClient.js +92 -92
  73. package/dist/client/RefreshTokenClient.d.ts +34 -34
  74. package/dist/client/RefreshTokenClient.js +239 -239
  75. package/dist/client/SilentFlowClient.d.ts +24 -24
  76. package/dist/client/SilentFlowClient.js +94 -94
  77. package/dist/config/AppTokenProvider.d.ts +38 -38
  78. package/dist/config/ClientConfiguration.d.ts +133 -133
  79. package/dist/config/ClientConfiguration.js +88 -88
  80. package/dist/crypto/ICrypto.d.ts +62 -62
  81. package/dist/crypto/ICrypto.js +42 -42
  82. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  83. package/dist/crypto/JoseHeader.d.ts +21 -21
  84. package/dist/crypto/JoseHeader.js +36 -36
  85. package/dist/crypto/PopTokenGenerator.d.ts +57 -57
  86. package/dist/crypto/PopTokenGenerator.js +83 -83
  87. package/dist/crypto/SignedHttpRequest.d.ts +11 -11
  88. package/dist/error/AuthError.d.ts +47 -47
  89. package/dist/error/AuthError.js +51 -51
  90. package/dist/error/ClientAuthError.d.ts +412 -412
  91. package/dist/error/ClientAuthError.js +519 -519
  92. package/dist/error/ClientConfigurationError.d.ts +198 -198
  93. package/dist/error/ClientConfigurationError.js +249 -249
  94. package/dist/error/InteractionRequiredAuthError.d.ts +59 -59
  95. package/dist/error/InteractionRequiredAuthError.js +78 -78
  96. package/dist/error/JoseHeaderError.d.ts +28 -28
  97. package/dist/error/JoseHeaderError.js +39 -39
  98. package/dist/error/ServerError.d.ts +7 -7
  99. package/dist/error/ServerError.js +14 -14
  100. package/dist/index.cjs.js +8843 -8809
  101. package/dist/index.cjs.js.map +1 -1
  102. package/dist/index.d.ts +93 -93
  103. package/dist/index.js +1 -1
  104. package/dist/logger/Logger.d.ts +95 -95
  105. package/dist/logger/Logger.js +197 -197
  106. package/dist/network/INetworkModule.d.ts +29 -29
  107. package/dist/network/INetworkModule.js +14 -14
  108. package/dist/network/NetworkManager.d.ts +32 -32
  109. package/dist/network/NetworkManager.js +33 -33
  110. package/dist/network/RequestThumbprint.d.ts +16 -16
  111. package/dist/network/ThrottlingUtils.d.ts +41 -41
  112. package/dist/network/ThrottlingUtils.js +94 -94
  113. package/dist/packageMetadata.d.ts +2 -2
  114. package/dist/packageMetadata.js +4 -4
  115. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  116. package/dist/request/AuthenticationHeaderParser.js +55 -55
  117. package/dist/request/BaseAuthRequest.d.ts +37 -37
  118. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  119. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  120. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  121. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  122. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  123. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  124. package/dist/request/CommonRefreshTokenRequest.d.ts +19 -19
  125. package/dist/request/CommonSilentFlowRequest.d.ts +18 -18
  126. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  127. package/dist/request/NativeRequest.d.ts +19 -19
  128. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  129. package/dist/request/RequestParameterBuilder.d.ts +216 -216
  130. package/dist/request/RequestParameterBuilder.js +374 -374
  131. package/dist/request/RequestValidator.d.ts +33 -33
  132. package/dist/request/RequestValidator.js +83 -83
  133. package/dist/request/ScopeSet.d.ts +88 -88
  134. package/dist/request/ScopeSet.js +197 -197
  135. package/dist/response/AuthenticationResult.d.ts +39 -39
  136. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  137. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  138. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  139. package/dist/response/IMDSBadResponse.d.ts +4 -4
  140. package/dist/response/ResponseHandler.d.ts +72 -72
  141. package/dist/response/ResponseHandler.js +300 -300
  142. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  143. package/dist/response/ServerAuthorizationTokenResponse.d.ts +44 -44
  144. package/dist/telemetry/performance/IPerformanceClient.d.ts +42 -42
  145. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  146. package/dist/telemetry/performance/PerformanceClient.d.ts +189 -189
  147. package/dist/telemetry/performance/PerformanceClient.js +406 -406
  148. package/dist/telemetry/performance/PerformanceEvent.d.ts +439 -439
  149. package/dist/telemetry/performance/PerformanceEvent.js +227 -227
  150. package/dist/telemetry/performance/StubPerformanceClient.d.ts +19 -19
  151. package/dist/telemetry/performance/StubPerformanceClient.js +36 -36
  152. package/dist/telemetry/server/ServerTelemetryManager.d.ts +65 -65
  153. package/dist/telemetry/server/ServerTelemetryManager.js +196 -196
  154. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  155. package/dist/url/IUri.d.ts +12 -12
  156. package/dist/url/UrlString.d.ts +70 -70
  157. package/dist/url/UrlString.js +242 -242
  158. package/dist/utils/Constants.d.ts +331 -331
  159. package/dist/utils/Constants.js +373 -373
  160. package/dist/utils/MsalTypes.d.ts +6 -6
  161. package/dist/utils/ProtocolUtils.d.ts +42 -42
  162. package/dist/utils/ProtocolUtils.js +71 -71
  163. package/dist/utils/StringUtils.d.ts +53 -53
  164. package/dist/utils/StringUtils.js +124 -124
  165. package/dist/utils/TimeUtils.d.ts +27 -27
  166. package/dist/utils/TimeUtils.js +45 -45
  167. package/package.json +79 -79
@@ -1,7 +1,7 @@
1
- /**
2
- * Key-Value type to support queryParams, extraQueryParams and claims
3
- */
4
- export type StringDict = {
5
- [key: string]: string;
6
- };
1
+ /**
2
+ * Key-Value type to support queryParams, extraQueryParams and claims
3
+ */
4
+ export type StringDict = {
5
+ [key: string]: string;
6
+ };
7
7
  //# sourceMappingURL=MsalTypes.d.ts.map
@@ -1,43 +1,43 @@
1
- import { ICrypto } from "../crypto/ICrypto";
2
- /**
3
- * Type which defines the object that is stringified, encoded and sent in the state value.
4
- * Contains the following:
5
- * - id - unique identifier for this request
6
- * - ts - timestamp for the time the request was made. Used to ensure that token expiration is not calculated incorrectly.
7
- * - platformState - string value sent from the platform.
8
- */
9
- export type LibraryStateObject = {
10
- id: string;
11
- meta?: Record<string, string>;
12
- };
13
- /**
14
- * Type which defines the stringified and encoded object sent to the service in the authorize request.
15
- */
16
- export type RequestStateObject = {
17
- userRequestState: string;
18
- libraryState: LibraryStateObject;
19
- };
20
- /**
21
- * Class which provides helpers for OAuth 2.0 protocol specific values
22
- */
23
- export declare class ProtocolUtils {
24
- /**
25
- * Appends user state with random guid, or returns random guid.
26
- * @param userState
27
- * @param randomGuid
28
- */
29
- static setRequestState(cryptoObj: ICrypto, userState?: string, meta?: Record<string, string>): string;
30
- /**
31
- * Generates the state value used by the common library.
32
- * @param randomGuid
33
- * @param cryptoObj
34
- */
35
- static generateLibraryState(cryptoObj: ICrypto, meta?: Record<string, string>): string;
36
- /**
37
- * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.
38
- * @param state
39
- * @param cryptoObj
40
- */
41
- static parseRequestState(cryptoObj: ICrypto, state: string): RequestStateObject;
42
- }
1
+ import { ICrypto } from "../crypto/ICrypto";
2
+ /**
3
+ * Type which defines the object that is stringified, encoded and sent in the state value.
4
+ * Contains the following:
5
+ * - id - unique identifier for this request
6
+ * - ts - timestamp for the time the request was made. Used to ensure that token expiration is not calculated incorrectly.
7
+ * - platformState - string value sent from the platform.
8
+ */
9
+ export type LibraryStateObject = {
10
+ id: string;
11
+ meta?: Record<string, string>;
12
+ };
13
+ /**
14
+ * Type which defines the stringified and encoded object sent to the service in the authorize request.
15
+ */
16
+ export type RequestStateObject = {
17
+ userRequestState: string;
18
+ libraryState: LibraryStateObject;
19
+ };
20
+ /**
21
+ * Class which provides helpers for OAuth 2.0 protocol specific values
22
+ */
23
+ export declare class ProtocolUtils {
24
+ /**
25
+ * Appends user state with random guid, or returns random guid.
26
+ * @param userState
27
+ * @param randomGuid
28
+ */
29
+ static setRequestState(cryptoObj: ICrypto, userState?: string, meta?: Record<string, string>): string;
30
+ /**
31
+ * Generates the state value used by the common library.
32
+ * @param randomGuid
33
+ * @param cryptoObj
34
+ */
35
+ static generateLibraryState(cryptoObj: ICrypto, meta?: Record<string, string>): string;
36
+ /**
37
+ * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.
38
+ * @param state
39
+ * @param cryptoObj
40
+ */
41
+ static parseRequestState(cryptoObj: ICrypto, state: string): RequestStateObject;
42
+ }
43
43
  //# sourceMappingURL=ProtocolUtils.d.ts.map
@@ -1,79 +1,79 @@
1
- /*! @azure/msal-common v14.0.0-alpha.1 2023-05-08 */
1
+ /*! @azure/msal-common v14.0.0-alpha.2 2023-05-17 */
2
2
  'use strict';
3
3
  import { StringUtils } from './StringUtils.js';
4
4
  import { Constants } from './Constants.js';
5
5
  import { ClientAuthError } from '../error/ClientAuthError.js';
6
6
 
7
- /*
8
- * Copyright (c) Microsoft Corporation. All rights reserved.
9
- * Licensed under the MIT License.
10
- */
11
- /**
12
- * Class which provides helpers for OAuth 2.0 protocol specific values
13
- */
14
- class ProtocolUtils {
15
- /**
16
- * Appends user state with random guid, or returns random guid.
17
- * @param userState
18
- * @param randomGuid
19
- */
20
- static setRequestState(cryptoObj, userState, meta) {
21
- const libraryState = ProtocolUtils.generateLibraryState(cryptoObj, meta);
22
- return !StringUtils.isEmpty(userState)
23
- ? `${libraryState}${Constants.RESOURCE_DELIM}${userState}`
24
- : libraryState;
25
- }
26
- /**
27
- * Generates the state value used by the common library.
28
- * @param randomGuid
29
- * @param cryptoObj
30
- */
31
- static generateLibraryState(cryptoObj, meta) {
32
- if (!cryptoObj) {
33
- throw ClientAuthError.createNoCryptoObjectError("generateLibraryState");
34
- }
35
- // Create a state object containing a unique id and the timestamp of the request creation
36
- const stateObj = {
37
- id: cryptoObj.createNewGuid(),
38
- };
39
- if (meta) {
40
- stateObj.meta = meta;
41
- }
42
- const stateString = JSON.stringify(stateObj);
43
- return cryptoObj.base64Encode(stateString);
44
- }
45
- /**
46
- * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.
47
- * @param state
48
- * @param cryptoObj
49
- */
50
- static parseRequestState(cryptoObj, state) {
51
- if (!cryptoObj) {
52
- throw ClientAuthError.createNoCryptoObjectError("parseRequestState");
53
- }
54
- if (StringUtils.isEmpty(state)) {
55
- throw ClientAuthError.createInvalidStateError(state, "Null, undefined or empty state");
56
- }
57
- try {
58
- // Split the state between library state and user passed state and decode them separately
59
- const splitState = state.split(Constants.RESOURCE_DELIM);
60
- const libraryState = splitState[0];
61
- const userState = splitState.length > 1
62
- ? splitState.slice(1).join(Constants.RESOURCE_DELIM)
63
- : Constants.EMPTY_STRING;
64
- const libraryStateString = cryptoObj.base64Decode(libraryState);
65
- const libraryStateObj = JSON.parse(libraryStateString);
66
- return {
67
- userRequestState: !StringUtils.isEmpty(userState)
68
- ? userState
69
- : Constants.EMPTY_STRING,
70
- libraryState: libraryStateObj,
71
- };
72
- }
73
- catch (e) {
74
- throw ClientAuthError.createInvalidStateError(state, e);
75
- }
76
- }
7
+ /*
8
+ * Copyright (c) Microsoft Corporation. All rights reserved.
9
+ * Licensed under the MIT License.
10
+ */
11
+ /**
12
+ * Class which provides helpers for OAuth 2.0 protocol specific values
13
+ */
14
+ class ProtocolUtils {
15
+ /**
16
+ * Appends user state with random guid, or returns random guid.
17
+ * @param userState
18
+ * @param randomGuid
19
+ */
20
+ static setRequestState(cryptoObj, userState, meta) {
21
+ const libraryState = ProtocolUtils.generateLibraryState(cryptoObj, meta);
22
+ return !StringUtils.isEmpty(userState)
23
+ ? `${libraryState}${Constants.RESOURCE_DELIM}${userState}`
24
+ : libraryState;
25
+ }
26
+ /**
27
+ * Generates the state value used by the common library.
28
+ * @param randomGuid
29
+ * @param cryptoObj
30
+ */
31
+ static generateLibraryState(cryptoObj, meta) {
32
+ if (!cryptoObj) {
33
+ throw ClientAuthError.createNoCryptoObjectError("generateLibraryState");
34
+ }
35
+ // Create a state object containing a unique id and the timestamp of the request creation
36
+ const stateObj = {
37
+ id: cryptoObj.createNewGuid(),
38
+ };
39
+ if (meta) {
40
+ stateObj.meta = meta;
41
+ }
42
+ const stateString = JSON.stringify(stateObj);
43
+ return cryptoObj.base64Encode(stateString);
44
+ }
45
+ /**
46
+ * Parses the state into the RequestStateObject, which contains the LibraryState info and the state passed by the user.
47
+ * @param state
48
+ * @param cryptoObj
49
+ */
50
+ static parseRequestState(cryptoObj, state) {
51
+ if (!cryptoObj) {
52
+ throw ClientAuthError.createNoCryptoObjectError("parseRequestState");
53
+ }
54
+ if (StringUtils.isEmpty(state)) {
55
+ throw ClientAuthError.createInvalidStateError(state, "Null, undefined or empty state");
56
+ }
57
+ try {
58
+ // Split the state between library state and user passed state and decode them separately
59
+ const splitState = state.split(Constants.RESOURCE_DELIM);
60
+ const libraryState = splitState[0];
61
+ const userState = splitState.length > 1
62
+ ? splitState.slice(1).join(Constants.RESOURCE_DELIM)
63
+ : Constants.EMPTY_STRING;
64
+ const libraryStateString = cryptoObj.base64Decode(libraryState);
65
+ const libraryStateObj = JSON.parse(libraryStateString);
66
+ return {
67
+ userRequestState: !StringUtils.isEmpty(userState)
68
+ ? userState
69
+ : Constants.EMPTY_STRING,
70
+ libraryState: libraryStateObj,
71
+ };
72
+ }
73
+ catch (e) {
74
+ throw ClientAuthError.createInvalidStateError(state, e);
75
+ }
76
+ }
77
77
  }
78
78
 
79
79
  export { ProtocolUtils };
@@ -1,54 +1,54 @@
1
- import { DecodedAuthToken } from "../account/DecodedAuthToken";
2
- /**
3
- * @hidden
4
- */
5
- export declare class StringUtils {
6
- /**
7
- * decode a JWT
8
- *
9
- * @param authToken
10
- */
11
- static decodeAuthToken(authToken: string): DecodedAuthToken;
12
- /**
13
- * Check if a string is empty.
14
- *
15
- * @param str
16
- */
17
- static isEmpty(str?: string): boolean;
18
- /**
19
- * Check if stringified object is empty
20
- * @param strObj
21
- */
22
- static isEmptyObj(strObj?: string): boolean;
23
- static startsWith(str: string, search: string): boolean;
24
- static endsWith(str: string, search: string): boolean;
25
- /**
26
- * Parses string into an object.
27
- *
28
- * @param query
29
- */
30
- static queryStringToObject<T>(query: string): T;
31
- /**
32
- * Trims entries in an array.
33
- *
34
- * @param arr
35
- */
36
- static trimArrayEntries(arr: Array<string>): Array<string>;
37
- /**
38
- * Removes empty strings from array
39
- * @param arr
40
- */
41
- static removeEmptyStringsFromArray(arr: Array<string>): Array<string>;
42
- /**
43
- * Attempts to parse a string into JSON
44
- * @param str
45
- */
46
- static jsonParseHelper<T>(str: string): T | null;
47
- /**
48
- * Tests if a given string matches a given pattern, with support for wildcards and queries.
49
- * @param pattern Wildcard pattern to string match. Supports "*" for wildcards and "?" for queries
50
- * @param input String to match against
51
- */
52
- static matchPattern(pattern: string, input: string): boolean;
53
- }
1
+ import { DecodedAuthToken } from "../account/DecodedAuthToken";
2
+ /**
3
+ * @hidden
4
+ */
5
+ export declare class StringUtils {
6
+ /**
7
+ * decode a JWT
8
+ *
9
+ * @param authToken
10
+ */
11
+ static decodeAuthToken(authToken: string): DecodedAuthToken;
12
+ /**
13
+ * Check if a string is empty.
14
+ *
15
+ * @param str
16
+ */
17
+ static isEmpty(str?: string): boolean;
18
+ /**
19
+ * Check if stringified object is empty
20
+ * @param strObj
21
+ */
22
+ static isEmptyObj(strObj?: string): boolean;
23
+ static startsWith(str: string, search: string): boolean;
24
+ static endsWith(str: string, search: string): boolean;
25
+ /**
26
+ * Parses string into an object.
27
+ *
28
+ * @param query
29
+ */
30
+ static queryStringToObject<T>(query: string): T;
31
+ /**
32
+ * Trims entries in an array.
33
+ *
34
+ * @param arr
35
+ */
36
+ static trimArrayEntries(arr: Array<string>): Array<string>;
37
+ /**
38
+ * Removes empty strings from array
39
+ * @param arr
40
+ */
41
+ static removeEmptyStringsFromArray(arr: Array<string>): Array<string>;
42
+ /**
43
+ * Attempts to parse a string into JSON
44
+ * @param str
45
+ */
46
+ static jsonParseHelper<T>(str: string): T | null;
47
+ /**
48
+ * Tests if a given string matches a given pattern, with support for wildcards and queries.
49
+ * @param pattern Wildcard pattern to string match. Supports "*" for wildcards and "?" for queries
50
+ * @param input String to match against
51
+ */
52
+ static matchPattern(pattern: string, input: string): boolean;
53
+ }
54
54
  //# sourceMappingURL=StringUtils.d.ts.map
@@ -1,130 +1,130 @@
1
- /*! @azure/msal-common v14.0.0-alpha.1 2023-05-08 */
1
+ /*! @azure/msal-common v14.0.0-alpha.2 2023-05-17 */
2
2
  'use strict';
3
3
  import { ClientAuthError } from '../error/ClientAuthError.js';
4
4
 
5
- /*
6
- * Copyright (c) Microsoft Corporation. All rights reserved.
7
- * Licensed under the MIT License.
8
- */
9
- /**
10
- * @hidden
11
- */
12
- class StringUtils {
13
- /**
14
- * decode a JWT
15
- *
16
- * @param authToken
17
- */
18
- static decodeAuthToken(authToken) {
19
- if (StringUtils.isEmpty(authToken)) {
20
- throw ClientAuthError.createTokenNullOrEmptyError(authToken);
21
- }
22
- const tokenPartsRegex = /^([^\.\s]*)\.([^\.\s]+)\.([^\.\s]*)$/;
23
- const matches = tokenPartsRegex.exec(authToken);
24
- if (!matches || matches.length < 4) {
25
- throw ClientAuthError.createTokenParsingError(`Given token is malformed: ${JSON.stringify(authToken)}`);
26
- }
27
- const crackedToken = {
28
- header: matches[1],
29
- JWSPayload: matches[2],
30
- JWSSig: matches[3],
31
- };
32
- return crackedToken;
33
- }
34
- /**
35
- * Check if a string is empty.
36
- *
37
- * @param str
38
- */
39
- static isEmpty(str) {
40
- return typeof str === "undefined" || !str || 0 === str.length;
41
- }
42
- /**
43
- * Check if stringified object is empty
44
- * @param strObj
45
- */
46
- static isEmptyObj(strObj) {
47
- if (strObj && !StringUtils.isEmpty(strObj)) {
48
- try {
49
- const obj = JSON.parse(strObj);
50
- return Object.keys(obj).length === 0;
51
- }
52
- catch (e) { }
53
- }
54
- return true;
55
- }
56
- static startsWith(str, search) {
57
- return str.indexOf(search) === 0;
58
- }
59
- static endsWith(str, search) {
60
- return (str.length >= search.length &&
61
- str.lastIndexOf(search) === str.length - search.length);
62
- }
63
- /**
64
- * Parses string into an object.
65
- *
66
- * @param query
67
- */
68
- static queryStringToObject(query) {
69
- const obj = {};
70
- const params = query.split("&");
71
- const decode = (s) => decodeURIComponent(s.replace(/\+/g, " "));
72
- params.forEach((pair) => {
73
- if (pair.trim()) {
74
- const [key, value] = pair.split(/=(.+)/g, 2); // Split on the first occurence of the '=' character
75
- if (key && value) {
76
- obj[decode(key)] = decode(value);
77
- }
78
- }
79
- });
80
- return obj;
81
- }
82
- /**
83
- * Trims entries in an array.
84
- *
85
- * @param arr
86
- */
87
- static trimArrayEntries(arr) {
88
- return arr.map((entry) => entry.trim());
89
- }
90
- /**
91
- * Removes empty strings from array
92
- * @param arr
93
- */
94
- static removeEmptyStringsFromArray(arr) {
95
- return arr.filter((entry) => {
96
- return !StringUtils.isEmpty(entry);
97
- });
98
- }
99
- /**
100
- * Attempts to parse a string into JSON
101
- * @param str
102
- */
103
- static jsonParseHelper(str) {
104
- try {
105
- return JSON.parse(str);
106
- }
107
- catch (e) {
108
- return null;
109
- }
110
- }
111
- /**
112
- * Tests if a given string matches a given pattern, with support for wildcards and queries.
113
- * @param pattern Wildcard pattern to string match. Supports "*" for wildcards and "?" for queries
114
- * @param input String to match against
115
- */
116
- static matchPattern(pattern, input) {
117
- /**
118
- * Wildcard support: https://stackoverflow.com/a/3117248/4888559
119
- * Queries: replaces "?" in string with escaped "\?" for regex test
120
- */
121
- // eslint-disable-next-line security/detect-non-literal-regexp
122
- const regex = new RegExp(pattern
123
- .replace(/\\/g, "\\\\")
124
- .replace(/\*/g, "[^ ]*")
125
- .replace(/\?/g, "\\?"));
126
- return regex.test(input);
127
- }
5
+ /*
6
+ * Copyright (c) Microsoft Corporation. All rights reserved.
7
+ * Licensed under the MIT License.
8
+ */
9
+ /**
10
+ * @hidden
11
+ */
12
+ class StringUtils {
13
+ /**
14
+ * decode a JWT
15
+ *
16
+ * @param authToken
17
+ */
18
+ static decodeAuthToken(authToken) {
19
+ if (StringUtils.isEmpty(authToken)) {
20
+ throw ClientAuthError.createTokenNullOrEmptyError(authToken);
21
+ }
22
+ const tokenPartsRegex = /^([^\.\s]*)\.([^\.\s]+)\.([^\.\s]*)$/;
23
+ const matches = tokenPartsRegex.exec(authToken);
24
+ if (!matches || matches.length < 4) {
25
+ throw ClientAuthError.createTokenParsingError(`Given token is malformed: ${JSON.stringify(authToken)}`);
26
+ }
27
+ const crackedToken = {
28
+ header: matches[1],
29
+ JWSPayload: matches[2],
30
+ JWSSig: matches[3],
31
+ };
32
+ return crackedToken;
33
+ }
34
+ /**
35
+ * Check if a string is empty.
36
+ *
37
+ * @param str
38
+ */
39
+ static isEmpty(str) {
40
+ return typeof str === "undefined" || !str || 0 === str.length;
41
+ }
42
+ /**
43
+ * Check if stringified object is empty
44
+ * @param strObj
45
+ */
46
+ static isEmptyObj(strObj) {
47
+ if (strObj && !StringUtils.isEmpty(strObj)) {
48
+ try {
49
+ const obj = JSON.parse(strObj);
50
+ return Object.keys(obj).length === 0;
51
+ }
52
+ catch (e) { }
53
+ }
54
+ return true;
55
+ }
56
+ static startsWith(str, search) {
57
+ return str.indexOf(search) === 0;
58
+ }
59
+ static endsWith(str, search) {
60
+ return (str.length >= search.length &&
61
+ str.lastIndexOf(search) === str.length - search.length);
62
+ }
63
+ /**
64
+ * Parses string into an object.
65
+ *
66
+ * @param query
67
+ */
68
+ static queryStringToObject(query) {
69
+ const obj = {};
70
+ const params = query.split("&");
71
+ const decode = (s) => decodeURIComponent(s.replace(/\+/g, " "));
72
+ params.forEach((pair) => {
73
+ if (pair.trim()) {
74
+ const [key, value] = pair.split(/=(.+)/g, 2); // Split on the first occurence of the '=' character
75
+ if (key && value) {
76
+ obj[decode(key)] = decode(value);
77
+ }
78
+ }
79
+ });
80
+ return obj;
81
+ }
82
+ /**
83
+ * Trims entries in an array.
84
+ *
85
+ * @param arr
86
+ */
87
+ static trimArrayEntries(arr) {
88
+ return arr.map((entry) => entry.trim());
89
+ }
90
+ /**
91
+ * Removes empty strings from array
92
+ * @param arr
93
+ */
94
+ static removeEmptyStringsFromArray(arr) {
95
+ return arr.filter((entry) => {
96
+ return !StringUtils.isEmpty(entry);
97
+ });
98
+ }
99
+ /**
100
+ * Attempts to parse a string into JSON
101
+ * @param str
102
+ */
103
+ static jsonParseHelper(str) {
104
+ try {
105
+ return JSON.parse(str);
106
+ }
107
+ catch (e) {
108
+ return null;
109
+ }
110
+ }
111
+ /**
112
+ * Tests if a given string matches a given pattern, with support for wildcards and queries.
113
+ * @param pattern Wildcard pattern to string match. Supports "*" for wildcards and "?" for queries
114
+ * @param input String to match against
115
+ */
116
+ static matchPattern(pattern, input) {
117
+ /**
118
+ * Wildcard support: https://stackoverflow.com/a/3117248/4888559
119
+ * Queries: replaces "?" in string with escaped "\?" for regex test
120
+ */
121
+ // eslint-disable-next-line security/detect-non-literal-regexp
122
+ const regex = new RegExp(pattern
123
+ .replace(/\\/g, "\\\\")
124
+ .replace(/\*/g, "[^ ]*")
125
+ .replace(/\?/g, "\\?"));
126
+ return regex.test(input);
127
+ }
128
128
  }
129
129
 
130
130
  export { StringUtils };
@@ -1,28 +1,28 @@
1
- /**
2
- * Utility class which exposes functions for managing date and time operations.
3
- */
4
- export declare class TimeUtils {
5
- /**
6
- * return the current time in Unix time (seconds).
7
- */
8
- static nowSeconds(): number;
9
- /**
10
- * check if a token is expired based on given UTC time in seconds.
11
- * @param expiresOn
12
- */
13
- static isTokenExpired(expiresOn: string, offset: number): boolean;
14
- /**
15
- * If the current time is earlier than the time that a token was cached at, we must discard the token
16
- * i.e. The system clock was turned back after acquiring the cached token
17
- * @param cachedAt
18
- * @param offset
19
- */
20
- static wasClockTurnedBack(cachedAt: string): boolean;
21
- /**
22
- * Waits for t number of milliseconds
23
- * @param t number
24
- * @param value T
25
- */
26
- static delay<T>(t: number, value?: T): Promise<T | void>;
27
- }
1
+ /**
2
+ * Utility class which exposes functions for managing date and time operations.
3
+ */
4
+ export declare class TimeUtils {
5
+ /**
6
+ * return the current time in Unix time (seconds).
7
+ */
8
+ static nowSeconds(): number;
9
+ /**
10
+ * check if a token is expired based on given UTC time in seconds.
11
+ * @param expiresOn
12
+ */
13
+ static isTokenExpired(expiresOn: string, offset: number): boolean;
14
+ /**
15
+ * If the current time is earlier than the time that a token was cached at, we must discard the token
16
+ * i.e. The system clock was turned back after acquiring the cached token
17
+ * @param cachedAt
18
+ * @param offset
19
+ */
20
+ static wasClockTurnedBack(cachedAt: string): boolean;
21
+ /**
22
+ * Waits for t number of milliseconds
23
+ * @param t number
24
+ * @param value T
25
+ */
26
+ static delay<T>(t: number, value?: T): Promise<T | void>;
27
+ }
28
28
  //# sourceMappingURL=TimeUtils.d.ts.map