@okta/okta-auth-js 7.0.2 → 7.1.1

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 (572) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +2 -0
  3. package/cjs/authn/AuthnTransactionImpl.js +6 -8
  4. package/cjs/authn/AuthnTransactionImpl.js.map +1 -1
  5. package/cjs/authn/api.js +3 -18
  6. package/cjs/authn/api.js.map +1 -1
  7. package/cjs/authn/factory.js +1 -7
  8. package/cjs/authn/factory.js.map +1 -1
  9. package/cjs/authn/index.js +0 -5
  10. package/cjs/authn/index.js.map +1 -1
  11. package/cjs/authn/mixin.js +14 -22
  12. package/cjs/authn/mixin.js.map +1 -1
  13. package/cjs/authn/util/flattenEmbedded.js +5 -12
  14. package/cjs/authn/util/flattenEmbedded.js.map +1 -1
  15. package/cjs/authn/util/link2fn.js +0 -22
  16. package/cjs/authn/util/link2fn.js.map +1 -1
  17. package/cjs/authn/util/links2fns.js +0 -12
  18. package/cjs/authn/util/links2fns.js.map +1 -1
  19. package/cjs/authn/util/poll.js +9 -27
  20. package/cjs/authn/util/poll.js.map +1 -1
  21. package/cjs/authn/util/stateToken.js +3 -4
  22. package/cjs/authn/util/stateToken.js.map +1 -1
  23. package/cjs/base/factory.js +6 -14
  24. package/cjs/base/factory.js.map +1 -1
  25. package/cjs/base/index.js +0 -5
  26. package/cjs/base/index.js.map +1 -1
  27. package/cjs/base/options.js +1 -2
  28. package/cjs/base/options.js.map +1 -1
  29. package/cjs/browser/browserStorage.js +15 -43
  30. package/cjs/browser/browserStorage.js.map +1 -1
  31. package/cjs/browser/fingerprint.js +3 -15
  32. package/cjs/browser/fingerprint.js.map +1 -1
  33. package/cjs/clock.js +5 -7
  34. package/cjs/clock.js.map +1 -1
  35. package/cjs/constants.js +4 -3
  36. package/cjs/constants.js.map +1 -1
  37. package/cjs/core/AuthStateManager.js +24 -48
  38. package/cjs/core/AuthStateManager.js.map +1 -1
  39. package/cjs/core/ServiceManager/browser.js +13 -33
  40. package/cjs/core/ServiceManager/browser.js.map +1 -1
  41. package/cjs/core/ServiceManager/index.js +0 -1
  42. package/cjs/core/ServiceManager/index.js.map +1 -1
  43. package/cjs/core/ServiceManager/node.js +3 -9
  44. package/cjs/core/ServiceManager/node.js.map +1 -1
  45. package/cjs/core/factory.js +0 -7
  46. package/cjs/core/factory.js.map +1 -1
  47. package/cjs/core/index.js +0 -13
  48. package/cjs/core/index.js.map +1 -1
  49. package/cjs/core/mixin.js +16 -20
  50. package/cjs/core/mixin.js.map +1 -1
  51. package/cjs/core/options.js +1 -3
  52. package/cjs/core/options.js.map +1 -1
  53. package/cjs/core/storage.js +0 -2
  54. package/cjs/core/storage.js.map +1 -1
  55. package/cjs/core/types/index.js +0 -5
  56. package/cjs/core/types/index.js.map +1 -1
  57. package/cjs/crypto/base64.js +9 -22
  58. package/cjs/crypto/base64.js.map +1 -1
  59. package/cjs/crypto/browser.js +0 -4
  60. package/cjs/crypto/browser.js.map +1 -1
  61. package/cjs/crypto/index.js +0 -9
  62. package/cjs/crypto/index.js.map +1 -1
  63. package/cjs/crypto/node.js +0 -13
  64. package/cjs/crypto/node.js.map +1 -1
  65. package/cjs/crypto/oidcHash.js +1 -4
  66. package/cjs/crypto/oidcHash.js.map +1 -1
  67. package/cjs/crypto/verifyToken.js +6 -7
  68. package/cjs/crypto/verifyToken.js.map +1 -1
  69. package/cjs/crypto/webcrypto.js +0 -1
  70. package/cjs/crypto/webcrypto.js.map +1 -1
  71. package/cjs/errors/AuthApiError.js +1 -7
  72. package/cjs/errors/AuthApiError.js.map +1 -1
  73. package/cjs/errors/AuthPollStopError.js +1 -5
  74. package/cjs/errors/AuthPollStopError.js.map +1 -1
  75. package/cjs/errors/AuthSdkError.js +1 -6
  76. package/cjs/errors/AuthSdkError.js.map +1 -1
  77. package/cjs/errors/CustomError.js +1 -4
  78. package/cjs/errors/CustomError.js.map +1 -1
  79. package/cjs/errors/OAuthError.js +4 -7
  80. package/cjs/errors/OAuthError.js.map +1 -1
  81. package/cjs/errors/index.js +1 -9
  82. package/cjs/errors/index.js.map +1 -1
  83. package/cjs/exports/authn.js +0 -9
  84. package/cjs/exports/authn.js.map +1 -1
  85. package/cjs/exports/cdn/authn.js +0 -2
  86. package/cjs/exports/cdn/authn.js.map +1 -1
  87. package/cjs/exports/cdn/core.js +0 -2
  88. package/cjs/exports/cdn/core.js.map +1 -1
  89. package/cjs/exports/cdn/default.js +0 -2
  90. package/cjs/exports/cdn/default.js.map +1 -1
  91. package/cjs/exports/cdn/idx.js +0 -2
  92. package/cjs/exports/cdn/idx.js.map +1 -1
  93. package/cjs/exports/cdn/myaccount.js +0 -2
  94. package/cjs/exports/cdn/myaccount.js.map +1 -1
  95. package/cjs/exports/common.js +0 -22
  96. package/cjs/exports/common.js.map +1 -1
  97. package/cjs/exports/core.js +0 -9
  98. package/cjs/exports/core.js.map +1 -1
  99. package/cjs/exports/default.js +2 -12
  100. package/cjs/exports/default.js.map +1 -1
  101. package/cjs/exports/idx.js +3 -7
  102. package/cjs/exports/idx.js.map +1 -1
  103. package/cjs/exports/myaccount.js +0 -9
  104. package/cjs/exports/myaccount.js.map +1 -1
  105. package/cjs/features.js +1 -18
  106. package/cjs/features.js.map +1 -1
  107. package/cjs/fetch/fetchRequest.js +6 -20
  108. package/cjs/fetch/fetchRequest.js.map +1 -1
  109. package/cjs/http/OktaUserAgent.js +3 -11
  110. package/cjs/http/OktaUserAgent.js.map +1 -1
  111. package/cjs/http/headers.js +1 -1
  112. package/cjs/http/headers.js.map +1 -1
  113. package/cjs/http/index.js +0 -11
  114. package/cjs/http/index.js.map +1 -1
  115. package/cjs/http/mixin.js +2 -10
  116. package/cjs/http/mixin.js.map +1 -1
  117. package/cjs/http/options.js +1 -5
  118. package/cjs/http/options.js.map +1 -1
  119. package/cjs/http/request.js +75 -57
  120. package/cjs/http/request.js.map +1 -1
  121. package/cjs/idx/IdxTransactionManager.js +2 -22
  122. package/cjs/idx/IdxTransactionManager.js.map +1 -1
  123. package/cjs/idx/authenticate.js +3 -5
  124. package/cjs/idx/authenticate.js.map +1 -1
  125. package/cjs/idx/authenticator/Authenticator.js +2 -4
  126. package/cjs/idx/authenticator/Authenticator.js.map +1 -1
  127. package/cjs/idx/authenticator/OktaPassword.js +2 -10
  128. package/cjs/idx/authenticator/OktaPassword.js.map +1 -1
  129. package/cjs/idx/authenticator/OktaVerifyTotp.js +0 -6
  130. package/cjs/idx/authenticator/OktaVerifyTotp.js.map +1 -1
  131. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js +0 -10
  132. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -1
  133. package/cjs/idx/authenticator/SecurityQuestionVerification.js +1 -10
  134. package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -1
  135. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js +2 -10
  136. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -1
  137. package/cjs/idx/authenticator/WebauthnEnrollment.js +0 -8
  138. package/cjs/idx/authenticator/WebauthnEnrollment.js.map +1 -1
  139. package/cjs/idx/authenticator/WebauthnVerification.js +0 -8
  140. package/cjs/idx/authenticator/WebauthnVerification.js.map +1 -1
  141. package/cjs/idx/authenticator/getAuthenticator.js +0 -15
  142. package/cjs/idx/authenticator/getAuthenticator.js.map +1 -1
  143. package/cjs/idx/authenticator/index.js +0 -15
  144. package/cjs/idx/authenticator/index.js.map +1 -1
  145. package/cjs/idx/authenticator/util.js +8 -18
  146. package/cjs/idx/authenticator/util.js.map +1 -1
  147. package/cjs/idx/cancel.js +3 -4
  148. package/cjs/idx/cancel.js.map +1 -1
  149. package/cjs/idx/emailVerify.js +5 -13
  150. package/cjs/idx/emailVerify.js.map +1 -1
  151. package/cjs/idx/factory/OktaAuthIdx.js +0 -3
  152. package/cjs/idx/factory/OktaAuthIdx.js.map +1 -1
  153. package/cjs/idx/factory/api.js +1 -17
  154. package/cjs/idx/factory/api.js.map +1 -1
  155. package/cjs/idx/factory/index.js +0 -3
  156. package/cjs/idx/factory/index.js.map +1 -1
  157. package/cjs/idx/flow/AccountUnlockFlow.js +1 -2
  158. package/cjs/idx/flow/AccountUnlockFlow.js.map +1 -1
  159. package/cjs/idx/flow/AuthenticationFlow.js +1 -2
  160. package/cjs/idx/flow/AuthenticationFlow.js.map +1 -1
  161. package/cjs/idx/flow/FlowSpecification.js +2 -13
  162. package/cjs/idx/flow/FlowSpecification.js.map +1 -1
  163. package/cjs/idx/flow/PasswordRecoveryFlow.js +1 -2
  164. package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -1
  165. package/cjs/idx/flow/RegistrationFlow.js +1 -2
  166. package/cjs/idx/flow/RegistrationFlow.js.map +1 -1
  167. package/cjs/idx/flow/index.js +0 -11
  168. package/cjs/idx/flow/index.js.map +1 -1
  169. package/cjs/idx/handleInteractionCodeRedirect.js +7 -12
  170. package/cjs/idx/handleInteractionCodeRedirect.js.map +1 -1
  171. package/cjs/idx/idxState/index.js +1 -11
  172. package/cjs/idx/idxState/index.js.map +1 -1
  173. package/cjs/idx/idxState/v1/actionParser.js +1 -12
  174. package/cjs/idx/idxState/v1/actionParser.js.map +1 -1
  175. package/cjs/idx/idxState/v1/generateIdxAction.js +10 -15
  176. package/cjs/idx/idxState/v1/generateIdxAction.js.map +1 -1
  177. package/cjs/idx/idxState/v1/idxResponseParser.js +7 -23
  178. package/cjs/idx/idxState/v1/idxResponseParser.js.map +1 -1
  179. package/cjs/idx/idxState/v1/makeIdxState.js +2 -10
  180. package/cjs/idx/idxState/v1/makeIdxState.js.map +1 -1
  181. package/cjs/idx/idxState/v1/parsers.js +0 -2
  182. package/cjs/idx/idxState/v1/parsers.js.map +1 -1
  183. package/cjs/idx/idxState/v1/remediationParser.js +2 -4
  184. package/cjs/idx/idxState/v1/remediationParser.js.map +1 -1
  185. package/cjs/idx/index.js +0 -26
  186. package/cjs/idx/index.js.map +1 -1
  187. package/cjs/idx/interact.js +18 -18
  188. package/cjs/idx/interact.js.map +1 -1
  189. package/cjs/idx/introspect.js +5 -14
  190. package/cjs/idx/introspect.js.map +1 -1
  191. package/cjs/idx/mixin.js +0 -9
  192. package/cjs/idx/mixin.js.map +1 -1
  193. package/cjs/idx/options.js +2 -3
  194. package/cjs/idx/options.js.map +1 -1
  195. package/cjs/idx/poll.js +1 -10
  196. package/cjs/idx/poll.js.map +1 -1
  197. package/cjs/idx/proceed.js +3 -9
  198. package/cjs/idx/proceed.js.map +1 -1
  199. package/cjs/idx/recoverPassword.js +3 -4
  200. package/cjs/idx/recoverPassword.js.map +1 -1
  201. package/cjs/idx/register.js +5 -10
  202. package/cjs/idx/register.js.map +1 -1
  203. package/cjs/idx/remediate.js +24 -45
  204. package/cjs/idx/remediate.js.map +1 -1
  205. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js +7 -16
  206. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
  207. package/cjs/idx/remediators/AuthenticatorVerificationData.js +7 -15
  208. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  209. package/cjs/idx/remediators/Base/AuthenticatorData.js +7 -22
  210. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  211. package/cjs/idx/remediators/Base/Remediator.js +38 -67
  212. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  213. package/cjs/idx/remediators/Base/SelectAuthenticator.js +13 -30
  214. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  215. package/cjs/idx/remediators/Base/VerifyAuthenticator.js +5 -13
  216. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  217. package/cjs/idx/remediators/ChallengeAuthenticator.js +1 -5
  218. package/cjs/idx/remediators/ChallengeAuthenticator.js.map +1 -1
  219. package/cjs/idx/remediators/ChallengePoll.js +1 -6
  220. package/cjs/idx/remediators/ChallengePoll.js.map +1 -1
  221. package/cjs/idx/remediators/EnrollAuthenticator.js +1 -5
  222. package/cjs/idx/remediators/EnrollAuthenticator.js.map +1 -1
  223. package/cjs/idx/remediators/EnrollPoll.js +5 -12
  224. package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
  225. package/cjs/idx/remediators/EnrollProfile.js +8 -30
  226. package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
  227. package/cjs/idx/remediators/EnrollmentChannelData.js +5 -13
  228. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -1
  229. package/cjs/idx/remediators/GenericRemediator/GenericRemediator.js +13 -19
  230. package/cjs/idx/remediators/GenericRemediator/GenericRemediator.js.map +1 -1
  231. package/cjs/idx/remediators/GenericRemediator/index.js +0 -1
  232. package/cjs/idx/remediators/GenericRemediator/index.js.map +1 -1
  233. package/cjs/idx/remediators/GenericRemediator/util.js +19 -31
  234. package/cjs/idx/remediators/GenericRemediator/util.js.map +1 -1
  235. package/cjs/idx/remediators/Identify.js +3 -12
  236. package/cjs/idx/remediators/Identify.js.map +1 -1
  237. package/cjs/idx/remediators/ReEnrollAuthenticator.js +3 -10
  238. package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
  239. package/cjs/idx/remediators/RedirectIdp.js +1 -7
  240. package/cjs/idx/remediators/RedirectIdp.js.map +1 -1
  241. package/cjs/idx/remediators/ResetAuthenticator.js +1 -5
  242. package/cjs/idx/remediators/ResetAuthenticator.js.map +1 -1
  243. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js +3 -11
  244. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
  245. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js +1 -5
  246. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -1
  247. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js +6 -15
  248. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -1
  249. package/cjs/idx/remediators/SelectEnrollProfile.js +1 -6
  250. package/cjs/idx/remediators/SelectEnrollProfile.js.map +1 -1
  251. package/cjs/idx/remediators/SelectEnrollmentChannel.js +5 -16
  252. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
  253. package/cjs/idx/remediators/Skip.js +1 -6
  254. package/cjs/idx/remediators/Skip.js.map +1 -1
  255. package/cjs/idx/remediators/index.js +0 -39
  256. package/cjs/idx/remediators/index.js.map +1 -1
  257. package/cjs/idx/remediators/util.js +1 -7
  258. package/cjs/idx/remediators/util.js.map +1 -1
  259. package/cjs/idx/run.js +37 -52
  260. package/cjs/idx/run.js.map +1 -1
  261. package/cjs/idx/startTransaction.js +1 -2
  262. package/cjs/idx/startTransaction.js.map +1 -1
  263. package/cjs/idx/storage.js +3 -22
  264. package/cjs/idx/storage.js.map +1 -1
  265. package/cjs/idx/transactionMeta.js +24 -42
  266. package/cjs/idx/transactionMeta.js.map +1 -1
  267. package/cjs/idx/types/api.js +1 -9
  268. package/cjs/idx/types/api.js.map +1 -1
  269. package/cjs/idx/types/idx-js.js +3 -3
  270. package/cjs/idx/types/idx-js.js.map +1 -1
  271. package/cjs/idx/types/index.js +0 -7
  272. package/cjs/idx/types/index.js.map +1 -1
  273. package/cjs/idx/types/meta.js.map +1 -1
  274. package/cjs/idx/types/options.js.map +1 -1
  275. package/cjs/idx/unlockAccount.js +7 -11
  276. package/cjs/idx/unlockAccount.js.map +1 -1
  277. package/cjs/idx/util.js +24 -76
  278. package/cjs/idx/util.js.map +1 -1
  279. package/cjs/idx/webauthn.js +13 -18
  280. package/cjs/idx/webauthn.js.map +1 -1
  281. package/cjs/myaccount/api.js +0 -5
  282. package/cjs/myaccount/api.js.map +1 -1
  283. package/cjs/myaccount/emailApi.js +6 -21
  284. package/cjs/myaccount/emailApi.js.map +1 -1
  285. package/cjs/myaccount/factory.js +0 -3
  286. package/cjs/myaccount/factory.js.map +1 -1
  287. package/cjs/myaccount/index.js +0 -7
  288. package/cjs/myaccount/index.js.map +1 -1
  289. package/cjs/myaccount/mixin.js +0 -5
  290. package/cjs/myaccount/mixin.js.map +1 -1
  291. package/cjs/myaccount/phoneApi.js +5 -18
  292. package/cjs/myaccount/phoneApi.js.map +1 -1
  293. package/cjs/myaccount/profileApi.js +2 -9
  294. package/cjs/myaccount/profileApi.js.map +1 -1
  295. package/cjs/myaccount/request.js +12 -78
  296. package/cjs/myaccount/request.js.map +1 -1
  297. package/cjs/myaccount/transactions/Base.js +5 -7
  298. package/cjs/myaccount/transactions/Base.js.map +1 -1
  299. package/cjs/myaccount/transactions/EmailChallengeTransaction.js +5 -10
  300. package/cjs/myaccount/transactions/EmailChallengeTransaction.js.map +1 -1
  301. package/cjs/myaccount/transactions/EmailStatusTransaction.js +2 -7
  302. package/cjs/myaccount/transactions/EmailStatusTransaction.js.map +1 -1
  303. package/cjs/myaccount/transactions/EmailTransaction.js +5 -13
  304. package/cjs/myaccount/transactions/EmailTransaction.js.map +1 -1
  305. package/cjs/myaccount/transactions/PhoneTransaction.js +5 -12
  306. package/cjs/myaccount/transactions/PhoneTransaction.js.map +1 -1
  307. package/cjs/myaccount/transactions/ProfileSchemaTransaction.js +0 -5
  308. package/cjs/myaccount/transactions/ProfileSchemaTransaction.js.map +1 -1
  309. package/cjs/myaccount/transactions/ProfileTransaction.js +0 -5
  310. package/cjs/myaccount/transactions/ProfileTransaction.js.map +1 -1
  311. package/cjs/myaccount/transactions/index.js +0 -8
  312. package/cjs/myaccount/transactions/index.js.map +1 -1
  313. package/cjs/myaccount/types.js +0 -5
  314. package/cjs/myaccount/types.js.map +1 -1
  315. package/cjs/oidc/TokenManager.js +39 -100
  316. package/cjs/oidc/TokenManager.js.map +1 -1
  317. package/cjs/oidc/TransactionManager.js +19 -26
  318. package/cjs/oidc/TransactionManager.js.map +1 -1
  319. package/cjs/oidc/decodeToken.js +1 -5
  320. package/cjs/oidc/decodeToken.js.map +1 -1
  321. package/cjs/oidc/endpoints/authorize.js +9 -13
  322. package/cjs/oidc/endpoints/authorize.js.map +1 -1
  323. package/cjs/oidc/endpoints/index.js +0 -5
  324. package/cjs/oidc/endpoints/index.js.map +1 -1
  325. package/cjs/oidc/endpoints/token.js +5 -17
  326. package/cjs/oidc/endpoints/token.js.map +1 -1
  327. package/cjs/oidc/endpoints/well-known.js +7 -14
  328. package/cjs/oidc/endpoints/well-known.js.map +1 -1
  329. package/cjs/oidc/exchangeCodeForTokens.js +7 -12
  330. package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
  331. package/cjs/oidc/factory/OktaAuthOAuth.js +0 -6
  332. package/cjs/oidc/factory/OktaAuthOAuth.js.map +1 -1
  333. package/cjs/oidc/factory/api.js +6 -20
  334. package/cjs/oidc/factory/api.js.map +1 -1
  335. package/cjs/oidc/factory/index.js +0 -3
  336. package/cjs/oidc/factory/index.js.map +1 -1
  337. package/cjs/oidc/getToken.js +18 -30
  338. package/cjs/oidc/getToken.js.map +1 -1
  339. package/cjs/oidc/getUserInfo.js +1 -15
  340. package/cjs/oidc/getUserInfo.js.map +1 -1
  341. package/cjs/oidc/getWithPopup.js +4 -8
  342. package/cjs/oidc/getWithPopup.js.map +1 -1
  343. package/cjs/oidc/getWithRedirect.js +1 -8
  344. package/cjs/oidc/getWithRedirect.js.map +1 -1
  345. package/cjs/oidc/getWithoutPrompt.js +1 -5
  346. package/cjs/oidc/getWithoutPrompt.js.map +1 -1
  347. package/cjs/oidc/handleOAuthResponse.js +23 -40
  348. package/cjs/oidc/handleOAuthResponse.js.map +1 -1
  349. package/cjs/oidc/index.js +0 -32
  350. package/cjs/oidc/index.js.map +1 -1
  351. package/cjs/oidc/mixin/browser.js +6 -18
  352. package/cjs/oidc/mixin/browser.js.map +1 -1
  353. package/cjs/oidc/mixin/index.js +37 -89
  354. package/cjs/oidc/mixin/index.js.map +1 -1
  355. package/cjs/oidc/mixin/node.js +2 -9
  356. package/cjs/oidc/mixin/node.js.map +1 -1
  357. package/cjs/oidc/options/OAuthOptionsConstructor.js +17 -24
  358. package/cjs/oidc/options/OAuthOptionsConstructor.js.map +1 -1
  359. package/cjs/oidc/options/browser.js.map +1 -1
  360. package/cjs/oidc/options/index.js +0 -1
  361. package/cjs/oidc/options/index.js.map +1 -1
  362. package/cjs/oidc/options/node.js.map +1 -1
  363. package/cjs/oidc/parseFromUrl.js +1 -32
  364. package/cjs/oidc/parseFromUrl.js.map +1 -1
  365. package/cjs/oidc/renewToken.js +5 -16
  366. package/cjs/oidc/renewToken.js.map +1 -1
  367. package/cjs/oidc/renewTokens.js +3 -15
  368. package/cjs/oidc/renewTokens.js.map +1 -1
  369. package/cjs/oidc/renewTokensWithRefresh.js +3 -13
  370. package/cjs/oidc/renewTokensWithRefresh.js.map +1 -1
  371. package/cjs/oidc/revokeToken.js +3 -14
  372. package/cjs/oidc/revokeToken.js.map +1 -1
  373. package/cjs/oidc/storage.js +0 -8
  374. package/cjs/oidc/storage.js.map +1 -1
  375. package/cjs/oidc/types/Token.js +1 -5
  376. package/cjs/oidc/types/Token.js.map +1 -1
  377. package/cjs/oidc/types/TokenManager.js +1 -1
  378. package/cjs/oidc/types/TokenManager.js.map +1 -1
  379. package/cjs/oidc/types/Transaction.js +1 -12
  380. package/cjs/oidc/types/Transaction.js.map +1 -1
  381. package/cjs/oidc/types/UserClaims.js.map +1 -1
  382. package/cjs/oidc/types/api.js.map +1 -1
  383. package/cjs/oidc/types/index.js +0 -21
  384. package/cjs/oidc/types/index.js.map +1 -1
  385. package/cjs/oidc/types/meta.js.map +1 -1
  386. package/cjs/oidc/types/options.js.map +1 -1
  387. package/cjs/oidc/types/proto.js.map +1 -1
  388. package/cjs/oidc/util/browser.js +4 -13
  389. package/cjs/oidc/util/browser.js.map +1 -1
  390. package/cjs/oidc/util/defaultTokenParams.js +5 -5
  391. package/cjs/oidc/util/defaultTokenParams.js.map +1 -1
  392. package/cjs/oidc/util/errors.js +3 -8
  393. package/cjs/oidc/util/errors.js.map +1 -1
  394. package/cjs/oidc/util/index.js +0 -24
  395. package/cjs/oidc/util/index.js.map +1 -1
  396. package/cjs/oidc/util/loginRedirect.js +11 -25
  397. package/cjs/oidc/util/loginRedirect.js.map +1 -1
  398. package/cjs/oidc/util/oauth.js +3 -12
  399. package/cjs/oidc/util/oauth.js.map +1 -1
  400. package/cjs/oidc/util/oauthMeta.js +5 -6
  401. package/cjs/oidc/util/oauthMeta.js.map +1 -1
  402. package/cjs/oidc/util/pkce.js +1 -12
  403. package/cjs/oidc/util/pkce.js.map +1 -1
  404. package/cjs/oidc/util/prepareTokenParams.js +13 -26
  405. package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
  406. package/cjs/oidc/util/refreshToken.js +0 -7
  407. package/cjs/oidc/util/refreshToken.js.map +1 -1
  408. package/cjs/oidc/util/sharedStorage.js +0 -8
  409. package/cjs/oidc/util/sharedStorage.js.map +1 -1
  410. package/cjs/oidc/util/urlParams.js +9 -12
  411. package/cjs/oidc/util/urlParams.js.map +1 -1
  412. package/cjs/oidc/util/validateClaims.js +9 -17
  413. package/cjs/oidc/util/validateClaims.js.map +1 -1
  414. package/cjs/oidc/util/validateToken.js +1 -6
  415. package/cjs/oidc/util/validateToken.js.map +1 -1
  416. package/cjs/oidc/verifyToken.js +13 -23
  417. package/cjs/oidc/verifyToken.js.map +1 -1
  418. package/cjs/server/serverStorage.js +9 -27
  419. package/cjs/server/serverStorage.js.map +1 -1
  420. package/cjs/services/AutoRenewService.js +1 -17
  421. package/cjs/services/AutoRenewService.js.map +1 -1
  422. package/cjs/services/LeaderElectionService.js +1 -23
  423. package/cjs/services/LeaderElectionService.js.map +1 -1
  424. package/cjs/services/SyncStorageService.js +3 -37
  425. package/cjs/services/SyncStorageService.js.map +1 -1
  426. package/cjs/services/index.js +0 -5
  427. package/cjs/services/index.js.map +1 -1
  428. package/cjs/session/api.js +1 -12
  429. package/cjs/session/api.js.map +1 -1
  430. package/cjs/session/factory.js +0 -2
  431. package/cjs/session/factory.js.map +1 -1
  432. package/cjs/session/index.js +0 -7
  433. package/cjs/session/index.js.map +1 -1
  434. package/cjs/session/mixin.js +2 -6
  435. package/cjs/session/mixin.js.map +1 -1
  436. package/cjs/storage/BaseStorageManager.js +13 -25
  437. package/cjs/storage/BaseStorageManager.js.map +1 -1
  438. package/cjs/storage/SavedObject.js +7 -19
  439. package/cjs/storage/SavedObject.js.map +1 -1
  440. package/cjs/storage/index.js +0 -9
  441. package/cjs/storage/index.js.map +1 -1
  442. package/cjs/storage/mixin.js +2 -4
  443. package/cjs/storage/mixin.js.map +1 -1
  444. package/cjs/storage/options/StorageOptionsConstructor.js +3 -6
  445. package/cjs/storage/options/StorageOptionsConstructor.js.map +1 -1
  446. package/cjs/storage/options/browser.js +7 -15
  447. package/cjs/storage/options/browser.js.map +1 -1
  448. package/cjs/storage/options/node.js +3 -6
  449. package/cjs/storage/options/node.js.map +1 -1
  450. package/cjs/util/PromiseQueue.js +7 -15
  451. package/cjs/util/PromiseQueue.js.map +1 -1
  452. package/cjs/util/console.js +3 -7
  453. package/cjs/util/console.js.map +1 -1
  454. package/cjs/util/index.js +0 -11
  455. package/cjs/util/index.js.map +1 -1
  456. package/cjs/util/misc.js +3 -8
  457. package/cjs/util/misc.js.map +1 -1
  458. package/cjs/util/object.js +9 -23
  459. package/cjs/util/object.js.map +1 -1
  460. package/cjs/util/types.js +1 -5
  461. package/cjs/util/types.js.map +1 -1
  462. package/cjs/util/url.js +5 -14
  463. package/cjs/util/url.js.map +1 -1
  464. package/dist/okta-auth-js.authn.min.analyzer.html +3 -3
  465. package/dist/okta-auth-js.authn.min.js +1 -1
  466. package/dist/okta-auth-js.authn.min.js.LICENSE.txt +2 -0
  467. package/dist/okta-auth-js.authn.min.js.map +1 -1
  468. package/dist/okta-auth-js.core.min.analyzer.html +3 -3
  469. package/dist/okta-auth-js.core.min.js +1 -1
  470. package/dist/okta-auth-js.core.min.js.LICENSE.txt +2 -0
  471. package/dist/okta-auth-js.core.min.js.map +1 -1
  472. package/dist/okta-auth-js.idx.min.analyzer.html +3 -3
  473. package/dist/okta-auth-js.idx.min.js +1 -1
  474. package/dist/okta-auth-js.idx.min.js.LICENSE.txt +2 -0
  475. package/dist/okta-auth-js.idx.min.js.map +1 -1
  476. package/dist/okta-auth-js.min.analyzer.html +3 -3
  477. package/dist/okta-auth-js.min.js +1 -1
  478. package/dist/okta-auth-js.min.js.LICENSE.txt +2 -0
  479. package/dist/okta-auth-js.min.js.map +1 -1
  480. package/dist/okta-auth-js.myaccount.min.analyzer.html +3 -3
  481. package/dist/okta-auth-js.myaccount.min.js +1 -1
  482. package/dist/okta-auth-js.myaccount.min.js.LICENSE.txt +2 -0
  483. package/dist/okta-auth-js.myaccount.min.js.map +1 -1
  484. package/dist/okta-auth-js.polyfill.js +1 -1
  485. package/dist/okta-auth-js.polyfill.js.map +1 -1
  486. package/esm/browser/http/OktaUserAgent.js +2 -2
  487. package/esm/browser/http/request.js +56 -23
  488. package/esm/browser/http/request.js.map +1 -1
  489. package/esm/browser/idx/interact.js +2 -2
  490. package/esm/browser/idx/interact.js.map +1 -1
  491. package/esm/browser/idx/run.js +2 -1
  492. package/esm/browser/idx/run.js.map +1 -1
  493. package/esm/browser/idx/transactionMeta.js +3 -2
  494. package/esm/browser/idx/transactionMeta.js.map +1 -1
  495. package/esm/browser/idx/types/idx-js.js.map +1 -1
  496. package/esm/browser/myaccount/request.js +2 -43
  497. package/esm/browser/myaccount/request.js.map +1 -1
  498. package/esm/browser/oidc/endpoints/authorize.js +1 -0
  499. package/esm/browser/oidc/endpoints/authorize.js.map +1 -1
  500. package/esm/browser/oidc/exchangeCodeForTokens.js +2 -1
  501. package/esm/browser/oidc/exchangeCodeForTokens.js.map +1 -1
  502. package/esm/browser/oidc/handleOAuthResponse.js +17 -16
  503. package/esm/browser/oidc/handleOAuthResponse.js.map +1 -1
  504. package/esm/browser/oidc/options/OAuthOptionsConstructor.js +2 -0
  505. package/esm/browser/oidc/options/OAuthOptionsConstructor.js.map +1 -1
  506. package/esm/browser/oidc/util/defaultTokenParams.js +3 -1
  507. package/esm/browser/oidc/util/defaultTokenParams.js.map +1 -1
  508. package/esm/browser/oidc/util/oauthMeta.js +1 -0
  509. package/esm/browser/oidc/util/oauthMeta.js.map +1 -1
  510. package/esm/browser/oidc/util/validateClaims.js +9 -4
  511. package/esm/browser/oidc/util/validateClaims.js.map +1 -1
  512. package/esm/browser/oidc/verifyToken.js +2 -2
  513. package/esm/browser/oidc/verifyToken.js.map +1 -1
  514. package/esm/browser/package.json +1 -1
  515. package/esm/node/http/OktaUserAgent.js +2 -2
  516. package/esm/node/http/request.js +56 -23
  517. package/esm/node/http/request.js.map +1 -1
  518. package/esm/node/idx/interact.js +2 -2
  519. package/esm/node/idx/interact.js.map +1 -1
  520. package/esm/node/idx/run.js +2 -1
  521. package/esm/node/idx/run.js.map +1 -1
  522. package/esm/node/idx/transactionMeta.js +3 -2
  523. package/esm/node/idx/transactionMeta.js.map +1 -1
  524. package/esm/node/idx/types/idx-js.js.map +1 -1
  525. package/esm/node/myaccount/request.js +2 -43
  526. package/esm/node/myaccount/request.js.map +1 -1
  527. package/esm/node/oidc/endpoints/authorize.js +1 -0
  528. package/esm/node/oidc/endpoints/authorize.js.map +1 -1
  529. package/esm/node/oidc/exchangeCodeForTokens.js +2 -1
  530. package/esm/node/oidc/exchangeCodeForTokens.js.map +1 -1
  531. package/esm/node/oidc/handleOAuthResponse.js +17 -16
  532. package/esm/node/oidc/handleOAuthResponse.js.map +1 -1
  533. package/esm/node/oidc/options/OAuthOptionsConstructor.js +2 -0
  534. package/esm/node/oidc/options/OAuthOptionsConstructor.js.map +1 -1
  535. package/esm/node/oidc/util/defaultTokenParams.js +3 -1
  536. package/esm/node/oidc/util/defaultTokenParams.js.map +1 -1
  537. package/esm/node/oidc/util/oauthMeta.js +1 -0
  538. package/esm/node/oidc/util/oauthMeta.js.map +1 -1
  539. package/esm/node/oidc/util/validateClaims.js +9 -4
  540. package/esm/node/oidc/util/validateClaims.js.map +1 -1
  541. package/esm/node/oidc/verifyToken.js +2 -2
  542. package/esm/node/oidc/verifyToken.js.map +1 -1
  543. package/esm/node/package.json +1 -1
  544. package/package.json +12 -13
  545. package/polyfill/index.js +8 -5
  546. package/types/lib/core/options.d.ts +2 -0
  547. package/types/lib/idx/interact.d.ts +1 -0
  548. package/types/lib/idx/options.d.ts +2 -0
  549. package/types/lib/idx/types/idx-js.d.ts +4 -0
  550. package/types/lib/idx/types/meta.d.ts +1 -0
  551. package/types/lib/idx/types/options.d.ts +1 -0
  552. package/types/lib/oidc/options/OAuthOptionsConstructor.d.ts +2 -0
  553. package/types/lib/oidc/types/UserClaims.d.ts +1 -0
  554. package/types/lib/oidc/types/api.d.ts +1 -0
  555. package/types/lib/oidc/types/meta.d.ts +1 -1
  556. package/types/lib/oidc/types/options.d.ts +2 -1
  557. package/types/lib/oidc/types/proto.d.ts +1 -0
  558. package/umd/authn.js +1 -1
  559. package/umd/authn.js.LICENSE.txt +2 -0
  560. package/umd/authn.js.map +1 -1
  561. package/umd/core.js +1 -1
  562. package/umd/core.js.LICENSE.txt +2 -0
  563. package/umd/core.js.map +1 -1
  564. package/umd/default.js +1 -1
  565. package/umd/default.js.LICENSE.txt +2 -0
  566. package/umd/default.js.map +1 -1
  567. package/umd/idx.js +1 -1
  568. package/umd/idx.js.LICENSE.txt +2 -0
  569. package/umd/idx.js.map +1 -1
  570. package/umd/myaccount.js +1 -1
  571. package/umd/myaccount.js.LICENSE.txt +2 -0
  572. package/umd/myaccount.js.map +1 -1
@@ -1,17 +1,11 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  exports.INITIAL_AUTH_STATE = exports.AuthStateManager = void 0;
6
-
7
5
  var _pCancelable = _interopRequireDefault(require("p-cancelable"));
8
-
9
6
  var _errors = require("../errors");
10
-
11
7
  var _oidc = require("../oidc");
12
-
13
8
  var _util = require("../util");
14
-
15
9
  /*!
16
10
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
17
11
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -23,9 +17,11 @@ var _util = require("../util");
23
17
  *
24
18
  * See the License for the specific language governing permissions and limitations under the License.
25
19
  */
20
+
26
21
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27
22
  // @ts-ignore
28
23
  // Do not use this type in code, so it won't be emitted in the declaration output
24
+
29
25
  const INITIAL_AUTH_STATE = null;
30
26
  exports.INITIAL_AUTH_STATE = INITIAL_AUTH_STATE;
31
27
  const DEFAULT_PENDING = {
@@ -33,42 +29,41 @@ const DEFAULT_PENDING = {
33
29
  canceledTimes: 0
34
30
  };
35
31
  const EVENT_AUTH_STATE_CHANGE = 'authStateChange';
36
- const MAX_PROMISE_CANCEL_TIMES = 10; // only compare first level of authState
32
+ const MAX_PROMISE_CANCEL_TIMES = 10;
37
33
 
34
+ // only compare first level of authState
38
35
  const isSameAuthState = (prevState, state) => {
39
36
  // initial state is null
40
37
  if (!prevState) {
41
38
  return false;
42
39
  }
43
-
44
40
  return prevState.isAuthenticated === state.isAuthenticated && JSON.stringify(prevState.idToken) === JSON.stringify(state.idToken) && JSON.stringify(prevState.accessToken) === JSON.stringify(state.accessToken) && prevState.error === state.error;
45
41
  };
46
-
47
42
  class AuthStateManager {
48
43
  constructor(sdk) {
49
44
  if (!sdk.emitter) {
50
45
  throw new _errors.AuthSdkError('Emitter should be initialized before AuthStateManager');
51
46
  }
52
-
53
47
  this._sdk = sdk;
54
- this._pending = { ...DEFAULT_PENDING
48
+ this._pending = {
49
+ ...DEFAULT_PENDING
55
50
  };
56
51
  this._authState = INITIAL_AUTH_STATE;
57
52
  this._logOptions = {};
58
53
  this._prevAuthState = null;
59
54
  this._transformQueue = new _util.PromiseQueue({
60
55
  quiet: true
61
- }); // Listen on tokenManager events to start updateState process
56
+ });
57
+
58
+ // Listen on tokenManager events to start updateState process
62
59
  // "added" event is emitted in both add and renew process
63
60
  // Only listen on "added" event to update auth state
64
-
65
61
  sdk.tokenManager.on(_oidc.EVENT_ADDED, (key, token) => {
66
62
  this._setLogOptions({
67
63
  event: _oidc.EVENT_ADDED,
68
64
  key,
69
65
  token
70
66
  });
71
-
72
67
  this.updateAuthState();
73
68
  });
74
69
  sdk.tokenManager.on(_oidc.EVENT_REMOVED, (key, token) => {
@@ -77,29 +72,23 @@ class AuthStateManager {
77
72
  key,
78
73
  token
79
74
  });
80
-
81
75
  this.updateAuthState();
82
76
  });
83
77
  }
84
-
85
78
  _setLogOptions(options) {
86
79
  this._logOptions = options;
87
80
  }
88
-
89
81
  getAuthState() {
90
82
  return this._authState;
91
83
  }
92
-
93
84
  getPreviousAuthState() {
94
85
  return this._prevAuthState;
95
86
  }
96
-
97
87
  async updateAuthState() {
98
88
  const {
99
89
  transformAuthState,
100
90
  devMode
101
91
  } = this._sdk.options;
102
-
103
92
  const log = status => {
104
93
  const {
105
94
  event,
@@ -109,38 +98,33 @@ class AuthStateManager {
109
98
  (0, _util.getConsole)().group(`OKTA-AUTH-JS:updateAuthState: Event:${event} Status:${status}`);
110
99
  (0, _util.getConsole)().log(key, token);
111
100
  (0, _util.getConsole)().log('Current authState', this._authState);
112
- (0, _util.getConsole)().groupEnd(); // clear log options after logging
101
+ (0, _util.getConsole)().groupEnd();
113
102
 
103
+ // clear log options after logging
114
104
  this._logOptions = {};
115
105
  };
116
-
117
106
  const emitAuthStateChange = authState => {
118
107
  if (isSameAuthState(this._authState, authState)) {
119
108
  devMode && log('unchanged');
120
109
  return;
121
110
  }
122
-
123
111
  this._prevAuthState = this._authState;
124
- this._authState = authState; // emit new authState object
125
-
126
- this._sdk.emitter.emit(EVENT_AUTH_STATE_CHANGE, { ...authState
112
+ this._authState = authState;
113
+ // emit new authState object
114
+ this._sdk.emitter.emit(EVENT_AUTH_STATE_CHANGE, {
115
+ ...authState
127
116
  });
128
-
129
117
  devMode && log('emitted');
130
118
  };
131
-
132
119
  const finalPromise = origPromise => {
133
120
  return this._pending.updateAuthStatePromise.then(() => {
134
121
  const curPromise = this._pending.updateAuthStatePromise;
135
-
136
122
  if (curPromise && curPromise !== origPromise) {
137
123
  return finalPromise(curPromise);
138
124
  }
139
-
140
125
  return this.getAuthState();
141
126
  });
142
127
  };
143
-
144
128
  if (this._pending.updateAuthStatePromise) {
145
129
  if (this._pending.canceledTimes >= MAX_PROMISE_CANCEL_TIMES) {
146
130
  // stop canceling then starting a new promise
@@ -151,9 +135,8 @@ class AuthStateManager {
151
135
  this._pending.updateAuthStatePromise.cancel();
152
136
  }
153
137
  }
154
- /* eslint-disable complexity */
155
-
156
138
 
139
+ /* eslint-disable complexity */
157
140
  const cancelablePromise = new _pCancelable.default((resolve, _, onCancel) => {
158
141
  onCancel.shouldReject = false;
159
142
  onCancel(() => {
@@ -161,40 +144,38 @@ class AuthStateManager {
161
144
  this._pending.canceledTimes = this._pending.canceledTimes + 1;
162
145
  devMode && log('canceled');
163
146
  });
164
-
165
147
  const emitAndResolve = authState => {
166
148
  if (cancelablePromise.isCanceled) {
167
149
  resolve();
168
150
  return;
169
- } // emit event and resolve promise
170
-
171
-
151
+ }
152
+ // emit event and resolve promise
172
153
  emitAuthStateChange(authState);
173
- resolve(); // clear pending states after resolve
154
+ resolve();
174
155
 
175
- this._pending = { ...DEFAULT_PENDING
156
+ // clear pending states after resolve
157
+ this._pending = {
158
+ ...DEFAULT_PENDING
176
159
  };
177
160
  };
178
-
179
161
  this._sdk.isAuthenticated().then(() => {
180
162
  if (cancelablePromise.isCanceled) {
181
163
  resolve();
182
164
  return;
183
165
  }
184
-
185
166
  const {
186
167
  accessToken,
187
168
  idToken,
188
169
  refreshToken
189
170
  } = this._sdk.tokenManager.getTokensSync();
190
-
191
171
  const authState = {
192
172
  accessToken,
193
173
  idToken,
194
174
  refreshToken,
195
175
  isAuthenticated: !!(accessToken && idToken)
196
- }; // Enqueue transformAuthState so that it does not run concurrently
176
+ };
197
177
 
178
+ // Enqueue transformAuthState so that it does not run concurrently
198
179
  const promise = transformAuthState ? this._transformQueue.push(transformAuthState, null, this._sdk, authState) : Promise.resolve(authState);
199
180
  promise.then(authState => emitAndResolve(authState)).catch(error => emitAndResolve({
200
181
  accessToken,
@@ -206,20 +187,15 @@ class AuthStateManager {
206
187
  });
207
188
  });
208
189
  /* eslint-enable complexity */
209
-
210
190
  this._pending.updateAuthStatePromise = cancelablePromise;
211
191
  return finalPromise(cancelablePromise);
212
192
  }
213
-
214
193
  subscribe(handler) {
215
194
  this._sdk.emitter.on(EVENT_AUTH_STATE_CHANGE, handler);
216
195
  }
217
-
218
196
  unsubscribe(handler) {
219
197
  this._sdk.emitter.off(EVENT_AUTH_STATE_CHANGE, handler);
220
198
  }
221
-
222
199
  }
223
-
224
200
  exports.AuthStateManager = AuthStateManager;
225
201
  //# sourceMappingURL=AuthStateManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthStateManager.js","names":["INITIAL_AUTH_STATE","DEFAULT_PENDING","updateAuthStatePromise","canceledTimes","EVENT_AUTH_STATE_CHANGE","MAX_PROMISE_CANCEL_TIMES","isSameAuthState","prevState","state","isAuthenticated","JSON","stringify","idToken","accessToken","error","AuthStateManager","constructor","sdk","emitter","AuthSdkError","_sdk","_pending","_authState","_logOptions","_prevAuthState","_transformQueue","PromiseQueue","quiet","tokenManager","on","EVENT_ADDED","key","token","_setLogOptions","event","updateAuthState","EVENT_REMOVED","options","getAuthState","getPreviousAuthState","transformAuthState","devMode","log","status","getConsole","group","groupEnd","emitAuthStateChange","authState","emit","finalPromise","origPromise","then","curPromise","cancel","cancelablePromise","PCancelable","resolve","_","onCancel","shouldReject","emitAndResolve","isCanceled","refreshToken","getTokensSync","promise","push","Promise","catch","subscribe","handler","unsubscribe","off"],"sources":["../../../lib/core/AuthStateManager.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n \n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore \n// Do not use this type in code, so it won't be emitted in the declaration output\nimport PCancelable from 'p-cancelable';\nimport { AuthSdkError } from '../errors';\nimport {\n EVENT_ADDED,\n EVENT_REMOVED,\n OAuthStorageManagerInterface,\n OAuthTransactionMeta,\n OktaAuthOAuthInterface\n} from '../oidc';\nimport {\n AuthState,\n AuthStateLogOptions,\n OktaAuthCoreOptions,\n} from './types';\nimport { PromiseQueue, getConsole } from '../util';\n\nexport const INITIAL_AUTH_STATE = null;\nconst DEFAULT_PENDING = {\n updateAuthStatePromise: null,\n canceledTimes: 0\n};\nconst EVENT_AUTH_STATE_CHANGE = 'authStateChange';\nconst MAX_PROMISE_CANCEL_TIMES = 10;\n\n// only compare first level of authState\nconst isSameAuthState = (prevState: AuthState | null, state: AuthState) => {\n // initial state is null\n if (!prevState) {\n return false;\n }\n\n return prevState.isAuthenticated === state.isAuthenticated \n && JSON.stringify(prevState.idToken) === JSON.stringify(state.idToken)\n && JSON.stringify(prevState.accessToken) === JSON.stringify(state.accessToken)\n && prevState.error === state.error;\n};\n\n\nexport class AuthStateManager\n<\n M extends OAuthTransactionMeta,\n S extends OAuthStorageManagerInterface<M>,\n O extends OktaAuthCoreOptions\n>\n{\n _sdk: OktaAuthOAuthInterface<M, S, O>;\n _pending: { \n updateAuthStatePromise: any;\n canceledTimes: number; \n };\n _authState: AuthState | null;\n _prevAuthState: AuthState | null;\n _logOptions: AuthStateLogOptions;\n _transformQueue: PromiseQueue;\n\n constructor(sdk: OktaAuthOAuthInterface<M, S, O>) {\n if (!sdk.emitter) {\n throw new AuthSdkError('Emitter should be initialized before AuthStateManager');\n }\n\n this._sdk = sdk;\n this._pending = { ...DEFAULT_PENDING };\n this._authState = INITIAL_AUTH_STATE;\n this._logOptions = {};\n this._prevAuthState = null;\n this._transformQueue = new PromiseQueue({\n quiet: true\n });\n\n // Listen on tokenManager events to start updateState process\n // \"added\" event is emitted in both add and renew process\n // Only listen on \"added\" event to update auth state\n sdk.tokenManager.on(EVENT_ADDED, (key, token) => {\n this._setLogOptions({ event: EVENT_ADDED, key, token });\n this.updateAuthState();\n });\n sdk.tokenManager.on(EVENT_REMOVED, (key, token) => {\n this._setLogOptions({ event: EVENT_REMOVED, key, token });\n this.updateAuthState();\n });\n }\n\n _setLogOptions(options) {\n this._logOptions = options;\n }\n\n getAuthState(): AuthState | null {\n return this._authState;\n }\n\n getPreviousAuthState(): AuthState | null {\n return this._prevAuthState;\n }\n\n async updateAuthState(): Promise<AuthState> {\n const { transformAuthState, devMode } = this._sdk.options;\n\n const log = (status) => {\n const { event, key, token } = this._logOptions;\n getConsole().group(`OKTA-AUTH-JS:updateAuthState: Event:${event} Status:${status}`);\n getConsole().log(key, token);\n getConsole().log('Current authState', this._authState);\n getConsole().groupEnd();\n \n // clear log options after logging\n this._logOptions = {};\n };\n\n const emitAuthStateChange = (authState) => {\n if (isSameAuthState(this._authState, authState)) {\n devMode && log('unchanged'); \n return;\n }\n this._prevAuthState = this._authState;\n this._authState = authState;\n // emit new authState object\n this._sdk.emitter.emit(EVENT_AUTH_STATE_CHANGE, { ...authState });\n devMode && log('emitted');\n };\n\n const finalPromise = (origPromise) => { \n return this._pending.updateAuthStatePromise.then(() => {\n const curPromise = this._pending.updateAuthStatePromise;\n if (curPromise && curPromise !== origPromise) {\n return finalPromise(curPromise);\n }\n return this.getAuthState();\n });\n };\n\n if (this._pending.updateAuthStatePromise) {\n if (this._pending.canceledTimes >= MAX_PROMISE_CANCEL_TIMES) {\n // stop canceling then starting a new promise\n // let existing promise finish to prevent running into loops\n devMode && log('terminated');\n return finalPromise(this._pending.updateAuthStatePromise);\n } else {\n this._pending.updateAuthStatePromise.cancel();\n }\n }\n\n /* eslint-disable complexity */\n const cancelablePromise = new PCancelable((resolve, _, onCancel) => {\n onCancel.shouldReject = false;\n onCancel(() => {\n this._pending.updateAuthStatePromise = null;\n this._pending.canceledTimes = this._pending.canceledTimes + 1;\n devMode && log('canceled');\n });\n\n const emitAndResolve = (authState) => {\n if (cancelablePromise.isCanceled) {\n resolve();\n return;\n }\n // emit event and resolve promise \n emitAuthStateChange(authState);\n resolve();\n\n // clear pending states after resolve\n this._pending = { ...DEFAULT_PENDING };\n };\n\n this._sdk.isAuthenticated()\n .then(() => {\n if (cancelablePromise.isCanceled) {\n resolve();\n return;\n }\n\n const { accessToken, idToken, refreshToken } = this._sdk.tokenManager.getTokensSync();\n const authState = {\n accessToken,\n idToken,\n refreshToken,\n isAuthenticated: !!(accessToken && idToken)\n };\n\n // Enqueue transformAuthState so that it does not run concurrently\n const promise: Promise<AuthState> = transformAuthState\n ? this._transformQueue.push(transformAuthState, null, this._sdk, authState) as Promise<AuthState>\n : Promise.resolve(authState);\n\n promise\n .then(authState => emitAndResolve(authState))\n .catch(error => emitAndResolve({\n accessToken, \n idToken, \n refreshToken,\n isAuthenticated: false, \n error\n }));\n });\n });\n /* eslint-enable complexity */\n this._pending.updateAuthStatePromise = cancelablePromise;\n\n return finalPromise(cancelablePromise);\n }\n\n subscribe(handler): void {\n this._sdk.emitter.on(EVENT_AUTH_STATE_CHANGE, handler);\n }\n\n unsubscribe(handler?): void {\n this._sdk.emitter.off(EVENT_AUTH_STATE_CHANGE, handler);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AuthStateManager.js","names":["INITIAL_AUTH_STATE","DEFAULT_PENDING","updateAuthStatePromise","canceledTimes","EVENT_AUTH_STATE_CHANGE","MAX_PROMISE_CANCEL_TIMES","isSameAuthState","prevState","state","isAuthenticated","JSON","stringify","idToken","accessToken","error","AuthStateManager","constructor","sdk","emitter","AuthSdkError","_sdk","_pending","_authState","_logOptions","_prevAuthState","_transformQueue","PromiseQueue","quiet","tokenManager","on","EVENT_ADDED","key","token","_setLogOptions","event","updateAuthState","EVENT_REMOVED","options","getAuthState","getPreviousAuthState","transformAuthState","devMode","log","status","getConsole","group","groupEnd","emitAuthStateChange","authState","emit","finalPromise","origPromise","then","curPromise","cancel","cancelablePromise","PCancelable","resolve","_","onCancel","shouldReject","emitAndResolve","isCanceled","refreshToken","getTokensSync","promise","push","Promise","catch","subscribe","handler","unsubscribe","off"],"sources":["../../../lib/core/AuthStateManager.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n \n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// @ts-ignore \n// Do not use this type in code, so it won't be emitted in the declaration output\nimport PCancelable from 'p-cancelable';\nimport { AuthSdkError } from '../errors';\nimport {\n EVENT_ADDED,\n EVENT_REMOVED,\n OAuthStorageManagerInterface,\n OAuthTransactionMeta,\n OktaAuthOAuthInterface\n} from '../oidc';\nimport {\n AuthState,\n AuthStateLogOptions,\n OktaAuthCoreOptions,\n} from './types';\nimport { PromiseQueue, getConsole } from '../util';\n\nexport const INITIAL_AUTH_STATE = null;\nconst DEFAULT_PENDING = {\n updateAuthStatePromise: null,\n canceledTimes: 0\n};\nconst EVENT_AUTH_STATE_CHANGE = 'authStateChange';\nconst MAX_PROMISE_CANCEL_TIMES = 10;\n\n// only compare first level of authState\nconst isSameAuthState = (prevState: AuthState | null, state: AuthState) => {\n // initial state is null\n if (!prevState) {\n return false;\n }\n\n return prevState.isAuthenticated === state.isAuthenticated \n && JSON.stringify(prevState.idToken) === JSON.stringify(state.idToken)\n && JSON.stringify(prevState.accessToken) === JSON.stringify(state.accessToken)\n && prevState.error === state.error;\n};\n\n\nexport class AuthStateManager\n<\n M extends OAuthTransactionMeta,\n S extends OAuthStorageManagerInterface<M>,\n O extends OktaAuthCoreOptions\n>\n{\n _sdk: OktaAuthOAuthInterface<M, S, O>;\n _pending: { \n updateAuthStatePromise: any;\n canceledTimes: number; \n };\n _authState: AuthState | null;\n _prevAuthState: AuthState | null;\n _logOptions: AuthStateLogOptions;\n _transformQueue: PromiseQueue;\n\n constructor(sdk: OktaAuthOAuthInterface<M, S, O>) {\n if (!sdk.emitter) {\n throw new AuthSdkError('Emitter should be initialized before AuthStateManager');\n }\n\n this._sdk = sdk;\n this._pending = { ...DEFAULT_PENDING };\n this._authState = INITIAL_AUTH_STATE;\n this._logOptions = {};\n this._prevAuthState = null;\n this._transformQueue = new PromiseQueue({\n quiet: true\n });\n\n // Listen on tokenManager events to start updateState process\n // \"added\" event is emitted in both add and renew process\n // Only listen on \"added\" event to update auth state\n sdk.tokenManager.on(EVENT_ADDED, (key, token) => {\n this._setLogOptions({ event: EVENT_ADDED, key, token });\n this.updateAuthState();\n });\n sdk.tokenManager.on(EVENT_REMOVED, (key, token) => {\n this._setLogOptions({ event: EVENT_REMOVED, key, token });\n this.updateAuthState();\n });\n }\n\n _setLogOptions(options) {\n this._logOptions = options;\n }\n\n getAuthState(): AuthState | null {\n return this._authState;\n }\n\n getPreviousAuthState(): AuthState | null {\n return this._prevAuthState;\n }\n\n async updateAuthState(): Promise<AuthState> {\n const { transformAuthState, devMode } = this._sdk.options;\n\n const log = (status) => {\n const { event, key, token } = this._logOptions;\n getConsole().group(`OKTA-AUTH-JS:updateAuthState: Event:${event} Status:${status}`);\n getConsole().log(key, token);\n getConsole().log('Current authState', this._authState);\n getConsole().groupEnd();\n \n // clear log options after logging\n this._logOptions = {};\n };\n\n const emitAuthStateChange = (authState) => {\n if (isSameAuthState(this._authState, authState)) {\n devMode && log('unchanged'); \n return;\n }\n this._prevAuthState = this._authState;\n this._authState = authState;\n // emit new authState object\n this._sdk.emitter.emit(EVENT_AUTH_STATE_CHANGE, { ...authState });\n devMode && log('emitted');\n };\n\n const finalPromise = (origPromise) => { \n return this._pending.updateAuthStatePromise.then(() => {\n const curPromise = this._pending.updateAuthStatePromise;\n if (curPromise && curPromise !== origPromise) {\n return finalPromise(curPromise);\n }\n return this.getAuthState();\n });\n };\n\n if (this._pending.updateAuthStatePromise) {\n if (this._pending.canceledTimes >= MAX_PROMISE_CANCEL_TIMES) {\n // stop canceling then starting a new promise\n // let existing promise finish to prevent running into loops\n devMode && log('terminated');\n return finalPromise(this._pending.updateAuthStatePromise);\n } else {\n this._pending.updateAuthStatePromise.cancel();\n }\n }\n\n /* eslint-disable complexity */\n const cancelablePromise = new PCancelable((resolve, _, onCancel) => {\n onCancel.shouldReject = false;\n onCancel(() => {\n this._pending.updateAuthStatePromise = null;\n this._pending.canceledTimes = this._pending.canceledTimes + 1;\n devMode && log('canceled');\n });\n\n const emitAndResolve = (authState) => {\n if (cancelablePromise.isCanceled) {\n resolve();\n return;\n }\n // emit event and resolve promise \n emitAuthStateChange(authState);\n resolve();\n\n // clear pending states after resolve\n this._pending = { ...DEFAULT_PENDING };\n };\n\n this._sdk.isAuthenticated()\n .then(() => {\n if (cancelablePromise.isCanceled) {\n resolve();\n return;\n }\n\n const { accessToken, idToken, refreshToken } = this._sdk.tokenManager.getTokensSync();\n const authState = {\n accessToken,\n idToken,\n refreshToken,\n isAuthenticated: !!(accessToken && idToken)\n };\n\n // Enqueue transformAuthState so that it does not run concurrently\n const promise: Promise<AuthState> = transformAuthState\n ? this._transformQueue.push(transformAuthState, null, this._sdk, authState) as Promise<AuthState>\n : Promise.resolve(authState);\n\n promise\n .then(authState => emitAndResolve(authState))\n .catch(error => emitAndResolve({\n accessToken, \n idToken, \n refreshToken,\n isAuthenticated: false, \n error\n }));\n });\n });\n /* eslint-enable complexity */\n this._pending.updateAuthStatePromise = cancelablePromise;\n\n return finalPromise(cancelablePromise);\n }\n\n subscribe(handler): void {\n this._sdk.emitter.on(EVENT_AUTH_STATE_CHANGE, handler);\n }\n\n unsubscribe(handler?): void {\n this._sdk.emitter.off(EVENT_AUTH_STATE_CHANGE, handler);\n }\n}\n"],"mappings":"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"}
@@ -1,15 +1,10 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  exports.ServiceManager = void 0;
6
-
7
5
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
8
-
9
6
  var _services = require("../../services");
10
-
11
7
  var _util = require("../../util");
12
-
13
8
  /*!
14
9
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
15
10
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -21,15 +16,16 @@ var _util = require("../../util");
21
16
  *
22
17
  * See the License for the specific language governing permissions and limitations under the License.
23
18
  */
19
+
24
20
  const AUTO_RENEW = 'autoRenew';
25
21
  const SYNC_STORAGE = 'syncStorage';
26
22
  const LEADER_ELECTION = 'leaderElection';
27
-
28
23
  class ServiceManager {
29
24
  constructor(sdk, options = {}) {
30
25
  this.sdk = sdk;
31
- this.onLeader = this.onLeader.bind(this); // TODO: backwards compatibility, remove in next major version - OKTA-473815
26
+ this.onLeader = this.onLeader.bind(this);
32
27
 
28
+ // TODO: backwards compatibility, remove in next major version - OKTA-473815
33
29
  const {
34
30
  autoRenew,
35
31
  autoRemove,
@@ -48,30 +44,24 @@ class ServiceManager {
48
44
  this.services = new Map();
49
45
  ServiceManager.knownServices.forEach(name => {
50
46
  const svc = this.createService(name);
51
-
52
47
  if (svc) {
53
48
  this.services.set(name, svc);
54
49
  }
55
50
  });
56
51
  }
57
-
58
52
  async onLeader() {
59
53
  if (this.started) {
60
54
  // Start services that requires leadership
61
55
  await this.startServices();
62
56
  }
63
57
  }
64
-
65
58
  isLeader() {
66
59
  var _this$getService;
67
-
68
60
  return (_this$getService = this.getService(LEADER_ELECTION)) === null || _this$getService === void 0 ? void 0 : _this$getService.isLeader();
69
61
  }
70
-
71
62
  isLeaderRequired() {
72
63
  return [...this.services.values()].some(srv => srv.canStart() && srv.requiresLeadership());
73
64
  }
74
-
75
65
  async start() {
76
66
  if (this.started) {
77
67
  return; // noop if services have already started
@@ -80,16 +70,13 @@ class ServiceManager {
80
70
  await this.startServices();
81
71
  this.started = true;
82
72
  }
83
-
84
73
  async stop() {
85
74
  await this.stopServices();
86
75
  this.started = false;
87
76
  }
88
-
89
77
  getService(name) {
90
78
  return this.services.get(name);
91
79
  }
92
-
93
80
  async startServices() {
94
81
  for (const [name, srv] of this.services.entries()) {
95
82
  if (this.canStartService(name, srv)) {
@@ -97,56 +84,49 @@ class ServiceManager {
97
84
  }
98
85
  }
99
86
  }
100
-
101
87
  async stopServices() {
102
88
  for (const srv of this.services.values()) {
103
89
  await srv.stop();
104
90
  }
105
- } // eslint-disable-next-line complexity
106
-
91
+ }
107
92
 
93
+ // eslint-disable-next-line complexity
108
94
  canStartService(name, srv) {
109
- let canStart = srv.canStart() && !srv.isStarted(); // only start election if a leader is required
110
-
95
+ let canStart = srv.canStart() && !srv.isStarted();
96
+ // only start election if a leader is required
111
97
  if (name === LEADER_ELECTION) {
112
98
  canStart && (canStart = this.isLeaderRequired());
113
99
  } else if (srv.requiresLeadership()) {
114
100
  canStart && (canStart = this.isLeader());
115
101
  }
116
-
117
102
  return canStart;
118
103
  }
119
-
120
104
  createService(name) {
121
105
  const tokenManager = this.sdk.tokenManager;
122
106
  let service;
123
-
124
107
  switch (name) {
125
108
  case LEADER_ELECTION:
126
- service = new _services.LeaderElectionService({ ...this.options,
109
+ service = new _services.LeaderElectionService({
110
+ ...this.options,
127
111
  onLeader: this.onLeader
128
112
  });
129
113
  break;
130
-
131
114
  case AUTO_RENEW:
132
- service = new _services.AutoRenewService(tokenManager, { ...this.options
115
+ service = new _services.AutoRenewService(tokenManager, {
116
+ ...this.options
133
117
  });
134
118
  break;
135
-
136
119
  case SYNC_STORAGE:
137
- service = new _services.SyncStorageService(tokenManager, { ...this.options
120
+ service = new _services.SyncStorageService(tokenManager, {
121
+ ...this.options
138
122
  });
139
123
  break;
140
-
141
124
  default:
142
125
  throw new Error(`Unknown service ${name}`);
143
126
  }
144
-
145
127
  return service;
146
128
  }
147
-
148
129
  }
149
-
150
130
  exports.ServiceManager = ServiceManager;
151
131
  (0, _defineProperty2.default)(ServiceManager, "knownServices", [AUTO_RENEW, SYNC_STORAGE, LEADER_ELECTION]);
152
132
  (0, _defineProperty2.default)(ServiceManager, "defaultOptions", {
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","names":["AUTO_RENEW","SYNC_STORAGE","LEADER_ELECTION","ServiceManager","constructor","sdk","options","onLeader","bind","autoRenew","autoRemove","syncStorage","tokenManager","getOptions","electionChannelName","broadcastChannelName","Object","assign","defaultOptions","clientId","syncChannelName","removeNils","started","services","Map","knownServices","forEach","name","svc","createService","set","startServices","isLeader","getService","isLeaderRequired","values","some","srv","canStart","requiresLeadership","start","stop","stopServices","get","entries","canStartService","isStarted","service","LeaderElectionService","AutoRenewService","SyncStorageService","Error"],"sources":["../../../../lib/core/ServiceManager/browser.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nimport {\n OAuthTransactionMeta,\n OAuthStorageManagerInterface,\n} from '../../oidc';\n\nimport {\n ServiceManagerInterface,\n ServiceInterface,\n ServiceManagerOptions,\n OktaAuthCoreInterface,\n OktaAuthCoreOptions\n} from '../types';\nimport { AutoRenewService, SyncStorageService, LeaderElectionService } from '../../services';\nimport { removeNils } from '../../util';\n\nconst AUTO_RENEW = 'autoRenew';\nconst SYNC_STORAGE = 'syncStorage';\nconst LEADER_ELECTION = 'leaderElection';\n\nexport class ServiceManager\n<\n M extends OAuthTransactionMeta,\n S extends OAuthStorageManagerInterface<M>,\n O extends OktaAuthCoreOptions\n>\nimplements ServiceManagerInterface \n{\n private sdk: OktaAuthCoreInterface<M, S, O>;\n private options: ServiceManagerOptions;\n private services: Map<string, ServiceInterface>;\n private started: boolean;\n\n private static knownServices = [AUTO_RENEW, SYNC_STORAGE, LEADER_ELECTION];\n\n private static defaultOptions = {\n autoRenew: true,\n autoRemove: true,\n syncStorage: true\n };\n\n constructor(sdk: OktaAuthCoreInterface<M, S, O>, options: ServiceManagerOptions = {}) {\n this.sdk = sdk;\n this.onLeader = this.onLeader.bind(this);\n\n // TODO: backwards compatibility, remove in next major version - OKTA-473815\n const { autoRenew, autoRemove, syncStorage } = sdk.tokenManager.getOptions();\n options.electionChannelName = options.electionChannelName || options.broadcastChannelName;\n this.options = Object.assign({}, \n ServiceManager.defaultOptions,\n { autoRenew, autoRemove, syncStorage }, \n {\n electionChannelName: `${sdk.options.clientId}-election`,\n syncChannelName: `${sdk.options.clientId}-sync`,\n },\n removeNils(options)\n );\n\n this.started = false;\n this.services = new Map();\n\n ServiceManager.knownServices.forEach(name => {\n const svc = this.createService(name);\n if (svc) {\n this.services.set(name, svc);\n }\n });\n }\n\n private async onLeader() {\n if (this.started) {\n // Start services that requires leadership\n await this.startServices();\n }\n }\n\n isLeader() {\n return (this.getService(LEADER_ELECTION) as LeaderElectionService)?.isLeader();\n }\n\n isLeaderRequired() {\n return [...this.services.values()].some(srv => srv.canStart() && srv.requiresLeadership());\n }\n\n async start() {\n if (this.started) {\n return; // noop if services have already started\n }\n await this.startServices();\n this.started = true;\n }\n \n async stop() {\n await this.stopServices();\n this.started = false;\n }\n\n getService(name: string): ServiceInterface | undefined {\n return this.services.get(name);\n }\n\n private async startServices() {\n for (const [name, srv] of this.services.entries()) {\n if (this.canStartService(name, srv)) {\n await srv.start();\n }\n }\n }\n\n private async stopServices() {\n for (const srv of this.services.values()) {\n await srv.stop();\n }\n }\n\n // eslint-disable-next-line complexity\n private canStartService(name: string, srv: ServiceInterface): boolean {\n let canStart = srv.canStart() && !srv.isStarted();\n // only start election if a leader is required\n if (name === LEADER_ELECTION) {\n canStart &&= this.isLeaderRequired();\n } else if (srv.requiresLeadership()) {\n canStart &&= this.isLeader();\n }\n return canStart;\n }\n\n private createService(name: string): ServiceInterface {\n const tokenManager = this.sdk.tokenManager;\n\n let service: ServiceInterface;\n switch (name) {\n case LEADER_ELECTION:\n service = new LeaderElectionService({...this.options, onLeader: this.onLeader});\n break;\n case AUTO_RENEW:\n service = new AutoRenewService(tokenManager, {...this.options});\n break;\n case SYNC_STORAGE:\n service = new SyncStorageService(tokenManager, {...this.options});\n break;\n default:\n throw new Error(`Unknown service ${name}`);\n }\n return service;\n }\n\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","names":["AUTO_RENEW","SYNC_STORAGE","LEADER_ELECTION","ServiceManager","constructor","sdk","options","onLeader","bind","autoRenew","autoRemove","syncStorage","tokenManager","getOptions","electionChannelName","broadcastChannelName","Object","assign","defaultOptions","clientId","syncChannelName","removeNils","started","services","Map","knownServices","forEach","name","svc","createService","set","startServices","isLeader","getService","isLeaderRequired","values","some","srv","canStart","requiresLeadership","start","stop","stopServices","get","entries","canStartService","isStarted","service","LeaderElectionService","AutoRenewService","SyncStorageService","Error"],"sources":["../../../../lib/core/ServiceManager/browser.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nimport {\n OAuthTransactionMeta,\n OAuthStorageManagerInterface,\n} from '../../oidc';\n\nimport {\n ServiceManagerInterface,\n ServiceInterface,\n ServiceManagerOptions,\n OktaAuthCoreInterface,\n OktaAuthCoreOptions\n} from '../types';\nimport { AutoRenewService, SyncStorageService, LeaderElectionService } from '../../services';\nimport { removeNils } from '../../util';\n\nconst AUTO_RENEW = 'autoRenew';\nconst SYNC_STORAGE = 'syncStorage';\nconst LEADER_ELECTION = 'leaderElection';\n\nexport class ServiceManager\n<\n M extends OAuthTransactionMeta,\n S extends OAuthStorageManagerInterface<M>,\n O extends OktaAuthCoreOptions\n>\nimplements ServiceManagerInterface \n{\n private sdk: OktaAuthCoreInterface<M, S, O>;\n private options: ServiceManagerOptions;\n private services: Map<string, ServiceInterface>;\n private started: boolean;\n\n private static knownServices = [AUTO_RENEW, SYNC_STORAGE, LEADER_ELECTION];\n\n private static defaultOptions = {\n autoRenew: true,\n autoRemove: true,\n syncStorage: true\n };\n\n constructor(sdk: OktaAuthCoreInterface<M, S, O>, options: ServiceManagerOptions = {}) {\n this.sdk = sdk;\n this.onLeader = this.onLeader.bind(this);\n\n // TODO: backwards compatibility, remove in next major version - OKTA-473815\n const { autoRenew, autoRemove, syncStorage } = sdk.tokenManager.getOptions();\n options.electionChannelName = options.electionChannelName || options.broadcastChannelName;\n this.options = Object.assign({}, \n ServiceManager.defaultOptions,\n { autoRenew, autoRemove, syncStorage }, \n {\n electionChannelName: `${sdk.options.clientId}-election`,\n syncChannelName: `${sdk.options.clientId}-sync`,\n },\n removeNils(options)\n );\n\n this.started = false;\n this.services = new Map();\n\n ServiceManager.knownServices.forEach(name => {\n const svc = this.createService(name);\n if (svc) {\n this.services.set(name, svc);\n }\n });\n }\n\n private async onLeader() {\n if (this.started) {\n // Start services that requires leadership\n await this.startServices();\n }\n }\n\n isLeader() {\n return (this.getService(LEADER_ELECTION) as LeaderElectionService)?.isLeader();\n }\n\n isLeaderRequired() {\n return [...this.services.values()].some(srv => srv.canStart() && srv.requiresLeadership());\n }\n\n async start() {\n if (this.started) {\n return; // noop if services have already started\n }\n await this.startServices();\n this.started = true;\n }\n \n async stop() {\n await this.stopServices();\n this.started = false;\n }\n\n getService(name: string): ServiceInterface | undefined {\n return this.services.get(name);\n }\n\n private async startServices() {\n for (const [name, srv] of this.services.entries()) {\n if (this.canStartService(name, srv)) {\n await srv.start();\n }\n }\n }\n\n private async stopServices() {\n for (const srv of this.services.values()) {\n await srv.stop();\n }\n }\n\n // eslint-disable-next-line complexity\n private canStartService(name: string, srv: ServiceInterface): boolean {\n let canStart = srv.canStart() && !srv.isStarted();\n // only start election if a leader is required\n if (name === LEADER_ELECTION) {\n canStart &&= this.isLeaderRequired();\n } else if (srv.requiresLeadership()) {\n canStart &&= this.isLeader();\n }\n return canStart;\n }\n\n private createService(name: string): ServiceInterface {\n const tokenManager = this.sdk.tokenManager;\n\n let service: ServiceInterface;\n switch (name) {\n case LEADER_ELECTION:\n service = new LeaderElectionService({...this.options, onLeader: this.onLeader});\n break;\n case AUTO_RENEW:\n service = new AutoRenewService(tokenManager, {...this.options});\n break;\n case SYNC_STORAGE:\n service = new SyncStorageService(tokenManager, {...this.options});\n break;\n default:\n throw new Error(`Unknown service ${name}`);\n }\n return service;\n }\n\n}\n"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _node = require("./node");
4
-
5
4
  Object.keys(_node).forEach(function (key) {
6
5
  if (key === "default" || key === "__esModule") return;
7
6
  if (key in exports && exports[key] === _node[key]) return;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../lib/core/ServiceManager/index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\n// ./node is swapped for ./browser in webpack config\nexport * from './node';"],"mappings":";;AAcA;;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../lib/core/ServiceManager/index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\n// ./node is swapped for ./browser in webpack config\nexport * from './node';"],"mappings":";;AAcA;AAAA;EAAA;EAAA;EAAA;IAAA;IAAA;MAAA;IAAA;EAAA;AAAA"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.ServiceManager = void 0;
4
-
5
4
  /*!
6
5
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
7
6
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -13,30 +12,25 @@ exports.ServiceManager = void 0;
13
12
  *
14
13
  * See the License for the specific language governing permissions and limitations under the License.
15
14
  */
15
+
16
16
  class ServiceManager {
17
17
  constructor(sdk, options = {}) {
18
18
  this.sdk = sdk;
19
19
  this.options = options;
20
20
  }
21
-
22
21
  isLeader() {
23
22
  return false;
24
23
  }
25
-
26
24
  isLeaderRequired() {
27
25
  return false;
28
26
  }
29
-
30
27
  async start() {}
28
+ async stop() {}
31
29
 
32
- async stop() {} // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
-
34
-
30
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
35
31
  getService(name) {
36
32
  return undefined;
37
33
  }
38
-
39
34
  }
40
-
41
35
  exports.ServiceManager = ServiceManager;
42
36
  //# sourceMappingURL=node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","names":["ServiceManager","constructor","sdk","options","isLeader","isLeaderRequired","start","stop","getService","name","undefined"],"sources":["../../../../lib/core/ServiceManager/node.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nimport {\n OAuthTransactionMeta,\n OAuthStorageManagerInterface,\n} from '../../oidc';\n\nimport {\n ServiceManagerInterface,\n ServiceInterface,\n ServiceManagerOptions,\n OktaAuthCoreInterface,\n OktaAuthCoreOptions\n} from '../types';\n\nexport class ServiceManager\n<\n M extends OAuthTransactionMeta,\n S extends OAuthStorageManagerInterface<M>,\n O extends OktaAuthCoreOptions\n>\nimplements ServiceManagerInterface \n{\n private sdk: OktaAuthCoreInterface<M, S, O>;\n private options: ServiceManagerOptions;\n\n constructor(sdk: OktaAuthCoreInterface<M, S, O>, options: ServiceManagerOptions = {}) {\n this.sdk = sdk;\n this.options = options;\n }\n\n isLeader() {\n return false;\n }\n\n isLeaderRequired() {\n return false;\n }\n\n async start() {\n }\n \n async stop() {\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getService(name: string): ServiceInterface | undefined {\n return undefined;\n }\n}\n"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAgBO,MAAMA,cAAN,CAOP;EAIEC,WAAW,CAACC,GAAD,EAAsCC,OAA8B,GAAG,EAAvE,EAA2E;IACpF,KAAKD,GAAL,GAAWA,GAAX;IACA,KAAKC,OAAL,GAAeA,OAAf;EACD;;EAEDC,QAAQ,GAAG;IACT,OAAO,KAAP;EACD;;EAEDC,gBAAgB,GAAG;IACjB,OAAO,KAAP;EACD;;EAEU,MAALC,KAAK,GAAG,CACb;;EAES,MAAJC,IAAI,GAAG,CACZ,CArBH,CAuBE;;;EACAC,UAAU,CAACC,IAAD,EAA6C;IACrD,OAAOC,SAAP;EACD;;AA1BH"}
1
+ {"version":3,"file":"node.js","names":["ServiceManager","constructor","sdk","options","isLeader","isLeaderRequired","start","stop","getService","name","undefined"],"sources":["../../../../lib/core/ServiceManager/node.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nimport {\n OAuthTransactionMeta,\n OAuthStorageManagerInterface,\n} from '../../oidc';\n\nimport {\n ServiceManagerInterface,\n ServiceInterface,\n ServiceManagerOptions,\n OktaAuthCoreInterface,\n OktaAuthCoreOptions\n} from '../types';\n\nexport class ServiceManager\n<\n M extends OAuthTransactionMeta,\n S extends OAuthStorageManagerInterface<M>,\n O extends OktaAuthCoreOptions\n>\nimplements ServiceManagerInterface \n{\n private sdk: OktaAuthCoreInterface<M, S, O>;\n private options: ServiceManagerOptions;\n\n constructor(sdk: OktaAuthCoreInterface<M, S, O>, options: ServiceManagerOptions = {}) {\n this.sdk = sdk;\n this.options = options;\n }\n\n isLeader() {\n return false;\n }\n\n isLeaderRequired() {\n return false;\n }\n\n async start() {\n }\n \n async stop() {\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getService(name: string): ServiceInterface | undefined {\n return undefined;\n }\n}\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgBO,MAAMA,cAAc,CAO3B;EAIEC,WAAW,CAACC,GAAmC,EAAEC,OAA8B,GAAG,CAAC,CAAC,EAAE;IACpF,IAAI,CAACD,GAAG,GAAGA,GAAG;IACd,IAAI,CAACC,OAAO,GAAGA,OAAO;EACxB;EAEAC,QAAQ,GAAG;IACT,OAAO,KAAK;EACd;EAEAC,gBAAgB,GAAG;IACjB,OAAO,KAAK;EACd;EAEA,MAAMC,KAAK,GAAG,CACd;EAEA,MAAMC,IAAI,GAAG,CACb;;EAEA;EACAC,UAAU,CAACC,IAAY,EAAgC;IACrD,OAAOC,SAAS;EAClB;AACF;AAAC"}
@@ -1,19 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  exports.createOktaAuthCore = createOktaAuthCore;
4
-
5
4
  var _base = require("../base");
6
-
7
5
  var _mixin = require("../storage/mixin");
8
-
9
6
  var _mixin2 = require("../http/mixin");
10
-
11
7
  var _mixin3 = require("../oidc/mixin");
12
-
13
8
  var _mixin4 = require("./mixin");
14
-
15
9
  var _mixin5 = require("../session/mixin");
16
-
17
10
  function createOktaAuthCore(StorageManagerConstructor, OptionsConstructor, TransactionManagerConstructor) {
18
11
  const Base = (0, _base.createOktaAuthBase)(OptionsConstructor);
19
12
  const WithStorage = (0, _mixin.mixinStorage)(Base, StorageManagerConstructor);
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","names":["createOktaAuthCore","StorageManagerConstructor","OptionsConstructor","TransactionManagerConstructor","Base","createOktaAuthBase","WithStorage","mixinStorage","WithHttp","mixinHttp","WithSession","mixinSession","WithOAuth","mixinOAuth","Core","mixinCore"],"sources":["../../../lib/core/factory.ts"],"sourcesContent":["import { StorageManagerConstructor } from '../storage/types';\nimport { OktaAuthConstructor, OktaAuthOptionsConstructor } from '../base/types';\n\nimport { OktaAuthCoreInterface, OktaAuthCoreOptions } from './types';\nimport { createOktaAuthBase } from '../base';\nimport { mixinStorage } from '../storage/mixin';\nimport { mixinHttp } from '../http/mixin';\nimport { mixinOAuth } from '../oidc/mixin';\nimport {\n OAuthStorageManagerInterface,\n PKCETransactionMeta,\n TransactionManagerConstructor,\n TransactionManagerInterface\n} from '../oidc/types';\nimport { mixinCore } from './mixin';\nimport { mixinSession } from '../session/mixin';\n\nexport function createOktaAuthCore<\n M extends PKCETransactionMeta = PKCETransactionMeta,\n S extends OAuthStorageManagerInterface<M> = OAuthStorageManagerInterface<M>,\n O extends OktaAuthCoreOptions = OktaAuthCoreOptions,\n TM extends TransactionManagerInterface = TransactionManagerInterface\n>(\n StorageManagerConstructor: StorageManagerConstructor<S>,\n OptionsConstructor: OktaAuthOptionsConstructor<O>,\n TransactionManagerConstructor: TransactionManagerConstructor<TM>\n): OktaAuthConstructor<OktaAuthCoreInterface<M, S, O, TM>>\n{\n const Base = createOktaAuthBase(OptionsConstructor);\n const WithStorage = mixinStorage<S, O>(Base, StorageManagerConstructor);\n const WithHttp = mixinHttp<S, O>(WithStorage);\n const WithSession = mixinSession<S, O>(WithHttp);\n const WithOAuth = mixinOAuth<M, S, O, TM>(WithSession, TransactionManagerConstructor);\n const Core = mixinCore<M, S, O, TM>(WithOAuth);\n return Core;\n}\n"],"mappings":";;;;AAIA;;AACA;;AACA;;AACA;;AAOA;;AACA;;AAEO,SAASA,kBAAT,CAMLC,yBANK,EAOLC,kBAPK,EAQLC,6BARK,EAUP;EACE,MAAMC,IAAI,GAAG,IAAAC,wBAAA,EAAmBH,kBAAnB,CAAb;EACA,MAAMI,WAAW,GAAG,IAAAC,mBAAA,EAAmBH,IAAnB,EAAyBH,yBAAzB,CAApB;EACA,MAAMO,QAAQ,GAAG,IAAAC,iBAAA,EAAgBH,WAAhB,CAAjB;EACA,MAAMI,WAAW,GAAG,IAAAC,oBAAA,EAAmBH,QAAnB,CAApB;EACA,MAAMI,SAAS,GAAG,IAAAC,kBAAA,EAAwBH,WAAxB,EAAqCP,6BAArC,CAAlB;EACA,MAAMW,IAAI,GAAG,IAAAC,iBAAA,EAAuBH,SAAvB,CAAb;EACA,OAAOE,IAAP;AACD"}
1
+ {"version":3,"file":"factory.js","names":["createOktaAuthCore","StorageManagerConstructor","OptionsConstructor","TransactionManagerConstructor","Base","createOktaAuthBase","WithStorage","mixinStorage","WithHttp","mixinHttp","WithSession","mixinSession","WithOAuth","mixinOAuth","Core","mixinCore"],"sources":["../../../lib/core/factory.ts"],"sourcesContent":["import { StorageManagerConstructor } from '../storage/types';\nimport { OktaAuthConstructor, OktaAuthOptionsConstructor } from '../base/types';\n\nimport { OktaAuthCoreInterface, OktaAuthCoreOptions } from './types';\nimport { createOktaAuthBase } from '../base';\nimport { mixinStorage } from '../storage/mixin';\nimport { mixinHttp } from '../http/mixin';\nimport { mixinOAuth } from '../oidc/mixin';\nimport {\n OAuthStorageManagerInterface,\n PKCETransactionMeta,\n TransactionManagerConstructor,\n TransactionManagerInterface\n} from '../oidc/types';\nimport { mixinCore } from './mixin';\nimport { mixinSession } from '../session/mixin';\n\nexport function createOktaAuthCore<\n M extends PKCETransactionMeta = PKCETransactionMeta,\n S extends OAuthStorageManagerInterface<M> = OAuthStorageManagerInterface<M>,\n O extends OktaAuthCoreOptions = OktaAuthCoreOptions,\n TM extends TransactionManagerInterface = TransactionManagerInterface\n>(\n StorageManagerConstructor: StorageManagerConstructor<S>,\n OptionsConstructor: OktaAuthOptionsConstructor<O>,\n TransactionManagerConstructor: TransactionManagerConstructor<TM>\n): OktaAuthConstructor<OktaAuthCoreInterface<M, S, O, TM>>\n{\n const Base = createOktaAuthBase(OptionsConstructor);\n const WithStorage = mixinStorage<S, O>(Base, StorageManagerConstructor);\n const WithHttp = mixinHttp<S, O>(WithStorage);\n const WithSession = mixinSession<S, O>(WithHttp);\n const WithOAuth = mixinOAuth<M, S, O, TM>(WithSession, TransactionManagerConstructor);\n const Core = mixinCore<M, S, O, TM>(WithOAuth);\n return Core;\n}\n"],"mappings":";;;AAIA;AACA;AACA;AACA;AAOA;AACA;AAEO,SAASA,kBAAkB,CAMhCC,yBAAuD,EACvDC,kBAAiD,EACjDC,6BAAgE,EAElE;EACE,MAAMC,IAAI,GAAG,IAAAC,wBAAkB,EAACH,kBAAkB,CAAC;EACnD,MAAMI,WAAW,GAAG,IAAAC,mBAAY,EAAOH,IAAI,EAAEH,yBAAyB,CAAC;EACvE,MAAMO,QAAQ,GAAG,IAAAC,iBAAS,EAAOH,WAAW,CAAC;EAC7C,MAAMI,WAAW,GAAG,IAAAC,oBAAY,EAAOH,QAAQ,CAAC;EAChD,MAAMI,SAAS,GAAG,IAAAC,kBAAU,EAAcH,WAAW,EAAEP,6BAA6B,CAAC;EACrF,MAAMW,IAAI,GAAG,IAAAC,iBAAS,EAAcH,SAAS,CAAC;EAC9C,OAAOE,IAAI;AACb"}