@azure/msal-browser 3.5.1-beta.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (257) hide show
  1. package/dist/app/IPublicClientApplication.d.ts +51 -51
  2. package/dist/app/IPublicClientApplication.mjs +102 -102
  3. package/dist/app/IPublicClientApplication.mjs.map +1 -1
  4. package/dist/app/PublicClientApplication.d.ts +269 -268
  5. package/dist/app/PublicClientApplication.d.ts.map +1 -1
  6. package/dist/app/PublicClientApplication.mjs +333 -333
  7. package/dist/app/PublicClientApplication.mjs.map +1 -1
  8. package/dist/app/PublicClientNext.d.ts +273 -273
  9. package/dist/app/PublicClientNext.mjs +351 -351
  10. package/dist/app/PublicClientNext.mjs.map +1 -1
  11. package/dist/broker/nativeBroker/NativeMessageHandler.d.ts +62 -62
  12. package/dist/broker/nativeBroker/NativeMessageHandler.mjs +254 -254
  13. package/dist/broker/nativeBroker/NativeMessageHandler.mjs.map +1 -1
  14. package/dist/broker/nativeBroker/NativeRequest.d.ts +44 -44
  15. package/dist/broker/nativeBroker/NativeResponse.d.ts +48 -48
  16. package/dist/broker/nativeBroker/NativeStatusCodes.d.ts +7 -7
  17. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +11 -11
  18. package/dist/broker/nativeBroker/NativeStatusCodes.mjs.map +1 -1
  19. package/dist/cache/AsyncMemoryStorage.d.ts +51 -51
  20. package/dist/cache/AsyncMemoryStorage.mjs +132 -132
  21. package/dist/cache/AsyncMemoryStorage.mjs.map +1 -1
  22. package/dist/cache/BrowserCacheManager.d.ts +395 -383
  23. package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
  24. package/dist/cache/BrowserCacheManager.mjs +1282 -1262
  25. package/dist/cache/BrowserCacheManager.mjs.map +1 -1
  26. package/dist/cache/BrowserStorage.d.ts +11 -11
  27. package/dist/cache/BrowserStorage.mjs +32 -32
  28. package/dist/cache/BrowserStorage.mjs.map +1 -1
  29. package/dist/cache/CryptoKeyStore.d.ts +18 -18
  30. package/dist/cache/CryptoKeyStore.mjs +40 -40
  31. package/dist/cache/CryptoKeyStore.mjs.map +1 -1
  32. package/dist/cache/DatabaseStorage.d.ts +56 -56
  33. package/dist/cache/DatabaseStorage.mjs +190 -190
  34. package/dist/cache/DatabaseStorage.mjs.map +1 -1
  35. package/dist/cache/IAsyncMemoryStorage.d.ts +27 -27
  36. package/dist/cache/ITokenCache.d.ts +11 -11
  37. package/dist/cache/IWindowStorage.d.ts +27 -27
  38. package/dist/cache/MemoryStorage.d.ts +11 -11
  39. package/dist/cache/MemoryStorage.mjs +31 -31
  40. package/dist/cache/MemoryStorage.mjs.map +1 -1
  41. package/dist/cache/TokenCache.d.ts +77 -77
  42. package/dist/cache/TokenCache.d.ts.map +1 -1
  43. package/dist/cache/TokenCache.mjs +221 -225
  44. package/dist/cache/TokenCache.mjs.map +1 -1
  45. package/dist/config/Configuration.d.ts +206 -206
  46. package/dist/config/Configuration.d.ts.map +1 -1
  47. package/dist/config/Configuration.mjs +128 -128
  48. package/dist/config/Configuration.mjs.map +1 -1
  49. package/dist/controllers/ControllerFactory.d.ts +4 -4
  50. package/dist/controllers/ControllerFactory.d.ts.map +1 -1
  51. package/dist/controllers/ControllerFactory.mjs +29 -29
  52. package/dist/controllers/ControllerFactory.mjs.map +1 -1
  53. package/dist/controllers/IController.d.ts +61 -61
  54. package/dist/controllers/NestedAppAuthController.d.ts +95 -95
  55. package/dist/controllers/NestedAppAuthController.mjs +334 -334
  56. package/dist/controllers/NestedAppAuthController.mjs.map +1 -1
  57. package/dist/controllers/StandardController.d.ts +407 -407
  58. package/dist/controllers/StandardController.d.ts.map +1 -1
  59. package/dist/controllers/StandardController.mjs +1291 -1293
  60. package/dist/controllers/StandardController.mjs.map +1 -1
  61. package/dist/controllers/UnknownOperatingContextController.d.ts +87 -87
  62. package/dist/controllers/UnknownOperatingContextController.mjs +264 -264
  63. package/dist/controllers/UnknownOperatingContextController.mjs.map +1 -1
  64. package/dist/crypto/BrowserCrypto.d.ts +44 -44
  65. package/dist/crypto/BrowserCrypto.mjs +93 -93
  66. package/dist/crypto/BrowserCrypto.mjs.map +1 -1
  67. package/dist/crypto/CryptoOps.d.ts +63 -63
  68. package/dist/crypto/CryptoOps.mjs +145 -145
  69. package/dist/crypto/CryptoOps.mjs.map +1 -1
  70. package/dist/crypto/PkceGenerator.d.ts +8 -8
  71. package/dist/crypto/PkceGenerator.mjs +54 -54
  72. package/dist/crypto/PkceGenerator.mjs.map +1 -1
  73. package/dist/crypto/SignedHttpRequest.d.ts +30 -30
  74. package/dist/crypto/SignedHttpRequest.mjs +39 -39
  75. package/dist/crypto/SignedHttpRequest.mjs.map +1 -1
  76. package/dist/encode/Base64Decode.d.ts +9 -9
  77. package/dist/encode/Base64Decode.mjs +36 -36
  78. package/dist/encode/Base64Decode.mjs.map +1 -1
  79. package/dist/encode/Base64Encode.d.ts +19 -19
  80. package/dist/encode/Base64Encode.mjs +43 -43
  81. package/dist/encode/Base64Encode.mjs.map +1 -1
  82. package/dist/error/BrowserAuthError.d.ts +250 -250
  83. package/dist/error/BrowserAuthError.mjs +258 -258
  84. package/dist/error/BrowserAuthError.mjs.map +1 -1
  85. package/dist/error/BrowserAuthErrorCodes.d.ts +45 -45
  86. package/dist/error/BrowserAuthErrorCodes.mjs +49 -49
  87. package/dist/error/BrowserAuthErrorCodes.mjs.map +1 -1
  88. package/dist/error/BrowserConfigurationAuthError.d.ts +33 -33
  89. package/dist/error/BrowserConfigurationAuthError.mjs +40 -40
  90. package/dist/error/BrowserConfigurationAuthError.mjs.map +1 -1
  91. package/dist/error/BrowserConfigurationAuthErrorCodes.d.ts +3 -3
  92. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +7 -7
  93. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs.map +1 -1
  94. package/dist/error/NativeAuthError.d.ts +29 -29
  95. package/dist/error/NativeAuthError.mjs +60 -60
  96. package/dist/error/NativeAuthError.mjs.map +1 -1
  97. package/dist/error/NativeAuthErrorCodes.d.ts +2 -2
  98. package/dist/error/NativeAuthErrorCodes.mjs +6 -6
  99. package/dist/error/NativeAuthErrorCodes.mjs.map +1 -1
  100. package/dist/error/NestedAppAuthError.d.ts +14 -14
  101. package/dist/error/NestedAppAuthError.mjs +23 -23
  102. package/dist/error/NestedAppAuthError.mjs.map +1 -1
  103. package/dist/event/EventHandler.d.ts +41 -41
  104. package/dist/event/EventHandler.mjs +119 -119
  105. package/dist/event/EventHandler.mjs.map +1 -1
  106. package/dist/event/EventMessage.d.ts +25 -25
  107. package/dist/event/EventMessage.mjs +68 -68
  108. package/dist/event/EventMessage.mjs.map +1 -1
  109. package/dist/event/EventType.d.ts +28 -28
  110. package/dist/event/EventType.mjs +31 -31
  111. package/dist/event/EventType.mjs.map +1 -1
  112. package/dist/index.d.ts +39 -39
  113. package/dist/index.d.ts.map +1 -1
  114. package/dist/index.mjs +1 -1
  115. package/dist/interaction_client/BaseInteractionClient.d.ts +54 -54
  116. package/dist/interaction_client/BaseInteractionClient.mjs +152 -152
  117. package/dist/interaction_client/BaseInteractionClient.mjs.map +1 -1
  118. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +4 -4
  119. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +10 -10
  120. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs.map +1 -1
  121. package/dist/interaction_client/NativeInteractionClient.d.ts +140 -140
  122. package/dist/interaction_client/NativeInteractionClient.d.ts.map +1 -1
  123. package/dist/interaction_client/NativeInteractionClient.mjs +539 -549
  124. package/dist/interaction_client/NativeInteractionClient.mjs.map +1 -1
  125. package/dist/interaction_client/PopupClient.d.ts +105 -105
  126. package/dist/interaction_client/PopupClient.mjs +432 -432
  127. package/dist/interaction_client/PopupClient.mjs.map +1 -1
  128. package/dist/interaction_client/RedirectClient.d.ts +49 -49
  129. package/dist/interaction_client/RedirectClient.mjs +311 -311
  130. package/dist/interaction_client/RedirectClient.mjs.map +1 -1
  131. package/dist/interaction_client/SilentAuthCodeClient.d.ts +23 -23
  132. package/dist/interaction_client/SilentAuthCodeClient.mjs +57 -57
  133. package/dist/interaction_client/SilentAuthCodeClient.mjs.map +1 -1
  134. package/dist/interaction_client/SilentCacheClient.d.ts +24 -24
  135. package/dist/interaction_client/SilentCacheClient.mjs +61 -61
  136. package/dist/interaction_client/SilentCacheClient.mjs.map +1 -1
  137. package/dist/interaction_client/SilentIframeClient.d.ts +32 -32
  138. package/dist/interaction_client/SilentIframeClient.mjs +96 -96
  139. package/dist/interaction_client/SilentIframeClient.mjs.map +1 -1
  140. package/dist/interaction_client/SilentRefreshClient.d.ts +20 -20
  141. package/dist/interaction_client/SilentRefreshClient.mjs +43 -43
  142. package/dist/interaction_client/SilentRefreshClient.mjs.map +1 -1
  143. package/dist/interaction_client/StandardInteractionClient.d.ts +54 -54
  144. package/dist/interaction_client/StandardInteractionClient.mjs +222 -222
  145. package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
  146. package/dist/interaction_handler/InteractionHandler.d.ts +33 -33
  147. package/dist/interaction_handler/InteractionHandler.mjs +93 -93
  148. package/dist/interaction_handler/InteractionHandler.mjs.map +1 -1
  149. package/dist/interaction_handler/RedirectHandler.d.ts +32 -32
  150. package/dist/interaction_handler/RedirectHandler.mjs +134 -134
  151. package/dist/interaction_handler/RedirectHandler.mjs.map +1 -1
  152. package/dist/interaction_handler/SilentHandler.d.ts +13 -13
  153. package/dist/interaction_handler/SilentHandler.mjs +133 -133
  154. package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  155. package/dist/naa/AccountInfo.d.ts +11 -11
  156. package/dist/naa/AccountRequests.d.ts +9 -9
  157. package/dist/naa/AuthBridge.d.ts +8 -5
  158. package/dist/naa/AuthBridge.d.ts.map +1 -1
  159. package/dist/naa/BridgeCapabilities.d.ts +3 -3
  160. package/dist/naa/BridgeError.d.ts +9 -9
  161. package/dist/naa/BridgeError.mjs +7 -7
  162. package/dist/naa/BridgeError.mjs.map +1 -1
  163. package/dist/naa/BridgeProxy.d.ts +72 -72
  164. package/dist/naa/BridgeProxy.d.ts.map +1 -1
  165. package/dist/naa/BridgeProxy.mjs +153 -152
  166. package/dist/naa/BridgeProxy.mjs.map +1 -1
  167. package/dist/naa/BridgeRequest.d.ts +6 -6
  168. package/dist/naa/BridgeRequestEnvelope.d.ts +13 -13
  169. package/dist/naa/BridgeResponseEnvelope.d.ts +10 -10
  170. package/dist/naa/BridgeStatusCode.d.ts +10 -10
  171. package/dist/naa/BridgeStatusCode.mjs +15 -15
  172. package/dist/naa/BridgeStatusCode.mjs.map +1 -1
  173. package/dist/naa/IBridgeProxy.d.ts +12 -12
  174. package/dist/naa/InitializeBridgeResponse.d.ts +6 -6
  175. package/dist/naa/TokenRequest.d.ts +19 -19
  176. package/dist/naa/TokenResponse.d.ts +15 -15
  177. package/dist/naa/mapping/NestedAppAuthAdapter.d.ts +23 -23
  178. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +141 -141
  179. package/dist/naa/mapping/NestedAppAuthAdapter.mjs.map +1 -1
  180. package/dist/navigation/INavigationClient.d.ts +16 -16
  181. package/dist/navigation/NavigationClient.d.ts +22 -22
  182. package/dist/navigation/NavigationClient.mjs +40 -40
  183. package/dist/navigation/NavigationClient.mjs.map +1 -1
  184. package/dist/navigation/NavigationOptions.d.ts +12 -12
  185. package/dist/network/FetchClient.d.ts +26 -26
  186. package/dist/network/FetchClient.mjs +99 -99
  187. package/dist/network/FetchClient.mjs.map +1 -1
  188. package/dist/operatingcontext/BaseOperatingContext.d.ts +40 -40
  189. package/dist/operatingcontext/BaseOperatingContext.mjs +44 -44
  190. package/dist/operatingcontext/BaseOperatingContext.mjs.map +1 -1
  191. package/dist/operatingcontext/StandardOperatingContext.d.ts +25 -25
  192. package/dist/operatingcontext/StandardOperatingContext.mjs +43 -43
  193. package/dist/operatingcontext/StandardOperatingContext.mjs.map +1 -1
  194. package/dist/operatingcontext/TeamsAppOperatingContext.d.ts +32 -32
  195. package/dist/operatingcontext/TeamsAppOperatingContext.mjs +85 -85
  196. package/dist/operatingcontext/TeamsAppOperatingContext.mjs.map +1 -1
  197. package/dist/operatingcontext/UnknownOperatingContext.d.ts +25 -25
  198. package/dist/operatingcontext/UnknownOperatingContext.mjs +42 -42
  199. package/dist/operatingcontext/UnknownOperatingContext.mjs.map +1 -1
  200. package/dist/packageMetadata.d.ts +2 -2
  201. package/dist/packageMetadata.mjs +4 -4
  202. package/dist/packageMetadata.mjs.map +1 -1
  203. package/dist/request/AuthorizationCodeRequest.d.ts +8 -8
  204. package/dist/request/AuthorizationUrlRequest.d.ts +8 -8
  205. package/dist/request/ClearCacheRequest.d.ts +10 -10
  206. package/dist/request/EndSessionPopupRequest.d.ts +18 -18
  207. package/dist/request/EndSessionRequest.d.ts +15 -15
  208. package/dist/request/PopupRequest.d.ts +34 -34
  209. package/dist/request/PopupWindowAttributes.d.ts +15 -15
  210. package/dist/request/RedirectRequest.d.ts +35 -35
  211. package/dist/request/SilentRequest.d.ts +32 -32
  212. package/dist/request/SsoSilentRequest.d.ts +29 -29
  213. package/dist/response/AuthenticationResult.d.ts +4 -4
  214. package/dist/response/ResponseHandler.d.ts +7 -7
  215. package/dist/response/ResponseHandler.mjs +36 -36
  216. package/dist/response/ResponseHandler.mjs.map +1 -1
  217. package/dist/telemetry/BrowserPerformanceClient.d.ts +36 -36
  218. package/dist/telemetry/BrowserPerformanceClient.mjs +125 -125
  219. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  220. package/dist/telemetry/BrowserPerformanceMeasurement.d.ts +21 -21
  221. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +92 -92
  222. package/dist/telemetry/BrowserPerformanceMeasurement.mjs.map +1 -1
  223. package/dist/utils/BrowserConstants.d.ts +176 -176
  224. package/dist/utils/BrowserConstants.mjs +204 -204
  225. package/dist/utils/BrowserConstants.mjs.map +1 -1
  226. package/dist/utils/BrowserProtocolUtils.d.ts +11 -11
  227. package/dist/utils/BrowserProtocolUtils.mjs +21 -21
  228. package/dist/utils/BrowserProtocolUtils.mjs.map +1 -1
  229. package/dist/utils/BrowserUtils.d.ts +56 -56
  230. package/dist/utils/BrowserUtils.mjs +125 -125
  231. package/dist/utils/BrowserUtils.mjs.map +1 -1
  232. package/lib/msal-browser.cjs +18217 -17928
  233. package/lib/msal-browser.cjs.map +1 -1
  234. package/lib/msal-browser.js +18217 -17928
  235. package/lib/msal-browser.js.map +1 -1
  236. package/lib/msal-browser.min.js +71 -68
  237. package/package.json +103 -102
  238. package/src/app/PublicClientApplication.ts +2 -1
  239. package/src/cache/BrowserCacheManager.ts +31 -4
  240. package/src/cache/DatabaseStorage.ts +1 -1
  241. package/src/cache/TokenCache.ts +33 -29
  242. package/src/config/Configuration.ts +1 -1
  243. package/src/controllers/ControllerFactory.ts +3 -5
  244. package/src/controllers/StandardController.ts +4 -6
  245. package/src/crypto/CryptoOps.ts +1 -1
  246. package/src/crypto/SignedHttpRequest.ts +1 -1
  247. package/src/index.ts +1 -0
  248. package/src/interaction_client/BaseInteractionClient.ts +2 -2
  249. package/src/interaction_client/NativeInteractionClient.ts +23 -20
  250. package/src/interaction_client/PopupClient.ts +1 -1
  251. package/src/interaction_client/RedirectClient.ts +3 -3
  252. package/src/interaction_client/SilentAuthCodeClient.ts +1 -1
  253. package/src/interaction_client/StandardInteractionClient.ts +1 -1
  254. package/src/interaction_handler/SilentHandler.ts +2 -2
  255. package/src/naa/AuthBridge.ts +3 -2
  256. package/src/naa/BridgeProxy.ts +6 -4
  257. package/src/packageMetadata.ts +1 -1
@@ -1,78 +1,78 @@
1
- import { ICrypto, Logger, ExternalTokenResponse } from "@azure/msal-common";
2
- import { BrowserConfiguration } from "../config/Configuration";
3
- import { SilentRequest } from "../request/SilentRequest";
4
- import { BrowserCacheManager } from "./BrowserCacheManager";
5
- import { ITokenCache } from "./ITokenCache";
6
- import { AuthenticationResult } from "../response/AuthenticationResult";
7
- export type LoadTokenOptions = {
8
- clientInfo?: string;
9
- expiresOn?: number;
10
- extendedExpiresOn?: number;
11
- };
12
- /**
13
- * Token cache manager
14
- */
15
- export declare class TokenCache implements ITokenCache {
16
- isBrowserEnvironment: boolean;
17
- protected config: BrowserConfiguration;
18
- private storage;
19
- private logger;
20
- private cryptoObj;
21
- constructor(configuration: BrowserConfiguration, storage: BrowserCacheManager, logger: Logger, cryptoObj: ICrypto);
22
- /**
23
- * API to load tokens to msal-browser cache.
24
- * @param request
25
- * @param response
26
- * @param options
27
- * @returns `AuthenticationResult` for the response that was loaded.
28
- */
29
- loadExternalTokens(request: SilentRequest, response: ExternalTokenResponse, options: LoadTokenOptions): AuthenticationResult;
30
- /**
31
- * Helper function to load account to msal-browser cache
32
- * @param idToken
33
- * @param environment
34
- * @param clientInfo
35
- * @param authorityType
36
- * @param requestHomeAccountId
37
- * @returns `AccountEntity`
38
- */
39
- private loadAccount;
40
- /**
41
- * Helper function to load id tokens to msal-browser cache
42
- * @param idToken
43
- * @param homeAccountId
44
- * @param environment
45
- * @param tenantId
46
- * @returns `IdTokenEntity`
47
- */
48
- private loadIdToken;
49
- /**
50
- * Helper function to load access tokens to msal-browser cache
51
- * @param request
52
- * @param response
53
- * @param homeAccountId
54
- * @param environment
55
- * @param tenantId
56
- * @returns `AccessTokenEntity`
57
- */
58
- private loadAccessToken;
59
- /**
60
- * Helper function to load refresh tokens to msal-browser cache
61
- * @param request
62
- * @param response
63
- * @param homeAccountId
64
- * @param environment
65
- * @returns `RefreshTokenEntity`
66
- */
67
- private loadRefreshToken;
68
- /**
69
- * Helper function to generate an `AuthenticationResult` for the result.
70
- * @param request
71
- * @param idTokenObj
72
- * @param cacheRecord
73
- * @param authority
74
- * @returns `AuthenticationResult`
75
- */
76
- private generateAuthenticationResult;
77
- }
1
+ import { ICrypto, Logger, ExternalTokenResponse } from "@azure/msal-common";
2
+ import { BrowserConfiguration } from "../config/Configuration";
3
+ import { SilentRequest } from "../request/SilentRequest";
4
+ import { BrowserCacheManager } from "./BrowserCacheManager";
5
+ import { ITokenCache } from "./ITokenCache";
6
+ import { AuthenticationResult } from "../response/AuthenticationResult";
7
+ export type LoadTokenOptions = {
8
+ clientInfo?: string;
9
+ expiresOn?: number;
10
+ extendedExpiresOn?: number;
11
+ };
12
+ /**
13
+ * Token cache manager
14
+ */
15
+ export declare class TokenCache implements ITokenCache {
16
+ isBrowserEnvironment: boolean;
17
+ protected config: BrowserConfiguration;
18
+ private storage;
19
+ private logger;
20
+ private cryptoObj;
21
+ constructor(configuration: BrowserConfiguration, storage: BrowserCacheManager, logger: Logger, cryptoObj: ICrypto);
22
+ /**
23
+ * API to load tokens to msal-browser cache.
24
+ * @param request
25
+ * @param response
26
+ * @param options
27
+ * @returns `AuthenticationResult` for the response that was loaded.
28
+ */
29
+ loadExternalTokens(request: SilentRequest, response: ExternalTokenResponse, options: LoadTokenOptions): AuthenticationResult;
30
+ /**
31
+ * Helper function to load account to msal-browser cache
32
+ * @param idToken
33
+ * @param environment
34
+ * @param clientInfo
35
+ * @param authorityType
36
+ * @param requestHomeAccountId
37
+ * @returns `AccountEntity`
38
+ */
39
+ private loadAccount;
40
+ /**
41
+ * Helper function to load id tokens to msal-browser cache
42
+ * @param idToken
43
+ * @param homeAccountId
44
+ * @param environment
45
+ * @param tenantId
46
+ * @returns `IdTokenEntity`
47
+ */
48
+ private loadIdToken;
49
+ /**
50
+ * Helper function to load access tokens to msal-browser cache
51
+ * @param request
52
+ * @param response
53
+ * @param homeAccountId
54
+ * @param environment
55
+ * @param tenantId
56
+ * @returns `AccessTokenEntity`
57
+ */
58
+ private loadAccessToken;
59
+ /**
60
+ * Helper function to load refresh tokens to msal-browser cache
61
+ * @param request
62
+ * @param response
63
+ * @param homeAccountId
64
+ * @param environment
65
+ * @returns `RefreshTokenEntity`
66
+ */
67
+ private loadRefreshToken;
68
+ /**
69
+ * Helper function to generate an `AuthenticationResult` for the result.
70
+ * @param request
71
+ * @param idTokenObj
72
+ * @param cacheRecord
73
+ * @param authority
74
+ * @returns `AuthenticationResult`
75
+ */
76
+ private generateAuthenticationResult;
77
+ }
78
78
  //# sourceMappingURL=TokenCache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenCache.d.ts","sourceRoot":"","sources":["../../src/cache/TokenCache.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,OAAO,EAEP,MAAM,EAIN,qBAAqB,EAQxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW;IAEnC,oBAAoB,EAAE,OAAO,CAAC;IAErC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAEvC,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAU;gBAGvB,aAAa,EAAE,oBAAoB,EACnC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO;IAWtB;;;;;;OAMG;IACH,kBAAkB,CACd,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,gBAAgB,GAC1B,oBAAoB;IAmJvB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IA+CnB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAyBnB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAwDvB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;;;;;OAOG;IACH,OAAO,CAAC,4BAA4B;CAwDvC"}
1
+ {"version":3,"file":"TokenCache.d.ts","sourceRoot":"","sources":["../../src/cache/TokenCache.ts"],"names":[],"mappings":"AAKA,OAAO,EAEH,OAAO,EAEP,MAAM,EAIN,qBAAqB,EASxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAK5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAGxE,MAAM,MAAM,gBAAgB,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW;IAEnC,oBAAoB,EAAE,OAAO,CAAC;IAErC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAEvC,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAU;gBAGvB,aAAa,EAAE,oBAAoB,EACnC,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,OAAO;IAWtB;;;;;;OAMG;IACH,kBAAkB,CACd,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,EAAE,gBAAgB,GAC1B,oBAAoB;IAmJvB;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;IAkDnB;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAyBnB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAwDvB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;;;;;;OAOG;IACH,OAAO,CAAC,4BAA4B;CAwDvC"}
@@ -1,233 +1,229 @@
1
- /*! @azure/msal-browser v3.5.1-beta.0 2023-11-14 */
1
+ /*! @azure/msal-browser v3.6.0 2023-12-01 */
2
2
  'use strict';
3
- import { AuthToken, AccountEntity, CacheRecord, Authority, CacheHelpers, ScopeSet, Constants } from '@azure/msal-common';
3
+ import { AuthToken, AccountEntity, CacheRecord, Authority, buildAccountToCache, CacheHelpers, ScopeSet, Constants } from '@azure/msal-common';
4
4
  import { createBrowserAuthError } from '../error/BrowserAuthError.mjs';
5
5
  import { base64Decode } from '../encode/Base64Decode.mjs';
6
6
  import { unableToLoadToken } from '../error/BrowserAuthErrorCodes.mjs';
7
7
 
8
- /*
9
- * Copyright (c) Microsoft Corporation. All rights reserved.
10
- * Licensed under the MIT License.
11
- */
12
- /**
13
- * Token cache manager
14
- */
15
- class TokenCache {
16
- constructor(configuration, storage, logger, cryptoObj) {
17
- this.isBrowserEnvironment = typeof window !== "undefined";
18
- this.config = configuration;
19
- this.storage = storage;
20
- this.logger = logger;
21
- this.cryptoObj = cryptoObj;
22
- }
23
- // Move getAllAccounts here and cache utility APIs
24
- /**
25
- * API to load tokens to msal-browser cache.
26
- * @param request
27
- * @param response
28
- * @param options
29
- * @returns `AuthenticationResult` for the response that was loaded.
30
- */
31
- loadExternalTokens(request, response, options) {
32
- this.logger.info("TokenCache - loadExternalTokens called");
33
- if (!response.id_token) {
34
- throw createBrowserAuthError(unableToLoadToken);
35
- }
36
- const idTokenClaims = AuthToken.extractTokenClaims(response.id_token, base64Decode);
37
- let cacheRecord;
38
- let authority;
39
- let cacheRecordAccount;
40
- if (request.account) {
41
- cacheRecordAccount = AccountEntity.createFromAccountInfo(request.account);
42
- cacheRecord = new CacheRecord(cacheRecordAccount, this.loadIdToken(response.id_token, cacheRecordAccount.homeAccountId, request.account.environment, request.account.tenantId), this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, request.account.environment, request.account.tenantId, options), this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, request.account.environment));
43
- }
44
- else if (request.authority) {
45
- const authorityUrl = Authority.generateAuthority(request.authority, request.azureCloudOptions);
46
- const authorityOptions = {
47
- protocolMode: this.config.auth.protocolMode,
48
- knownAuthorities: this.config.auth.knownAuthorities,
49
- cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
50
- authorityMetadata: this.config.auth.authorityMetadata,
51
- skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache,
52
- };
53
- authority = new Authority(authorityUrl, this.config.system.networkClient, this.storage, authorityOptions, this.logger);
54
- // "clientInfo" from options takes precedence over "clientInfo" in response
55
- if (options.clientInfo) {
56
- this.logger.trace("TokenCache - homeAccountId from options");
57
- cacheRecordAccount = this.loadAccount(idTokenClaims, authority, options.clientInfo);
58
- cacheRecord = new CacheRecord(cacheRecordAccount, this.loadIdToken(response.id_token, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant), this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant, options), this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort));
59
- }
60
- else if (response.client_info) {
61
- this.logger.trace("TokenCache - homeAccountId from response");
62
- cacheRecordAccount = this.loadAccount(idTokenClaims, authority, response.client_info);
63
- cacheRecord = new CacheRecord(cacheRecordAccount, this.loadIdToken(response.id_token, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant), this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant, options), this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort));
64
- }
65
- else {
66
- throw createBrowserAuthError(unableToLoadToken);
67
- }
68
- }
69
- else {
70
- throw createBrowserAuthError(unableToLoadToken);
71
- }
72
- return this.generateAuthenticationResult(request, idTokenClaims, cacheRecord, cacheRecordAccount, authority);
73
- }
74
- /**
75
- * Helper function to load account to msal-browser cache
76
- * @param idToken
77
- * @param environment
78
- * @param clientInfo
79
- * @param authorityType
80
- * @param requestHomeAccountId
81
- * @returns `AccountEntity`
82
- */
83
- loadAccount(idTokenClaims, authority, clientInfo, requestHomeAccountId) {
84
- let homeAccountId;
85
- if (requestHomeAccountId) {
86
- homeAccountId = requestHomeAccountId;
87
- }
88
- else if (authority.authorityType !== undefined && clientInfo) {
89
- homeAccountId = AccountEntity.generateHomeAccountId(clientInfo, authority.authorityType, this.logger, this.cryptoObj, idTokenClaims);
90
- }
91
- if (!homeAccountId) {
92
- throw createBrowserAuthError(unableToLoadToken);
93
- }
94
- const accountEntity = AccountEntity.createAccount({
95
- homeAccountId,
96
- idTokenClaims: idTokenClaims,
97
- clientInfo,
98
- environment: authority.hostnameAndPort,
99
- }, authority);
100
- if (this.isBrowserEnvironment) {
101
- this.logger.verbose("TokenCache - loading account");
102
- this.storage.setAccount(accountEntity);
103
- return accountEntity;
104
- }
105
- else {
106
- throw createBrowserAuthError(unableToLoadToken);
107
- }
108
- }
109
- /**
110
- * Helper function to load id tokens to msal-browser cache
111
- * @param idToken
112
- * @param homeAccountId
113
- * @param environment
114
- * @param tenantId
115
- * @returns `IdTokenEntity`
116
- */
117
- loadIdToken(idToken, homeAccountId, environment, tenantId) {
118
- const idTokenEntity = CacheHelpers.createIdTokenEntity(homeAccountId, environment, idToken, this.config.auth.clientId, tenantId);
119
- if (this.isBrowserEnvironment) {
120
- this.logger.verbose("TokenCache - loading id token");
121
- this.storage.setIdTokenCredential(idTokenEntity);
122
- return idTokenEntity;
123
- }
124
- else {
125
- throw createBrowserAuthError(unableToLoadToken);
126
- }
127
- }
128
- /**
129
- * Helper function to load access tokens to msal-browser cache
130
- * @param request
131
- * @param response
132
- * @param homeAccountId
133
- * @param environment
134
- * @param tenantId
135
- * @returns `AccessTokenEntity`
136
- */
137
- loadAccessToken(request, response, homeAccountId, environment, tenantId, options) {
138
- if (!response.access_token) {
139
- this.logger.verbose("TokenCache - No access token provided for caching");
140
- return null;
141
- }
142
- if (!response.expires_in) {
143
- throw createBrowserAuthError(unableToLoadToken);
144
- }
145
- if (!options.extendedExpiresOn) {
146
- throw createBrowserAuthError(unableToLoadToken);
147
- }
148
- const scopes = new ScopeSet(request.scopes).printScopes();
149
- const expiresOn = options.expiresOn ||
150
- response.expires_in + new Date().getTime() / 1000;
151
- const extendedExpiresOn = options.extendedExpiresOn;
152
- const accessTokenEntity = CacheHelpers.createAccessTokenEntity(homeAccountId, environment, response.access_token, this.config.auth.clientId, tenantId, scopes, expiresOn, extendedExpiresOn, base64Decode);
153
- if (this.isBrowserEnvironment) {
154
- this.logger.verbose("TokenCache - loading access token");
155
- this.storage.setAccessTokenCredential(accessTokenEntity);
156
- return accessTokenEntity;
157
- }
158
- else {
159
- throw createBrowserAuthError(unableToLoadToken);
160
- }
161
- }
162
- /**
163
- * Helper function to load refresh tokens to msal-browser cache
164
- * @param request
165
- * @param response
166
- * @param homeAccountId
167
- * @param environment
168
- * @returns `RefreshTokenEntity`
169
- */
170
- loadRefreshToken(request, response, homeAccountId, environment) {
171
- if (!response.refresh_token) {
172
- this.logger.verbose("TokenCache - No refresh token provided for caching");
173
- return null;
174
- }
175
- const refreshTokenEntity = CacheHelpers.createRefreshTokenEntity(homeAccountId, environment, response.refresh_token, this.config.auth.clientId);
176
- if (this.isBrowserEnvironment) {
177
- this.logger.verbose("TokenCache - loading refresh token");
178
- this.storage.setRefreshTokenCredential(refreshTokenEntity);
179
- return refreshTokenEntity;
180
- }
181
- else {
182
- throw createBrowserAuthError(unableToLoadToken);
183
- }
184
- }
185
- /**
186
- * Helper function to generate an `AuthenticationResult` for the result.
187
- * @param request
188
- * @param idTokenObj
189
- * @param cacheRecord
190
- * @param authority
191
- * @returns `AuthenticationResult`
192
- */
193
- generateAuthenticationResult(request, idTokenClaims, cacheRecord, accountEntity, authority) {
194
- let accessToken = Constants.EMPTY_STRING;
195
- let responseScopes = [];
196
- let expiresOn = null;
197
- let extExpiresOn;
198
- if (cacheRecord?.accessToken) {
199
- accessToken = cacheRecord.accessToken.secret;
200
- responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();
201
- expiresOn = new Date(Number(cacheRecord.accessToken.expiresOn) * 1000);
202
- extExpiresOn = new Date(Number(cacheRecord.accessToken.extendedExpiresOn) * 1000);
203
- }
204
- const uid = idTokenClaims.oid || idTokenClaims.sub || Constants.EMPTY_STRING;
205
- const tid = idTokenClaims.tid || Constants.EMPTY_STRING;
206
- return {
207
- authority: authority
208
- ? authority.canonicalAuthority
209
- : Constants.EMPTY_STRING,
210
- uniqueId: uid,
211
- tenantId: tid,
212
- scopes: responseScopes,
213
- account: accountEntity.getAccountInfo(),
214
- idToken: cacheRecord.idToken?.secret || "",
215
- idTokenClaims: idTokenClaims || {},
216
- accessToken: accessToken,
217
- fromCache: true,
218
- expiresOn: expiresOn,
219
- correlationId: request.correlationId || Constants.EMPTY_STRING,
220
- requestId: Constants.EMPTY_STRING,
221
- extExpiresOn: extExpiresOn,
222
- familyId: Constants.EMPTY_STRING,
223
- tokenType: cacheRecord?.accessToken?.tokenType || Constants.EMPTY_STRING,
224
- state: Constants.EMPTY_STRING,
225
- cloudGraphHostName: accountEntity.cloudGraphHostName || Constants.EMPTY_STRING,
226
- msGraphHost: accountEntity.msGraphHost || Constants.EMPTY_STRING,
227
- code: undefined,
228
- fromNativeBroker: false,
229
- };
230
- }
8
+ /*
9
+ * Copyright (c) Microsoft Corporation. All rights reserved.
10
+ * Licensed under the MIT License.
11
+ */
12
+ /**
13
+ * Token cache manager
14
+ */
15
+ class TokenCache {
16
+ constructor(configuration, storage, logger, cryptoObj) {
17
+ this.isBrowserEnvironment = typeof window !== "undefined";
18
+ this.config = configuration;
19
+ this.storage = storage;
20
+ this.logger = logger;
21
+ this.cryptoObj = cryptoObj;
22
+ }
23
+ // Move getAllAccounts here and cache utility APIs
24
+ /**
25
+ * API to load tokens to msal-browser cache.
26
+ * @param request
27
+ * @param response
28
+ * @param options
29
+ * @returns `AuthenticationResult` for the response that was loaded.
30
+ */
31
+ loadExternalTokens(request, response, options) {
32
+ this.logger.info("TokenCache - loadExternalTokens called");
33
+ if (!response.id_token) {
34
+ throw createBrowserAuthError(unableToLoadToken);
35
+ }
36
+ const idTokenClaims = AuthToken.extractTokenClaims(response.id_token, base64Decode);
37
+ let cacheRecord;
38
+ let authority;
39
+ let cacheRecordAccount;
40
+ if (request.account) {
41
+ cacheRecordAccount = AccountEntity.createFromAccountInfo(request.account);
42
+ cacheRecord = new CacheRecord(cacheRecordAccount, this.loadIdToken(response.id_token, cacheRecordAccount.homeAccountId, request.account.environment, request.account.tenantId), this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, request.account.environment, request.account.tenantId, options), this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, request.account.environment));
43
+ }
44
+ else if (request.authority) {
45
+ const authorityUrl = Authority.generateAuthority(request.authority, request.azureCloudOptions);
46
+ const authorityOptions = {
47
+ protocolMode: this.config.auth.protocolMode,
48
+ knownAuthorities: this.config.auth.knownAuthorities,
49
+ cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
50
+ authorityMetadata: this.config.auth.authorityMetadata,
51
+ skipAuthorityMetadataCache: this.config.auth.skipAuthorityMetadataCache,
52
+ };
53
+ authority = new Authority(authorityUrl, this.config.system.networkClient, this.storage, authorityOptions, this.logger);
54
+ // "clientInfo" from options takes precedence over "clientInfo" in response
55
+ if (options.clientInfo) {
56
+ this.logger.trace("TokenCache - homeAccountId from options");
57
+ cacheRecordAccount = this.loadAccount(idTokenClaims, authority, options.clientInfo);
58
+ cacheRecord = new CacheRecord(cacheRecordAccount, this.loadIdToken(response.id_token, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant), this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant, options), this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort));
59
+ }
60
+ else if (response.client_info) {
61
+ this.logger.trace("TokenCache - homeAccountId from response");
62
+ cacheRecordAccount = this.loadAccount(idTokenClaims, authority, response.client_info);
63
+ cacheRecord = new CacheRecord(cacheRecordAccount, this.loadIdToken(response.id_token, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant), this.loadAccessToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort, authority.tenant, options), this.loadRefreshToken(request, response, cacheRecordAccount.homeAccountId, authority.hostnameAndPort));
64
+ }
65
+ else {
66
+ throw createBrowserAuthError(unableToLoadToken);
67
+ }
68
+ }
69
+ else {
70
+ throw createBrowserAuthError(unableToLoadToken);
71
+ }
72
+ return this.generateAuthenticationResult(request, idTokenClaims, cacheRecord, cacheRecordAccount, authority);
73
+ }
74
+ /**
75
+ * Helper function to load account to msal-browser cache
76
+ * @param idToken
77
+ * @param environment
78
+ * @param clientInfo
79
+ * @param authorityType
80
+ * @param requestHomeAccountId
81
+ * @returns `AccountEntity`
82
+ */
83
+ loadAccount(idTokenClaims, authority, clientInfo, requestHomeAccountId) {
84
+ if (this.isBrowserEnvironment) {
85
+ this.logger.verbose("TokenCache - loading account");
86
+ let homeAccountId;
87
+ if (requestHomeAccountId) {
88
+ homeAccountId = requestHomeAccountId;
89
+ }
90
+ else if (authority.authorityType !== undefined && clientInfo) {
91
+ homeAccountId = AccountEntity.generateHomeAccountId(clientInfo, authority.authorityType, this.logger, this.cryptoObj, idTokenClaims);
92
+ }
93
+ if (!homeAccountId) {
94
+ throw createBrowserAuthError(unableToLoadToken);
95
+ }
96
+ const claimsTenantId = idTokenClaims.tid;
97
+ const cachedAccount = buildAccountToCache(this.storage, authority, homeAccountId, idTokenClaims, base64Decode, clientInfo, claimsTenantId, undefined, undefined, this.logger);
98
+ this.storage.setAccount(cachedAccount);
99
+ return cachedAccount;
100
+ }
101
+ else {
102
+ throw createBrowserAuthError(unableToLoadToken);
103
+ }
104
+ }
105
+ /**
106
+ * Helper function to load id tokens to msal-browser cache
107
+ * @param idToken
108
+ * @param homeAccountId
109
+ * @param environment
110
+ * @param tenantId
111
+ * @returns `IdTokenEntity`
112
+ */
113
+ loadIdToken(idToken, homeAccountId, environment, tenantId) {
114
+ const idTokenEntity = CacheHelpers.createIdTokenEntity(homeAccountId, environment, idToken, this.config.auth.clientId, tenantId);
115
+ if (this.isBrowserEnvironment) {
116
+ this.logger.verbose("TokenCache - loading id token");
117
+ this.storage.setIdTokenCredential(idTokenEntity);
118
+ return idTokenEntity;
119
+ }
120
+ else {
121
+ throw createBrowserAuthError(unableToLoadToken);
122
+ }
123
+ }
124
+ /**
125
+ * Helper function to load access tokens to msal-browser cache
126
+ * @param request
127
+ * @param response
128
+ * @param homeAccountId
129
+ * @param environment
130
+ * @param tenantId
131
+ * @returns `AccessTokenEntity`
132
+ */
133
+ loadAccessToken(request, response, homeAccountId, environment, tenantId, options) {
134
+ if (!response.access_token) {
135
+ this.logger.verbose("TokenCache - No access token provided for caching");
136
+ return null;
137
+ }
138
+ if (!response.expires_in) {
139
+ throw createBrowserAuthError(unableToLoadToken);
140
+ }
141
+ if (!options.extendedExpiresOn) {
142
+ throw createBrowserAuthError(unableToLoadToken);
143
+ }
144
+ const scopes = new ScopeSet(request.scopes).printScopes();
145
+ const expiresOn = options.expiresOn ||
146
+ response.expires_in + new Date().getTime() / 1000;
147
+ const extendedExpiresOn = options.extendedExpiresOn;
148
+ const accessTokenEntity = CacheHelpers.createAccessTokenEntity(homeAccountId, environment, response.access_token, this.config.auth.clientId, tenantId, scopes, expiresOn, extendedExpiresOn, base64Decode);
149
+ if (this.isBrowserEnvironment) {
150
+ this.logger.verbose("TokenCache - loading access token");
151
+ this.storage.setAccessTokenCredential(accessTokenEntity);
152
+ return accessTokenEntity;
153
+ }
154
+ else {
155
+ throw createBrowserAuthError(unableToLoadToken);
156
+ }
157
+ }
158
+ /**
159
+ * Helper function to load refresh tokens to msal-browser cache
160
+ * @param request
161
+ * @param response
162
+ * @param homeAccountId
163
+ * @param environment
164
+ * @returns `RefreshTokenEntity`
165
+ */
166
+ loadRefreshToken(request, response, homeAccountId, environment) {
167
+ if (!response.refresh_token) {
168
+ this.logger.verbose("TokenCache - No refresh token provided for caching");
169
+ return null;
170
+ }
171
+ const refreshTokenEntity = CacheHelpers.createRefreshTokenEntity(homeAccountId, environment, response.refresh_token, this.config.auth.clientId);
172
+ if (this.isBrowserEnvironment) {
173
+ this.logger.verbose("TokenCache - loading refresh token");
174
+ this.storage.setRefreshTokenCredential(refreshTokenEntity);
175
+ return refreshTokenEntity;
176
+ }
177
+ else {
178
+ throw createBrowserAuthError(unableToLoadToken);
179
+ }
180
+ }
181
+ /**
182
+ * Helper function to generate an `AuthenticationResult` for the result.
183
+ * @param request
184
+ * @param idTokenObj
185
+ * @param cacheRecord
186
+ * @param authority
187
+ * @returns `AuthenticationResult`
188
+ */
189
+ generateAuthenticationResult(request, idTokenClaims, cacheRecord, accountEntity, authority) {
190
+ let accessToken = Constants.EMPTY_STRING;
191
+ let responseScopes = [];
192
+ let expiresOn = null;
193
+ let extExpiresOn;
194
+ if (cacheRecord?.accessToken) {
195
+ accessToken = cacheRecord.accessToken.secret;
196
+ responseScopes = ScopeSet.fromString(cacheRecord.accessToken.target).asArray();
197
+ expiresOn = new Date(Number(cacheRecord.accessToken.expiresOn) * 1000);
198
+ extExpiresOn = new Date(Number(cacheRecord.accessToken.extendedExpiresOn) * 1000);
199
+ }
200
+ const uid = idTokenClaims.oid || idTokenClaims.sub || Constants.EMPTY_STRING;
201
+ const tid = idTokenClaims.tid || Constants.EMPTY_STRING;
202
+ return {
203
+ authority: authority
204
+ ? authority.canonicalAuthority
205
+ : Constants.EMPTY_STRING,
206
+ uniqueId: uid,
207
+ tenantId: tid,
208
+ scopes: responseScopes,
209
+ account: accountEntity.getAccountInfo(),
210
+ idToken: cacheRecord.idToken?.secret || "",
211
+ idTokenClaims: idTokenClaims || {},
212
+ accessToken: accessToken,
213
+ fromCache: true,
214
+ expiresOn: expiresOn,
215
+ correlationId: request.correlationId || Constants.EMPTY_STRING,
216
+ requestId: Constants.EMPTY_STRING,
217
+ extExpiresOn: extExpiresOn,
218
+ familyId: Constants.EMPTY_STRING,
219
+ tokenType: cacheRecord?.accessToken?.tokenType || Constants.EMPTY_STRING,
220
+ state: Constants.EMPTY_STRING,
221
+ cloudGraphHostName: accountEntity.cloudGraphHostName || Constants.EMPTY_STRING,
222
+ msGraphHost: accountEntity.msGraphHost || Constants.EMPTY_STRING,
223
+ code: undefined,
224
+ fromNativeBroker: false,
225
+ };
226
+ }
231
227
  }
232
228
 
233
229
  export { TokenCache };