@azure/msal-common 14.1.0-alpha.0 → 14.1.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 (205) hide show
  1. package/dist/account/AccountInfo.d.ts +31 -32
  2. package/dist/account/AccountInfo.d.ts.map +1 -1
  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 +19 -19
  9. package/dist/account/ClientInfo.mjs +37 -37
  10. package/dist/account/TokenClaims.d.ts +65 -65
  11. package/dist/authority/Authority.d.ts +235 -235
  12. package/dist/authority/Authority.mjs +738 -738
  13. package/dist/authority/AuthorityFactory.d.ts +31 -31
  14. package/dist/authority/AuthorityFactory.mjs +47 -47
  15. package/dist/authority/AuthorityMetadata.d.ts +623 -623
  16. package/dist/authority/AuthorityMetadata.mjs +884 -884
  17. package/dist/authority/AuthorityOptions.d.ts +21 -21
  18. package/dist/authority/AuthorityOptions.mjs +18 -18
  19. package/dist/authority/AuthorityType.d.ts +10 -10
  20. package/dist/authority/AuthorityType.mjs +13 -13
  21. package/dist/authority/AzureRegion.d.ts +1 -1
  22. package/dist/authority/AzureRegionConfiguration.d.ts +5 -5
  23. package/dist/authority/CloudDiscoveryMetadata.d.ts +5 -5
  24. package/dist/authority/CloudInstanceDiscoveryErrorResponse.d.ts +13 -13
  25. package/dist/authority/CloudInstanceDiscoveryErrorResponse.mjs +8 -8
  26. package/dist/authority/CloudInstanceDiscoveryResponse.d.ts +9 -9
  27. package/dist/authority/CloudInstanceDiscoveryResponse.mjs +8 -8
  28. package/dist/authority/ImdsOptions.d.ts +5 -5
  29. package/dist/authority/OIDCOptions.d.ts +8 -8
  30. package/dist/authority/OpenIdConfigResponse.d.ts +11 -11
  31. package/dist/authority/OpenIdConfigResponse.mjs +10 -10
  32. package/dist/authority/ProtocolMode.d.ts +8 -8
  33. package/dist/authority/ProtocolMode.mjs +11 -11
  34. package/dist/authority/RegionDiscovery.d.ts +32 -32
  35. package/dist/authority/RegionDiscovery.mjs +106 -106
  36. package/dist/authority/RegionDiscoveryMetadata.d.ts +6 -6
  37. package/dist/broker/nativeBroker/INativeBrokerPlugin.d.ts +15 -15
  38. package/dist/cache/CacheManager.d.ts +464 -446
  39. package/dist/cache/CacheManager.d.ts.map +1 -1
  40. package/dist/cache/CacheManager.mjs +1049 -998
  41. package/dist/cache/CacheManager.mjs.map +1 -1
  42. package/dist/cache/entities/AccessTokenEntity.d.ts +56 -56
  43. package/dist/cache/entities/AccessTokenEntity.mjs +109 -109
  44. package/dist/cache/entities/AccountEntity.d.ts +101 -101
  45. package/dist/cache/entities/AccountEntity.mjs +220 -220
  46. package/dist/cache/entities/AppMetadataEntity.d.ts +39 -39
  47. package/dist/cache/entities/AppMetadataEntity.mjs +66 -66
  48. package/dist/cache/entities/AuthorityMetadataEntity.d.ts +48 -48
  49. package/dist/cache/entities/AuthorityMetadataEntity.mjs +78 -78
  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 +88 -88
  53. package/dist/cache/entities/CredentialEntity.mjs +136 -136
  54. package/dist/cache/entities/IdTokenEntity.d.ts +34 -34
  55. package/dist/cache/entities/IdTokenEntity.mjs +56 -56
  56. package/dist/cache/entities/RefreshTokenEntity.d.ts +36 -36
  57. package/dist/cache/entities/RefreshTokenEntity.mjs +59 -59
  58. package/dist/cache/entities/ServerTelemetryEntity.d.ts +12 -12
  59. package/dist/cache/entities/ServerTelemetryEntity.mjs +27 -27
  60. package/dist/cache/entities/ThrottlingEntity.d.ts +13 -13
  61. package/dist/cache/entities/ThrottlingEntity.mjs +23 -23
  62. package/dist/cache/interface/ICacheManager.d.ts +166 -166
  63. package/dist/cache/interface/ICachePlugin.d.ts +5 -5
  64. package/dist/cache/interface/ISerializableTokenCache.d.ts +4 -4
  65. package/dist/cache/persistence/TokenCacheContext.d.ts +23 -23
  66. package/dist/cache/persistence/TokenCacheContext.mjs +25 -25
  67. package/dist/cache/utils/CacheTypes.d.ts +66 -69
  68. package/dist/cache/utils/CacheTypes.d.ts.map +1 -1
  69. package/dist/client/AuthorizationCodeClient.d.ts +73 -73
  70. package/dist/client/AuthorizationCodeClient.d.ts.map +1 -1
  71. package/dist/client/AuthorizationCodeClient.mjs +408 -407
  72. package/dist/client/AuthorizationCodeClient.mjs.map +1 -1
  73. package/dist/client/BaseClient.d.ts +51 -51
  74. package/dist/client/BaseClient.mjs +98 -98
  75. package/dist/client/RefreshTokenClient.d.ts +35 -35
  76. package/dist/client/RefreshTokenClient.d.ts.map +1 -1
  77. package/dist/client/RefreshTokenClient.mjs +187 -179
  78. package/dist/client/RefreshTokenClient.mjs.map +1 -1
  79. package/dist/client/SilentFlowClient.d.ts +26 -26
  80. package/dist/client/SilentFlowClient.mjs +123 -123
  81. package/dist/config/AppTokenProvider.d.ts +38 -38
  82. package/dist/config/ClientConfiguration.d.ts +150 -150
  83. package/dist/config/ClientConfiguration.mjs +97 -97
  84. package/dist/crypto/ICrypto.d.ts +58 -62
  85. package/dist/crypto/ICrypto.d.ts.map +1 -1
  86. package/dist/crypto/ICrypto.mjs +30 -33
  87. package/dist/crypto/ICrypto.mjs.map +1 -1
  88. package/dist/crypto/IGuidGenerator.d.ts +4 -4
  89. package/dist/crypto/JoseHeader.d.ts +22 -22
  90. package/dist/crypto/JoseHeader.mjs +37 -37
  91. package/dist/crypto/PopTokenGenerator.d.ts +60 -60
  92. package/dist/crypto/PopTokenGenerator.mjs +82 -82
  93. package/dist/crypto/SignedHttpRequest.d.ts +11 -11
  94. package/dist/error/AuthError.d.ts +44 -44
  95. package/dist/error/AuthError.mjs +46 -46
  96. package/dist/error/AuthErrorCodes.d.ts +5 -5
  97. package/dist/error/AuthErrorCodes.mjs +9 -9
  98. package/dist/error/ClientAuthError.d.ts +232 -232
  99. package/dist/error/ClientAuthError.mjs +244 -244
  100. package/dist/error/ClientAuthErrorCodes.d.ts +43 -43
  101. package/dist/error/ClientAuthErrorCodes.mjs +47 -47
  102. package/dist/error/ClientConfigurationError.d.ts +128 -128
  103. package/dist/error/ClientConfigurationError.mjs +135 -135
  104. package/dist/error/ClientConfigurationErrorCodes.d.ts +22 -22
  105. package/dist/error/ClientConfigurationErrorCodes.mjs +26 -26
  106. package/dist/error/InteractionRequiredAuthError.d.ts +57 -57
  107. package/dist/error/InteractionRequiredAuthError.mjs +76 -76
  108. package/dist/error/InteractionRequiredAuthErrorCodes.d.ts +5 -5
  109. package/dist/error/InteractionRequiredAuthErrorCodes.mjs +11 -11
  110. package/dist/error/JoseHeaderError.d.ts +15 -15
  111. package/dist/error/JoseHeaderError.mjs +22 -22
  112. package/dist/error/JoseHeaderErrorCodes.d.ts +2 -2
  113. package/dist/error/JoseHeaderErrorCodes.mjs +6 -6
  114. package/dist/error/ServerError.d.ts +7 -7
  115. package/dist/error/ServerError.mjs +14 -14
  116. package/dist/index.cjs +8672 -8608
  117. package/dist/index.cjs.map +1 -1
  118. package/dist/index.d.ts +96 -96
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.mjs +1 -1
  121. package/dist/logger/Logger.d.ts +95 -95
  122. package/dist/logger/Logger.mjs +188 -188
  123. package/dist/network/INetworkModule.d.ts +29 -29
  124. package/dist/network/INetworkModule.mjs +12 -12
  125. package/dist/network/NetworkManager.d.ts +33 -33
  126. package/dist/network/NetworkManager.mjs +34 -34
  127. package/dist/network/RequestThumbprint.d.ts +16 -16
  128. package/dist/network/ThrottlingUtils.d.ts +42 -42
  129. package/dist/network/ThrottlingUtils.mjs +95 -95
  130. package/dist/packageMetadata.d.ts +2 -2
  131. package/dist/packageMetadata.mjs +4 -4
  132. package/dist/request/AuthenticationHeaderParser.d.ts +19 -19
  133. package/dist/request/AuthenticationHeaderParser.mjs +55 -55
  134. package/dist/request/BaseAuthRequest.d.ts +40 -40
  135. package/dist/request/CommonAuthorizationCodeRequest.d.ts +27 -27
  136. package/dist/request/CommonAuthorizationUrlRequest.d.ts +50 -50
  137. package/dist/request/CommonClientCredentialRequest.d.ts +17 -17
  138. package/dist/request/CommonDeviceCodeRequest.d.ts +21 -21
  139. package/dist/request/CommonEndSessionRequest.d.ts +21 -21
  140. package/dist/request/CommonOnBehalfOfRequest.d.ts +13 -13
  141. package/dist/request/CommonRefreshTokenRequest.d.ts +22 -19
  142. package/dist/request/CommonRefreshTokenRequest.d.ts.map +1 -1
  143. package/dist/request/CommonSilentFlowRequest.d.ts +20 -18
  144. package/dist/request/CommonSilentFlowRequest.d.ts.map +1 -1
  145. package/dist/request/CommonUsernamePasswordRequest.d.ts +17 -17
  146. package/dist/request/NativeRequest.d.ts +19 -19
  147. package/dist/request/NativeSignOutRequest.d.ts +5 -5
  148. package/dist/request/RequestParameterBuilder.d.ts +217 -217
  149. package/dist/request/RequestParameterBuilder.mjs +381 -381
  150. package/dist/request/RequestValidator.d.ts +33 -33
  151. package/dist/request/RequestValidator.mjs +81 -81
  152. package/dist/request/ScopeSet.d.ts +88 -88
  153. package/dist/request/ScopeSet.mjs +197 -197
  154. package/dist/request/StoreInCache.d.ts +8 -8
  155. package/dist/response/AuthenticationResult.d.ts +41 -41
  156. package/dist/response/AuthorizationCodePayload.d.ts +13 -13
  157. package/dist/response/DeviceCodeResponse.d.ts +25 -25
  158. package/dist/response/ExternalTokenResponse.d.ts +15 -15
  159. package/dist/response/IMDSBadResponse.d.ts +4 -4
  160. package/dist/response/ResponseHandler.d.ts +67 -67
  161. package/dist/response/ResponseHandler.mjs +311 -311
  162. package/dist/response/ServerAuthorizationCodeResponse.d.ts +25 -25
  163. package/dist/response/ServerAuthorizationTokenResponse.d.ts +46 -46
  164. package/dist/telemetry/performance/IPerformanceClient.d.ts +51 -51
  165. package/dist/telemetry/performance/IPerformanceMeasurement.d.ts +5 -5
  166. package/dist/telemetry/performance/PerformanceClient.d.ts +191 -191
  167. package/dist/telemetry/performance/PerformanceClient.mjs +409 -409
  168. package/dist/telemetry/performance/PerformanceEvent.d.ts +441 -433
  169. package/dist/telemetry/performance/PerformanceEvent.d.ts.map +1 -1
  170. package/dist/telemetry/performance/PerformanceEvent.mjs +242 -234
  171. package/dist/telemetry/performance/PerformanceEvent.mjs.map +1 -1
  172. package/dist/telemetry/performance/StubPerformanceClient.d.ts +24 -24
  173. package/dist/telemetry/performance/StubPerformanceClient.mjs +76 -76
  174. package/dist/telemetry/server/ServerTelemetryManager.d.ts +66 -66
  175. package/dist/telemetry/server/ServerTelemetryManager.mjs +197 -197
  176. package/dist/telemetry/server/ServerTelemetryRequest.d.ts +8 -8
  177. package/dist/url/IUri.d.ts +12 -12
  178. package/dist/url/UrlString.d.ts +83 -83
  179. package/dist/url/UrlString.mjs +279 -279
  180. package/dist/utils/Constants.d.ts +366 -366
  181. package/dist/utils/Constants.mjs +376 -376
  182. package/dist/utils/FunctionWrappers.d.ts +27 -27
  183. package/dist/utils/FunctionWrappers.d.ts.map +1 -1
  184. package/dist/utils/FunctionWrappers.mjs +84 -85
  185. package/dist/utils/FunctionWrappers.mjs.map +1 -1
  186. package/dist/utils/MsalTypes.d.ts +6 -6
  187. package/dist/utils/ProtocolUtils.d.ts +42 -42
  188. package/dist/utils/ProtocolUtils.mjs +69 -69
  189. package/dist/utils/StringUtils.d.ts +40 -40
  190. package/dist/utils/StringUtils.mjs +95 -95
  191. package/dist/utils/TimeUtils.d.ts +27 -27
  192. package/dist/utils/TimeUtils.mjs +45 -45
  193. package/package.json +1 -1
  194. package/src/account/AccountInfo.ts +0 -1
  195. package/src/cache/CacheManager.ts +96 -18
  196. package/src/cache/utils/CacheTypes.ts +6 -6
  197. package/src/client/AuthorizationCodeClient.ts +3 -1
  198. package/src/client/RefreshTokenClient.ts +19 -2
  199. package/src/crypto/ICrypto.ts +0 -7
  200. package/src/index.ts +1 -0
  201. package/src/packageMetadata.ts +1 -1
  202. package/src/request/CommonRefreshTokenRequest.ts +3 -0
  203. package/src/request/CommonSilentFlowRequest.ts +2 -0
  204. package/src/telemetry/performance/PerformanceEvent.ts +9 -0
  205. package/src/utils/FunctionWrappers.ts +0 -1
@@ -1,144 +1,144 @@
1
- /*! @azure/msal-common v14.1.0-alpha.0 2023-09-20 */
1
+ /*! @azure/msal-common v14.1.0 2023-10-05 */
2
2
  'use strict';
3
3
  import { CredentialType, CacheType, Separators, Constants, AuthenticationScheme } from '../../utils/Constants.mjs';
4
4
  import { createClientAuthError } from '../../error/ClientAuthError.mjs';
5
5
  import { unexpectedCredentialType } from '../../error/ClientAuthErrorCodes.mjs';
6
6
 
7
- /*
8
- * Copyright (c) Microsoft Corporation. All rights reserved.
9
- * Licensed under the MIT License.
10
- */
11
- /**
12
- * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc
13
- *
14
- * Key:Value Schema:
15
- *
16
- * Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<requestedClaims*>-<scheme*>
17
- *
18
- * Value Schema:
19
- * {
20
- * homeAccountId: home account identifier for the auth scheme,
21
- * environment: entity that issued the token, represented as a full host
22
- * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
23
- * clientId: client ID of the application
24
- * secret: Actual credential as a string
25
- * familyId: Family ID identifier, usually only used for refresh tokens
26
- * realm: Full tenant or organizational identifier that the account belongs to
27
- * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
28
- * tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop)
29
- * requestedClaimsHash: Matches the SHA 256 hash of the claims object included in the token request
30
- * userAssertionHash: Matches the SHA 256 hash of the obo_assertion for the OBO flow
31
- * }
32
- */
33
- class CredentialEntity {
34
- /**
35
- * Generate Account Id key component as per the schema: <home_account_id>-<environment>
36
- */
37
- generateAccountId() {
38
- return CredentialEntity.generateAccountIdForCacheKey(this.homeAccountId, this.environment);
39
- }
40
- /**
41
- * Generate Credential Id key component as per the schema: <credential_type>-<client_id>-<realm>
42
- */
43
- generateCredentialId() {
44
- return CredentialEntity.generateCredentialIdForCacheKey(this.credentialType, this.clientId, this.realm, this.familyId);
45
- }
46
- /**
47
- * Generate target key component as per schema: <target>
48
- */
49
- generateTarget() {
50
- return CredentialEntity.generateTargetForCacheKey(this.target);
51
- }
52
- /**
53
- * generates credential key
54
- */
55
- generateCredentialKey() {
56
- return CredentialEntity.generateCredentialCacheKey(this.homeAccountId, this.environment, this.credentialType, this.clientId, this.realm, this.target, this.familyId, this.tokenType, this.requestedClaimsHash);
57
- }
58
- /**
59
- * returns the type of the cache (in this case credential)
60
- */
61
- generateType() {
62
- switch (this.credentialType) {
63
- case CredentialType.ID_TOKEN:
64
- return CacheType.ID_TOKEN;
65
- case CredentialType.ACCESS_TOKEN:
66
- case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:
67
- return CacheType.ACCESS_TOKEN;
68
- case CredentialType.REFRESH_TOKEN:
69
- return CacheType.REFRESH_TOKEN;
70
- default: {
71
- throw createClientAuthError(unexpectedCredentialType);
72
- }
73
- }
74
- }
75
- /**
76
- * generates credential key
77
- * <home_account_id*>-\<environment>-<credential_type>-<client_id>-<realm\*>-<target\*>-<scheme\*>
78
- */
79
- static generateCredentialCacheKey(homeAccountId, environment, credentialType, clientId, realm, target, familyId, tokenType, requestedClaimsHash) {
80
- const credentialKey = [
81
- this.generateAccountIdForCacheKey(homeAccountId, environment),
82
- this.generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId),
83
- this.generateTargetForCacheKey(target),
84
- this.generateClaimsHashForCacheKey(requestedClaimsHash),
85
- this.generateSchemeForCacheKey(tokenType),
86
- ];
87
- return credentialKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
88
- }
89
- /**
90
- * generates Account Id for keys
91
- * @param homeAccountId
92
- * @param environment
93
- */
94
- static generateAccountIdForCacheKey(homeAccountId, environment) {
95
- const accountId = [homeAccountId, environment];
96
- return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
97
- }
98
- /**
99
- * Generates Credential Id for keys
100
- * @param credentialType
101
- * @param realm
102
- * @param clientId
103
- * @param familyId
104
- */
105
- static generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId) {
106
- const clientOrFamilyId = credentialType === CredentialType.REFRESH_TOKEN
107
- ? familyId || clientId
108
- : clientId;
109
- const credentialId = [
110
- credentialType,
111
- clientOrFamilyId,
112
- realm || Constants.EMPTY_STRING,
113
- ];
114
- return credentialId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
115
- }
116
- /**
117
- * Generate target key component as per schema: <target>
118
- */
119
- static generateTargetForCacheKey(scopes) {
120
- return (scopes || Constants.EMPTY_STRING).toLowerCase();
121
- }
122
- /**
123
- * Generate requested claims key component as per schema: <requestedClaims>
124
- */
125
- static generateClaimsHashForCacheKey(requestedClaimsHash) {
126
- return (requestedClaimsHash || Constants.EMPTY_STRING).toLowerCase();
127
- }
128
- /**
129
- * Generate scheme key componenet as per schema: <scheme>
130
- */
131
- static generateSchemeForCacheKey(tokenType) {
132
- /*
133
- * PoP Tokens and SSH certs include scheme in cache key
134
- * Cast to lowercase to handle "bearer" from ADFS
135
- */
136
- return tokenType &&
137
- tokenType.toLowerCase() !==
138
- AuthenticationScheme.BEARER.toLowerCase()
139
- ? tokenType.toLowerCase()
140
- : Constants.EMPTY_STRING;
141
- }
7
+ /*
8
+ * Copyright (c) Microsoft Corporation. All rights reserved.
9
+ * Licensed under the MIT License.
10
+ */
11
+ /**
12
+ * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc
13
+ *
14
+ * Key:Value Schema:
15
+ *
16
+ * Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<requestedClaims*>-<scheme*>
17
+ *
18
+ * Value Schema:
19
+ * {
20
+ * homeAccountId: home account identifier for the auth scheme,
21
+ * environment: entity that issued the token, represented as a full host
22
+ * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
23
+ * clientId: client ID of the application
24
+ * secret: Actual credential as a string
25
+ * familyId: Family ID identifier, usually only used for refresh tokens
26
+ * realm: Full tenant or organizational identifier that the account belongs to
27
+ * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
28
+ * tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop)
29
+ * requestedClaimsHash: Matches the SHA 256 hash of the claims object included in the token request
30
+ * userAssertionHash: Matches the SHA 256 hash of the obo_assertion for the OBO flow
31
+ * }
32
+ */
33
+ class CredentialEntity {
34
+ /**
35
+ * Generate Account Id key component as per the schema: <home_account_id>-<environment>
36
+ */
37
+ generateAccountId() {
38
+ return CredentialEntity.generateAccountIdForCacheKey(this.homeAccountId, this.environment);
39
+ }
40
+ /**
41
+ * Generate Credential Id key component as per the schema: <credential_type>-<client_id>-<realm>
42
+ */
43
+ generateCredentialId() {
44
+ return CredentialEntity.generateCredentialIdForCacheKey(this.credentialType, this.clientId, this.realm, this.familyId);
45
+ }
46
+ /**
47
+ * Generate target key component as per schema: <target>
48
+ */
49
+ generateTarget() {
50
+ return CredentialEntity.generateTargetForCacheKey(this.target);
51
+ }
52
+ /**
53
+ * generates credential key
54
+ */
55
+ generateCredentialKey() {
56
+ return CredentialEntity.generateCredentialCacheKey(this.homeAccountId, this.environment, this.credentialType, this.clientId, this.realm, this.target, this.familyId, this.tokenType, this.requestedClaimsHash);
57
+ }
58
+ /**
59
+ * returns the type of the cache (in this case credential)
60
+ */
61
+ generateType() {
62
+ switch (this.credentialType) {
63
+ case CredentialType.ID_TOKEN:
64
+ return CacheType.ID_TOKEN;
65
+ case CredentialType.ACCESS_TOKEN:
66
+ case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME:
67
+ return CacheType.ACCESS_TOKEN;
68
+ case CredentialType.REFRESH_TOKEN:
69
+ return CacheType.REFRESH_TOKEN;
70
+ default: {
71
+ throw createClientAuthError(unexpectedCredentialType);
72
+ }
73
+ }
74
+ }
75
+ /**
76
+ * generates credential key
77
+ * <home_account_id*>-\<environment>-<credential_type>-<client_id>-<realm\*>-<target\*>-<scheme\*>
78
+ */
79
+ static generateCredentialCacheKey(homeAccountId, environment, credentialType, clientId, realm, target, familyId, tokenType, requestedClaimsHash) {
80
+ const credentialKey = [
81
+ this.generateAccountIdForCacheKey(homeAccountId, environment),
82
+ this.generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId),
83
+ this.generateTargetForCacheKey(target),
84
+ this.generateClaimsHashForCacheKey(requestedClaimsHash),
85
+ this.generateSchemeForCacheKey(tokenType),
86
+ ];
87
+ return credentialKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
88
+ }
89
+ /**
90
+ * generates Account Id for keys
91
+ * @param homeAccountId
92
+ * @param environment
93
+ */
94
+ static generateAccountIdForCacheKey(homeAccountId, environment) {
95
+ const accountId = [homeAccountId, environment];
96
+ return accountId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
97
+ }
98
+ /**
99
+ * Generates Credential Id for keys
100
+ * @param credentialType
101
+ * @param realm
102
+ * @param clientId
103
+ * @param familyId
104
+ */
105
+ static generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId) {
106
+ const clientOrFamilyId = credentialType === CredentialType.REFRESH_TOKEN
107
+ ? familyId || clientId
108
+ : clientId;
109
+ const credentialId = [
110
+ credentialType,
111
+ clientOrFamilyId,
112
+ realm || Constants.EMPTY_STRING,
113
+ ];
114
+ return credentialId.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase();
115
+ }
116
+ /**
117
+ * Generate target key component as per schema: <target>
118
+ */
119
+ static generateTargetForCacheKey(scopes) {
120
+ return (scopes || Constants.EMPTY_STRING).toLowerCase();
121
+ }
122
+ /**
123
+ * Generate requested claims key component as per schema: <requestedClaims>
124
+ */
125
+ static generateClaimsHashForCacheKey(requestedClaimsHash) {
126
+ return (requestedClaimsHash || Constants.EMPTY_STRING).toLowerCase();
127
+ }
128
+ /**
129
+ * Generate scheme key componenet as per schema: <scheme>
130
+ */
131
+ static generateSchemeForCacheKey(tokenType) {
132
+ /*
133
+ * PoP Tokens and SSH certs include scheme in cache key
134
+ * Cast to lowercase to handle "bearer" from ADFS
135
+ */
136
+ return tokenType &&
137
+ tokenType.toLowerCase() !==
138
+ AuthenticationScheme.BEARER.toLowerCase()
139
+ ? tokenType.toLowerCase()
140
+ : Constants.EMPTY_STRING;
141
+ }
142
142
  }
143
143
 
144
144
  export { CredentialEntity };
@@ -1,35 +1,35 @@
1
- import { CredentialEntity } from "./CredentialEntity";
2
- /**
3
- * ID_TOKEN Cache
4
- *
5
- * Key:Value Schema:
6
- *
7
- * Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-
8
- *
9
- * Value Schema:
10
- * {
11
- * homeAccountId: home account identifier for the auth scheme,
12
- * environment: entity that issued the token, represented as a full host
13
- * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
14
- * clientId: client ID of the application
15
- * secret: Actual credential as a string
16
- * realm: Full tenant or organizational identifier that the account belongs to
17
- * }
18
- */
19
- export declare class IdTokenEntity extends CredentialEntity {
20
- realm: string;
21
- /**
22
- * Create IdTokenEntity
23
- * @param homeAccountId
24
- * @param authenticationResult
25
- * @param clientId
26
- * @param authority
27
- */
28
- static createIdTokenEntity(homeAccountId: string, environment: string, idToken: string, clientId: string, tenantId: string): IdTokenEntity;
29
- /**
30
- * Validates an entity: checks for all expected params
31
- * @param entity
32
- */
33
- static isIdTokenEntity(entity: object): boolean;
34
- }
1
+ import { CredentialEntity } from "./CredentialEntity";
2
+ /**
3
+ * ID_TOKEN Cache
4
+ *
5
+ * Key:Value Schema:
6
+ *
7
+ * Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-
8
+ *
9
+ * Value Schema:
10
+ * {
11
+ * homeAccountId: home account identifier for the auth scheme,
12
+ * environment: entity that issued the token, represented as a full host
13
+ * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
14
+ * clientId: client ID of the application
15
+ * secret: Actual credential as a string
16
+ * realm: Full tenant or organizational identifier that the account belongs to
17
+ * }
18
+ */
19
+ export declare class IdTokenEntity extends CredentialEntity {
20
+ realm: string;
21
+ /**
22
+ * Create IdTokenEntity
23
+ * @param homeAccountId
24
+ * @param authenticationResult
25
+ * @param clientId
26
+ * @param authority
27
+ */
28
+ static createIdTokenEntity(homeAccountId: string, environment: string, idToken: string, clientId: string, tenantId: string): IdTokenEntity;
29
+ /**
30
+ * Validates an entity: checks for all expected params
31
+ * @param entity
32
+ */
33
+ static isIdTokenEntity(entity: object): boolean;
34
+ }
35
35
  //# sourceMappingURL=IdTokenEntity.d.ts.map
@@ -1,63 +1,63 @@
1
- /*! @azure/msal-common v14.1.0-alpha.0 2023-09-20 */
1
+ /*! @azure/msal-common v14.1.0 2023-10-05 */
2
2
  'use strict';
3
3
  import { CredentialEntity } from './CredentialEntity.mjs';
4
4
  import { CredentialType } from '../../utils/Constants.mjs';
5
5
 
6
- /*
7
- * Copyright (c) Microsoft Corporation. All rights reserved.
8
- * Licensed under the MIT License.
9
- */
10
- /**
11
- * ID_TOKEN Cache
12
- *
13
- * Key:Value Schema:
14
- *
15
- * Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-
16
- *
17
- * Value Schema:
18
- * {
19
- * homeAccountId: home account identifier for the auth scheme,
20
- * environment: entity that issued the token, represented as a full host
21
- * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
22
- * clientId: client ID of the application
23
- * secret: Actual credential as a string
24
- * realm: Full tenant or organizational identifier that the account belongs to
25
- * }
26
- */
27
- class IdTokenEntity extends CredentialEntity {
28
- /**
29
- * Create IdTokenEntity
30
- * @param homeAccountId
31
- * @param authenticationResult
32
- * @param clientId
33
- * @param authority
34
- */
35
- static createIdTokenEntity(homeAccountId, environment, idToken, clientId, tenantId) {
36
- const idTokenEntity = new IdTokenEntity();
37
- idTokenEntity.credentialType = CredentialType.ID_TOKEN;
38
- idTokenEntity.homeAccountId = homeAccountId;
39
- idTokenEntity.environment = environment;
40
- idTokenEntity.clientId = clientId;
41
- idTokenEntity.secret = idToken;
42
- idTokenEntity.realm = tenantId;
43
- return idTokenEntity;
44
- }
45
- /**
46
- * Validates an entity: checks for all expected params
47
- * @param entity
48
- */
49
- static isIdTokenEntity(entity) {
50
- if (!entity) {
51
- return false;
52
- }
53
- return (entity.hasOwnProperty("homeAccountId") &&
54
- entity.hasOwnProperty("environment") &&
55
- entity.hasOwnProperty("credentialType") &&
56
- entity.hasOwnProperty("realm") &&
57
- entity.hasOwnProperty("clientId") &&
58
- entity.hasOwnProperty("secret") &&
59
- entity["credentialType"] === CredentialType.ID_TOKEN);
60
- }
6
+ /*
7
+ * Copyright (c) Microsoft Corporation. All rights reserved.
8
+ * Licensed under the MIT License.
9
+ */
10
+ /**
11
+ * ID_TOKEN Cache
12
+ *
13
+ * Key:Value Schema:
14
+ *
15
+ * Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-
16
+ *
17
+ * Value Schema:
18
+ * {
19
+ * homeAccountId: home account identifier for the auth scheme,
20
+ * environment: entity that issued the token, represented as a full host
21
+ * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
22
+ * clientId: client ID of the application
23
+ * secret: Actual credential as a string
24
+ * realm: Full tenant or organizational identifier that the account belongs to
25
+ * }
26
+ */
27
+ class IdTokenEntity extends CredentialEntity {
28
+ /**
29
+ * Create IdTokenEntity
30
+ * @param homeAccountId
31
+ * @param authenticationResult
32
+ * @param clientId
33
+ * @param authority
34
+ */
35
+ static createIdTokenEntity(homeAccountId, environment, idToken, clientId, tenantId) {
36
+ const idTokenEntity = new IdTokenEntity();
37
+ idTokenEntity.credentialType = CredentialType.ID_TOKEN;
38
+ idTokenEntity.homeAccountId = homeAccountId;
39
+ idTokenEntity.environment = environment;
40
+ idTokenEntity.clientId = clientId;
41
+ idTokenEntity.secret = idToken;
42
+ idTokenEntity.realm = tenantId;
43
+ return idTokenEntity;
44
+ }
45
+ /**
46
+ * Validates an entity: checks for all expected params
47
+ * @param entity
48
+ */
49
+ static isIdTokenEntity(entity) {
50
+ if (!entity) {
51
+ return false;
52
+ }
53
+ return (entity.hasOwnProperty("homeAccountId") &&
54
+ entity.hasOwnProperty("environment") &&
55
+ entity.hasOwnProperty("credentialType") &&
56
+ entity.hasOwnProperty("realm") &&
57
+ entity.hasOwnProperty("clientId") &&
58
+ entity.hasOwnProperty("secret") &&
59
+ entity["credentialType"] === CredentialType.ID_TOKEN);
60
+ }
61
61
  }
62
62
 
63
63
  export { IdTokenEntity };
@@ -1,37 +1,37 @@
1
- import { CredentialEntity } from "./CredentialEntity";
2
- /**
3
- * REFRESH_TOKEN Cache
4
- *
5
- * Key:Value Schema:
6
- *
7
- * Key Example: uid.utid-login.microsoftonline.com-refreshtoken-clientId--
8
- *
9
- * Value:
10
- * {
11
- * homeAccountId: home account identifier for the auth scheme,
12
- * environment: entity that issued the token, represented as a full host
13
- * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
14
- * clientId: client ID of the application
15
- * secret: Actual credential as a string
16
- * familyId: Family ID identifier, '1' represents Microsoft Family
17
- * realm: Full tenant or organizational identifier that the account belongs to
18
- * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
19
- * }
20
- */
21
- export declare class RefreshTokenEntity extends CredentialEntity {
22
- familyId?: string;
23
- /**
24
- * Create RefreshTokenEntity
25
- * @param homeAccountId
26
- * @param authenticationResult
27
- * @param clientId
28
- * @param authority
29
- */
30
- static createRefreshTokenEntity(homeAccountId: string, environment: string, refreshToken: string, clientId: string, familyId?: string, userAssertionHash?: string): RefreshTokenEntity;
31
- /**
32
- * Validates an entity: checks for all expected params
33
- * @param entity
34
- */
35
- static isRefreshTokenEntity(entity: object): boolean;
36
- }
1
+ import { CredentialEntity } from "./CredentialEntity";
2
+ /**
3
+ * REFRESH_TOKEN Cache
4
+ *
5
+ * Key:Value Schema:
6
+ *
7
+ * Key Example: uid.utid-login.microsoftonline.com-refreshtoken-clientId--
8
+ *
9
+ * Value:
10
+ * {
11
+ * homeAccountId: home account identifier for the auth scheme,
12
+ * environment: entity that issued the token, represented as a full host
13
+ * credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
14
+ * clientId: client ID of the application
15
+ * secret: Actual credential as a string
16
+ * familyId: Family ID identifier, '1' represents Microsoft Family
17
+ * realm: Full tenant or organizational identifier that the account belongs to
18
+ * target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
19
+ * }
20
+ */
21
+ export declare class RefreshTokenEntity extends CredentialEntity {
22
+ familyId?: string;
23
+ /**
24
+ * Create RefreshTokenEntity
25
+ * @param homeAccountId
26
+ * @param authenticationResult
27
+ * @param clientId
28
+ * @param authority
29
+ */
30
+ static createRefreshTokenEntity(homeAccountId: string, environment: string, refreshToken: string, clientId: string, familyId?: string, userAssertionHash?: string): RefreshTokenEntity;
31
+ /**
32
+ * Validates an entity: checks for all expected params
33
+ * @param entity
34
+ */
35
+ static isRefreshTokenEntity(entity: object): boolean;
36
+ }
37
37
  //# sourceMappingURL=RefreshTokenEntity.d.ts.map