@okta/okta-auth-js 5.8.0 → 5.10.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 (417) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/README.md +12 -2
  3. package/cjs/OktaAuth.js +34 -13
  4. package/cjs/OktaAuth.js.map +1 -1
  5. package/cjs/OktaUserAgent.js +2 -2
  6. package/cjs/OktaUserAgent.js.map +1 -1
  7. package/cjs/TokenManager.js +24 -2
  8. package/cjs/TokenManager.js.map +1 -1
  9. package/cjs/TransactionManager.js +6 -2
  10. package/cjs/TransactionManager.js.map +1 -1
  11. package/cjs/features.js +1 -1
  12. package/cjs/features.js.map +1 -1
  13. package/cjs/idx/authenticate.js +3 -18
  14. package/cjs/idx/authenticate.js.map +1 -1
  15. package/cjs/idx/authenticator/Authenticator.js +14 -0
  16. package/cjs/idx/authenticator/Authenticator.js.map +1 -0
  17. package/cjs/idx/authenticator/OktaPassword.js +31 -0
  18. package/cjs/idx/authenticator/OktaPassword.js.map +1 -0
  19. package/cjs/idx/authenticator/OktaVerifyTotp.js +17 -0
  20. package/cjs/idx/authenticator/OktaVerifyTotp.js.map +1 -0
  21. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js +50 -0
  22. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -0
  23. package/cjs/idx/authenticator/SecurityQuestionVerification.js +31 -0
  24. package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -0
  25. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js +34 -0
  26. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -0
  27. package/cjs/idx/authenticator/getAuthenticator.js +42 -0
  28. package/cjs/idx/authenticator/getAuthenticator.js.map +1 -0
  29. package/cjs/idx/authenticator/index.js +80 -0
  30. package/cjs/idx/authenticator/index.js.map +1 -0
  31. package/cjs/idx/cancel.js +5 -0
  32. package/cjs/idx/cancel.js.map +1 -1
  33. package/cjs/idx/flow/AuthenticationFlow.js +32 -0
  34. package/cjs/idx/flow/AuthenticationFlow.js.map +1 -0
  35. package/cjs/idx/flow/FlowSpecification.js +39 -0
  36. package/cjs/idx/flow/FlowSpecification.js.map +1 -0
  37. package/cjs/idx/flow/PasswordRecoveryFlow.js +28 -0
  38. package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -0
  39. package/{esm/crypto/browser.js → cjs/idx/flow/RegistrationFlow.js} +16 -12
  40. package/cjs/idx/flow/RegistrationFlow.js.map +1 -0
  41. package/cjs/idx/flow/RemediationFlow.js +2 -0
  42. package/{esm/types/Cookies.js.map → cjs/idx/flow/RemediationFlow.js.map} +1 -1
  43. package/cjs/idx/flow/index.js +67 -0
  44. package/cjs/idx/flow/index.js.map +1 -0
  45. package/cjs/idx/index.js +39 -0
  46. package/cjs/idx/index.js.map +1 -1
  47. package/cjs/idx/interact.js +8 -2
  48. package/cjs/idx/interact.js.map +1 -1
  49. package/cjs/idx/poll.js +59 -0
  50. package/cjs/idx/poll.js.map +1 -0
  51. package/cjs/idx/proceed.js +49 -0
  52. package/cjs/idx/proceed.js.map +1 -0
  53. package/cjs/idx/recoverPassword.js +3 -17
  54. package/cjs/idx/recoverPassword.js.map +1 -1
  55. package/cjs/idx/register.js +22 -20
  56. package/cjs/idx/register.js.map +1 -1
  57. package/cjs/idx/remediate.js +40 -93
  58. package/cjs/idx/remediate.js.map +1 -1
  59. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js +9 -12
  60. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
  61. package/cjs/idx/remediators/AuthenticatorVerificationData.js +6 -9
  62. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  63. package/cjs/idx/remediators/Base/AuthenticatorData.js +43 -32
  64. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  65. package/cjs/idx/remediators/Base/Remediator.js +51 -20
  66. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  67. package/cjs/idx/remediators/Base/SelectAuthenticator.js +16 -16
  68. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  69. package/cjs/idx/remediators/Base/VerifyAuthenticator.js +8 -28
  70. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  71. package/{esm/idx/remediators/RedirectIdp.js → cjs/idx/remediators/ChallengePoll.js} +13 -25
  72. package/cjs/idx/remediators/ChallengePoll.js.map +1 -0
  73. package/cjs/idx/remediators/EnrollPoll.js +56 -0
  74. package/cjs/idx/remediators/EnrollPoll.js.map +1 -0
  75. package/cjs/idx/remediators/Identify.js +4 -36
  76. package/cjs/idx/remediators/Identify.js.map +1 -1
  77. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js +23 -2
  78. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
  79. package/cjs/idx/remediators/Skip.js +7 -0
  80. package/cjs/idx/remediators/Skip.js.map +1 -1
  81. package/cjs/idx/remediators/index.js +26 -0
  82. package/cjs/idx/remediators/index.js.map +1 -1
  83. package/cjs/idx/run.js +18 -20
  84. package/cjs/idx/run.js.map +1 -1
  85. package/cjs/idx/startTransaction.js +2 -0
  86. package/cjs/idx/startTransaction.js.map +1 -1
  87. package/cjs/idx/transactionMeta.js +67 -42
  88. package/cjs/idx/transactionMeta.js.map +1 -1
  89. package/cjs/idx/types/FlowIdentifier.js +2 -0
  90. package/{esm/types/AuthState.js.map → cjs/idx/types/FlowIdentifier.js.map} +1 -1
  91. package/cjs/idx/types/idx-js.js.map +1 -1
  92. package/cjs/idx/types/index.js +18 -1
  93. package/cjs/idx/types/index.js.map +1 -1
  94. package/cjs/oidc/endpoints/authorize.js +4 -1
  95. package/cjs/oidc/endpoints/authorize.js.map +1 -1
  96. package/cjs/types/Token.js.map +1 -1
  97. package/cjs/types/Transaction.js.map +1 -1
  98. package/dist/okta-auth-js.min.js +1 -1
  99. package/dist/okta-auth-js.min.js.map +1 -1
  100. package/dist/okta-auth-js.umd.js +1 -1
  101. package/dist/okta-auth-js.umd.js.map +1 -1
  102. package/esm/index.js +8580 -16
  103. package/esm/index.js.map +1 -1
  104. package/lib/TokenManager.d.ts +2 -0
  105. package/lib/TransactionManager.d.ts +1 -0
  106. package/lib/idx/authenticator/Authenticator.d.ts +12 -0
  107. package/lib/idx/authenticator/OktaPassword.d.ts +11 -0
  108. package/lib/idx/authenticator/OktaVerifyTotp.d.ts +9 -0
  109. package/lib/idx/authenticator/SecurityQuestionEnrollment.d.ts +28 -0
  110. package/lib/idx/authenticator/SecurityQuestionVerification.d.ts +14 -0
  111. package/lib/idx/authenticator/VerificationCodeAuthenticator.d.ts +10 -0
  112. package/lib/idx/authenticator/getAuthenticator.d.ts +3 -0
  113. package/lib/idx/authenticator/index.d.ts +6 -0
  114. package/{esm/crypto/webcrypto.js → lib/idx/flow/AuthenticationFlow.d.ts} +3 -4
  115. package/lib/idx/flow/FlowSpecification.d.ts +8 -0
  116. package/{esm/oidc/endpoints/index.js → lib/idx/flow/PasswordRecoveryFlow.d.ts} +3 -5
  117. package/{esm/tx/TransactionState.js → lib/idx/flow/RegistrationFlow.d.ts} +3 -3
  118. package/{esm/crypto/index.js → lib/idx/flow/RemediationFlow.d.ts} +3 -6
  119. package/lib/idx/{flowMonitors → flow}/index.d.ts +5 -4
  120. package/lib/idx/index.d.ts +3 -0
  121. package/lib/idx/interact.d.ts +1 -0
  122. package/lib/idx/poll.d.ts +13 -0
  123. package/lib/idx/proceed.d.ts +21 -0
  124. package/lib/idx/register.d.ts +1 -1
  125. package/lib/idx/remediators/AuthenticatorEnrollmentData.d.ts +9 -5
  126. package/lib/idx/remediators/AuthenticatorVerificationData.d.ts +0 -1
  127. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +8 -3
  128. package/lib/idx/remediators/Base/Remediator.d.ts +9 -6
  129. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +5 -4
  130. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +8 -4
  131. package/lib/idx/remediators/ChallengePoll.d.ts +15 -0
  132. package/{esm/tx/util.js → lib/idx/remediators/EnrollPoll.d.ts} +11 -13
  133. package/lib/idx/remediators/Identify.d.ts +1 -3
  134. package/lib/idx/remediators/SelectAuthenticatorAuthenticate.d.ts +6 -2
  135. package/lib/idx/remediators/Skip.d.ts +3 -0
  136. package/lib/idx/remediators/index.d.ts +2 -0
  137. package/lib/idx/run.d.ts +8 -10
  138. package/lib/idx/transactionMeta.d.ts +24 -1
  139. package/lib/idx/types/FlowIdentifier.d.ts +1 -0
  140. package/lib/idx/types/idx-js.d.ts +52 -1
  141. package/lib/idx/types/index.d.ts +16 -3
  142. package/lib/types/OktaAuthOptions.d.ts +3 -0
  143. package/lib/types/Token.d.ts +1 -0
  144. package/lib/types/Transaction.d.ts +2 -0
  145. package/lib/types/api.d.ts +15 -2
  146. package/package.json +16 -8
  147. package/cjs/idx/flowMonitors/AuthenticationFlowMonitor.js +0 -45
  148. package/cjs/idx/flowMonitors/AuthenticationFlowMonitor.js.map +0 -1
  149. package/cjs/idx/flowMonitors/FlowMonitor.js +0 -69
  150. package/cjs/idx/flowMonitors/FlowMonitor.js.map +0 -1
  151. package/cjs/idx/flowMonitors/PasswordRecoveryFlowMonitor.js +0 -55
  152. package/cjs/idx/flowMonitors/PasswordRecoveryFlowMonitor.js.map +0 -1
  153. package/cjs/idx/flowMonitors/RegistrationFlowMonitor.js +0 -35
  154. package/cjs/idx/flowMonitors/RegistrationFlowMonitor.js.map +0 -1
  155. package/cjs/idx/flowMonitors/index.js +0 -54
  156. package/cjs/idx/flowMonitors/index.js.map +0 -1
  157. package/esm/AuthStateManager.js +0 -214
  158. package/esm/AuthStateManager.js.map +0 -1
  159. package/esm/OktaAuth.js +0 -705
  160. package/esm/OktaAuth.js.map +0 -1
  161. package/esm/OktaUserAgent.js +0 -49
  162. package/esm/OktaUserAgent.js.map +0 -1
  163. package/esm/PromiseQueue.js +0 -71
  164. package/esm/PromiseQueue.js.map +0 -1
  165. package/esm/SavedObject.js +0 -91
  166. package/esm/SavedObject.js.map +0 -1
  167. package/esm/StorageManager.js +0 -190
  168. package/esm/StorageManager.js.map +0 -1
  169. package/esm/TokenManager.js +0 -455
  170. package/esm/TokenManager.js.map +0 -1
  171. package/esm/TransactionManager.js +0 -324
  172. package/esm/TransactionManager.js.map +0 -1
  173. package/esm/browser/browserStorage.js +0 -256
  174. package/esm/browser/browserStorage.js.map +0 -1
  175. package/esm/browser/fingerprint.js +0 -74
  176. package/esm/browser/fingerprint.js.map +0 -1
  177. package/esm/builderUtil.js +0 -56
  178. package/esm/builderUtil.js.map +0 -1
  179. package/esm/clock.js +0 -32
  180. package/esm/clock.js.map +0 -1
  181. package/esm/constants.js +0 -36
  182. package/esm/constants.js.map +0 -1
  183. package/esm/crypto/base64.js +0 -66
  184. package/esm/crypto/base64.js.map +0 -1
  185. package/esm/crypto/browser.js.map +0 -1
  186. package/esm/crypto/index.js.map +0 -1
  187. package/esm/crypto/node.js +0 -54
  188. package/esm/crypto/node.js.map +0 -1
  189. package/esm/crypto/oidcHash.js +0 -27
  190. package/esm/crypto/oidcHash.js.map +0 -1
  191. package/esm/crypto/verifyToken.js +0 -39
  192. package/esm/crypto/verifyToken.js.map +0 -1
  193. package/esm/crypto/webcrypto.js.map +0 -1
  194. package/esm/errors/AuthApiError.js +0 -30
  195. package/esm/errors/AuthApiError.js.map +0 -1
  196. package/esm/errors/AuthPollStopError.js +0 -20
  197. package/esm/errors/AuthPollStopError.js.map +0 -1
  198. package/esm/errors/AuthSdkError.js +0 -29
  199. package/esm/errors/AuthSdkError.js.map +0 -1
  200. package/esm/errors/CustomError.js +0 -21
  201. package/esm/errors/CustomError.js.map +0 -1
  202. package/esm/errors/OAuthError.js +0 -22
  203. package/esm/errors/OAuthError.js.map +0 -1
  204. package/esm/errors/index.js +0 -22
  205. package/esm/errors/index.js.map +0 -1
  206. package/esm/features.js +0 -64
  207. package/esm/features.js.map +0 -1
  208. package/esm/fetch/fetchRequest.js +0 -92
  209. package/esm/fetch/fetchRequest.js.map +0 -1
  210. package/esm/http/headers.js +0 -17
  211. package/esm/http/headers.js.map +0 -1
  212. package/esm/http/index.js +0 -3
  213. package/esm/http/index.js.map +0 -1
  214. package/esm/http/request.js +0 -145
  215. package/esm/http/request.js.map +0 -1
  216. package/esm/idx/authenticate.js +0 -47
  217. package/esm/idx/authenticate.js.map +0 -1
  218. package/esm/idx/cancel.js +0 -32
  219. package/esm/idx/cancel.js.map +0 -1
  220. package/esm/idx/flowMonitors/AuthenticationFlowMonitor.js +0 -41
  221. package/esm/idx/flowMonitors/AuthenticationFlowMonitor.js.map +0 -1
  222. package/esm/idx/flowMonitors/FlowMonitor.js +0 -73
  223. package/esm/idx/flowMonitors/FlowMonitor.js.map +0 -1
  224. package/esm/idx/flowMonitors/PasswordRecoveryFlowMonitor.js +0 -57
  225. package/esm/idx/flowMonitors/PasswordRecoveryFlowMonitor.js.map +0 -1
  226. package/esm/idx/flowMonitors/RegistrationFlowMonitor.js +0 -28
  227. package/esm/idx/flowMonitors/RegistrationFlowMonitor.js.map +0 -1
  228. package/esm/idx/flowMonitors/index.js +0 -16
  229. package/esm/idx/flowMonitors/index.js.map +0 -1
  230. package/esm/idx/handleInteractionCodeRedirect.js +0 -64
  231. package/esm/idx/handleInteractionCodeRedirect.js.map +0 -1
  232. package/esm/idx/headers.js +0 -39
  233. package/esm/idx/headers.js.map +0 -1
  234. package/esm/idx/index.js +0 -20
  235. package/esm/idx/index.js.map +0 -1
  236. package/esm/idx/interact.js +0 -86
  237. package/esm/idx/interact.js.map +0 -1
  238. package/esm/idx/introspect.js +0 -61
  239. package/esm/idx/introspect.js.map +0 -1
  240. package/esm/idx/recoverPassword.js +0 -46
  241. package/esm/idx/recoverPassword.js.map +0 -1
  242. package/esm/idx/register.js +0 -63
  243. package/esm/idx/register.js.map +0 -1
  244. package/esm/idx/remediate.js +0 -302
  245. package/esm/idx/remediate.js.map +0 -1
  246. package/esm/idx/remediators/AuthenticatorEnrollmentData.js +0 -68
  247. package/esm/idx/remediators/AuthenticatorEnrollmentData.js.map +0 -1
  248. package/esm/idx/remediators/AuthenticatorVerificationData.js +0 -66
  249. package/esm/idx/remediators/AuthenticatorVerificationData.js.map +0 -1
  250. package/esm/idx/remediators/Base/AuthenticatorData.js +0 -105
  251. package/esm/idx/remediators/Base/AuthenticatorData.js.map +0 -1
  252. package/esm/idx/remediators/Base/Remediator.js +0 -221
  253. package/esm/idx/remediators/Base/Remediator.js.map +0 -1
  254. package/esm/idx/remediators/Base/SelectAuthenticator.js +0 -140
  255. package/esm/idx/remediators/Base/SelectAuthenticator.js.map +0 -1
  256. package/esm/idx/remediators/Base/VerifyAuthenticator.js +0 -65
  257. package/esm/idx/remediators/Base/VerifyAuthenticator.js.map +0 -1
  258. package/esm/idx/remediators/ChallengeAuthenticator.js +0 -18
  259. package/esm/idx/remediators/ChallengeAuthenticator.js.map +0 -1
  260. package/esm/idx/remediators/EnrollAuthenticator.js +0 -18
  261. package/esm/idx/remediators/EnrollAuthenticator.js.map +0 -1
  262. package/esm/idx/remediators/EnrollProfile.js +0 -79
  263. package/esm/idx/remediators/EnrollProfile.js.map +0 -1
  264. package/esm/idx/remediators/Identify.js +0 -87
  265. package/esm/idx/remediators/Identify.js.map +0 -1
  266. package/esm/idx/remediators/ReEnrollAuthenticator.js +0 -45
  267. package/esm/idx/remediators/ReEnrollAuthenticator.js.map +0 -1
  268. package/esm/idx/remediators/RedirectIdp.js.map +0 -1
  269. package/esm/idx/remediators/ResetAuthenticator.js +0 -18
  270. package/esm/idx/remediators/ResetAuthenticator.js.map +0 -1
  271. package/esm/idx/remediators/SelectAuthenticatorAuthenticate.js +0 -18
  272. package/esm/idx/remediators/SelectAuthenticatorAuthenticate.js.map +0 -1
  273. package/esm/idx/remediators/SelectAuthenticatorEnroll.js +0 -18
  274. package/esm/idx/remediators/SelectAuthenticatorEnroll.js.map +0 -1
  275. package/esm/idx/remediators/SelectEnrollProfile.js +0 -24
  276. package/esm/idx/remediators/SelectEnrollProfile.js.map +0 -1
  277. package/esm/idx/remediators/Skip.js +0 -23
  278. package/esm/idx/remediators/Skip.js.map +0 -1
  279. package/esm/idx/remediators/index.js +0 -26
  280. package/esm/idx/remediators/index.js.map +0 -1
  281. package/esm/idx/remediators/util.js +0 -35
  282. package/esm/idx/remediators/util.js.map +0 -1
  283. package/esm/idx/run.js +0 -222
  284. package/esm/idx/run.js.map +0 -1
  285. package/esm/idx/startTransaction.js +0 -27
  286. package/esm/idx/startTransaction.js.map +0 -1
  287. package/esm/idx/transactionMeta.js +0 -125
  288. package/esm/idx/transactionMeta.js.map +0 -1
  289. package/esm/idx/types/idx-js.js +0 -20
  290. package/esm/idx/types/idx-js.js.map +0 -1
  291. package/esm/idx/types/index.js +0 -44
  292. package/esm/idx/types/index.js.map +0 -1
  293. package/esm/oidc/decodeToken.js +0 -31
  294. package/esm/oidc/decodeToken.js.map +0 -1
  295. package/esm/oidc/endpoints/authorize.js +0 -61
  296. package/esm/oidc/endpoints/authorize.js.map +0 -1
  297. package/esm/oidc/endpoints/index.js.map +0 -1
  298. package/esm/oidc/endpoints/token.js +0 -97
  299. package/esm/oidc/endpoints/token.js.map +0 -1
  300. package/esm/oidc/endpoints/well-known.js +0 -58
  301. package/esm/oidc/endpoints/well-known.js.map +0 -1
  302. package/esm/oidc/exchangeCodeForTokens.js +0 -69
  303. package/esm/oidc/exchangeCodeForTokens.js.map +0 -1
  304. package/esm/oidc/getToken.js +0 -180
  305. package/esm/oidc/getToken.js.map +0 -1
  306. package/esm/oidc/getUserInfo.js +0 -82
  307. package/esm/oidc/getUserInfo.js.map +0 -1
  308. package/esm/oidc/getWithPopup.js +0 -34
  309. package/esm/oidc/getWithPopup.js.map +0 -1
  310. package/esm/oidc/getWithRedirect.js +0 -61
  311. package/esm/oidc/getWithRedirect.js.map +0 -1
  312. package/esm/oidc/getWithoutPrompt.js +0 -29
  313. package/esm/oidc/getWithoutPrompt.js.map +0 -1
  314. package/esm/oidc/handleOAuthResponse.js +0 -148
  315. package/esm/oidc/handleOAuthResponse.js.map +0 -1
  316. package/esm/oidc/index.js +0 -29
  317. package/esm/oidc/index.js.map +0 -1
  318. package/esm/oidc/parseFromUrl.js +0 -144
  319. package/esm/oidc/parseFromUrl.js.map +0 -1
  320. package/esm/oidc/renewToken.js +0 -85
  321. package/esm/oidc/renewToken.js.map +0 -1
  322. package/esm/oidc/renewTokens.js +0 -74
  323. package/esm/oidc/renewTokens.js.map +0 -1
  324. package/esm/oidc/renewTokensWithRefresh.js +0 -55
  325. package/esm/oidc/renewTokensWithRefresh.js.map +0 -1
  326. package/esm/oidc/revokeToken.js +0 -57
  327. package/esm/oidc/revokeToken.js.map +0 -1
  328. package/esm/oidc/util/browser.js +0 -74
  329. package/esm/oidc/util/browser.js.map +0 -1
  330. package/esm/oidc/util/defaultTokenParams.js +0 -42
  331. package/esm/oidc/util/defaultTokenParams.js.map +0 -1
  332. package/esm/oidc/util/errors.js +0 -31
  333. package/esm/oidc/util/errors.js.map +0 -1
  334. package/esm/oidc/util/index.js +0 -25
  335. package/esm/oidc/util/index.js.map +0 -1
  336. package/esm/oidc/util/loginRedirect.js +0 -88
  337. package/esm/oidc/util/loginRedirect.js.map +0 -1
  338. package/esm/oidc/util/oauth.js +0 -70
  339. package/esm/oidc/util/oauth.js.map +0 -1
  340. package/esm/oidc/util/pkce.js +0 -55
  341. package/esm/oidc/util/pkce.js.map +0 -1
  342. package/esm/oidc/util/prepareTokenParams.js +0 -75
  343. package/esm/oidc/util/prepareTokenParams.js.map +0 -1
  344. package/esm/oidc/util/refreshToken.js +0 -24
  345. package/esm/oidc/util/refreshToken.js.map +0 -1
  346. package/esm/oidc/util/urlParams.js +0 -54
  347. package/esm/oidc/util/urlParams.js.map +0 -1
  348. package/esm/oidc/util/validateClaims.js +0 -53
  349. package/esm/oidc/util/validateClaims.js.map +0 -1
  350. package/esm/oidc/util/validateToken.js +0 -21
  351. package/esm/oidc/util/validateToken.js.map +0 -1
  352. package/esm/oidc/verifyToken.js +0 -78
  353. package/esm/oidc/verifyToken.js.map +0 -1
  354. package/esm/options.js +0 -144
  355. package/esm/options.js.map +0 -1
  356. package/esm/server/serverStorage.js +0 -111
  357. package/esm/server/serverStorage.js.map +0 -1
  358. package/esm/services/TokenService.js +0 -103
  359. package/esm/services/TokenService.js.map +0 -1
  360. package/esm/session.js +0 -81
  361. package/esm/session.js.map +0 -1
  362. package/esm/tx/AuthTransaction.js +0 -213
  363. package/esm/tx/AuthTransaction.js.map +0 -1
  364. package/esm/tx/TransactionState.js.map +0 -1
  365. package/esm/tx/api.js +0 -87
  366. package/esm/tx/api.js.map +0 -1
  367. package/esm/tx/index.js +0 -18
  368. package/esm/tx/index.js.map +0 -1
  369. package/esm/tx/poll.js +0 -124
  370. package/esm/tx/poll.js.map +0 -1
  371. package/esm/tx/util.js.map +0 -1
  372. package/esm/types/AuthState.js +0 -3
  373. package/esm/types/Cookies.js +0 -3
  374. package/esm/types/EventEmitter.js +0 -3
  375. package/esm/types/EventEmitter.js.map +0 -1
  376. package/esm/types/JWT.js +0 -3
  377. package/esm/types/JWT.js.map +0 -1
  378. package/esm/types/OAuth.js +0 -3
  379. package/esm/types/OAuth.js.map +0 -1
  380. package/esm/types/OktaAuthOptions.js +0 -3
  381. package/esm/types/OktaAuthOptions.js.map +0 -1
  382. package/esm/types/Storage.js +0 -3
  383. package/esm/types/Storage.js.map +0 -1
  384. package/esm/types/Token.js +0 -29
  385. package/esm/types/Token.js.map +0 -1
  386. package/esm/types/TokenManager.js +0 -3
  387. package/esm/types/TokenManager.js.map +0 -1
  388. package/esm/types/Transaction.js +0 -57
  389. package/esm/types/Transaction.js.map +0 -1
  390. package/esm/types/UserClaims.js +0 -3
  391. package/esm/types/UserClaims.js.map +0 -1
  392. package/esm/types/api.js +0 -3
  393. package/esm/types/api.js.map +0 -1
  394. package/esm/types/http.js +0 -3
  395. package/esm/types/http.js.map +0 -1
  396. package/esm/types/index.js +0 -27
  397. package/esm/types/index.js.map +0 -1
  398. package/esm/util/console.js +0 -53
  399. package/esm/util/console.js.map +0 -1
  400. package/esm/util/emailVerify.js +0 -21
  401. package/esm/util/emailVerify.js.map +0 -1
  402. package/esm/util/index.js +0 -18
  403. package/esm/util/index.js.map +0 -1
  404. package/esm/util/misc.js +0 -33
  405. package/esm/util/misc.js.map +0 -1
  406. package/esm/util/object.js +0 -117
  407. package/esm/util/object.js.map +0 -1
  408. package/esm/util/sharedStorage.js +0 -43
  409. package/esm/util/sharedStorage.js.map +0 -1
  410. package/esm/util/types.js +0 -27
  411. package/esm/util/types.js.map +0 -1
  412. package/esm/util/url.js +0 -64
  413. package/esm/util/url.js.map +0 -1
  414. package/lib/idx/flowMonitors/AuthenticationFlowMonitor.d.ts +0 -15
  415. package/lib/idx/flowMonitors/FlowMonitor.d.ts +0 -23
  416. package/lib/idx/flowMonitors/PasswordRecoveryFlowMonitor.d.ts +0 -16
  417. package/lib/idx/flowMonitors/RegistrationFlowMonitor.d.ts +0 -15
@@ -22,7 +22,23 @@ export interface IdxAuthenticator {
22
22
  complexity?: unknown;
23
23
  age?: unknown;
24
24
  };
25
- contextualData?: unknown;
25
+ contextualData?: {
26
+ enrolledQuestion?: {
27
+ question: string;
28
+ questionKey: string;
29
+ };
30
+ qrcode?: {
31
+ href: string;
32
+ method: string;
33
+ type: string;
34
+ };
35
+ sharedSecret?: string;
36
+ questions?: {
37
+ questionKey: string;
38
+ question: string;
39
+ }[];
40
+ questionKeys?: string[];
41
+ };
26
42
  }
27
43
  export interface IdxForm {
28
44
  value: IdxRemediationValue[];
@@ -43,6 +59,8 @@ export interface IdxRemediationValue {
43
59
  type?: string;
44
60
  required?: boolean;
45
61
  secret?: boolean;
62
+ visible?: boolean;
63
+ mutable?: boolean;
46
64
  value?: string;
47
65
  label?: string;
48
66
  form?: IdxForm;
@@ -63,6 +81,38 @@ export interface IdxRemediation {
63
81
  href?: string;
64
82
  method?: string;
65
83
  type?: string;
84
+ accepts?: string;
85
+ refresh?: number;
86
+ }
87
+ export interface IdxContext {
88
+ version: string;
89
+ stateHandle: string;
90
+ expiresAt: string;
91
+ intent: string;
92
+ currentAuthenticator: {
93
+ type: string;
94
+ value: IdxAuthenticator;
95
+ };
96
+ authenticators: {
97
+ type: string;
98
+ value: IdxAuthenticator[];
99
+ };
100
+ authenticatorEnrollments: {
101
+ type: string;
102
+ value: IdxAuthenticator[];
103
+ };
104
+ enrollmentAuthenticator: {
105
+ type: string;
106
+ value: IdxAuthenticator;
107
+ };
108
+ user: {
109
+ type: string;
110
+ value: Record<string, unknown>;
111
+ };
112
+ app: {
113
+ type: string;
114
+ value: Record<string, unknown>;
115
+ };
66
116
  }
67
117
  export interface IdxMessage {
68
118
  message: string;
@@ -100,5 +150,6 @@ export interface IdxResponse {
100
150
  toPersist: {
101
151
  interactionHandle?: string;
102
152
  };
153
+ context?: IdxContext;
103
154
  }
104
155
  export declare function isIdxResponse(obj: any): obj is IdxResponse;
@@ -10,14 +10,18 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
  import { InteractOptions } from '../interact';
13
+ import { IntrospectOptions } from '../introspect';
13
14
  import { APIError, Tokens } from '../../types';
14
15
  import { IdxTransactionMeta } from '../../types/Transaction';
15
16
  import { IdxAuthenticator, IdxMessage, IdxOption, IdxResponse } from './idx-js';
17
+ import { FlowIdentifier } from './FlowIdentifier';
16
18
  export { IdxMessage } from './idx-js';
17
19
  export { AuthenticationOptions } from '../authenticate';
18
20
  export { RegistrationOptions } from '../register';
19
21
  export { PasswordRecoveryOptions } from '../recoverPassword';
22
+ export { ProceedOptions } from '../proceed';
20
23
  export { CancelOptions } from '../cancel';
24
+ export { FlowIdentifier };
21
25
  export declare enum IdxStatus {
22
26
  SUCCESS = "SUCCESS",
23
27
  PENDING = "PENDING",
@@ -28,12 +32,14 @@ export declare enum IdxStatus {
28
32
  export declare enum AuthenticatorKey {
29
33
  OKTA_PASSWORD = "okta_password",
30
34
  OKTA_EMAIL = "okta_email",
31
- OKTA_VERIFIER = "okta_verifier",
32
35
  PHONE_NUMBER = "phone_number",
33
- GOOGLE_AUTHENTICATOR = "google_otp"
36
+ GOOGLE_AUTHENTICATOR = "google_otp",
37
+ SECURITY_QUESTION = "security_question",
38
+ OKTA_VERIFY = "okta_verify"
34
39
  }
35
40
  export declare type Input = {
36
41
  name: string;
42
+ type?: string;
37
43
  label?: string;
38
44
  value?: string;
39
45
  secret?: boolean;
@@ -46,6 +52,7 @@ export declare type NextStep = {
46
52
  canResend?: boolean;
47
53
  inputs?: Input[];
48
54
  options?: IdxOption[];
55
+ poll?: IdxPollOptions;
49
56
  };
50
57
  export declare enum IdxFeature {
51
58
  PASSWORD_RECOVERY = 0,
@@ -63,7 +70,13 @@ export interface IdxTransaction {
63
70
  availableSteps?: NextStep[];
64
71
  _idxResponse?: IdxResponse;
65
72
  }
66
- export declare type IdxOptions = InteractOptions;
73
+ export declare type IdxOptions = InteractOptions & IntrospectOptions & {
74
+ flow?: FlowIdentifier;
75
+ };
76
+ export interface IdxPollOptions {
77
+ required?: boolean;
78
+ refresh?: number;
79
+ }
67
80
  export declare type Authenticator = {
68
81
  key: string;
69
82
  methodType?: string;
@@ -15,10 +15,12 @@ import { HttpRequestClient } from './http';
15
15
  import { AuthState } from './AuthState';
16
16
  import { TransactionManagerOptions } from './Transaction';
17
17
  import { SimpleStorage } from './Storage';
18
+ import { FlowIdentifier } from '../idx/types';
18
19
  import OktaAuth from '../OktaAuth';
19
20
  export interface TokenManagerOptions {
20
21
  autoRenew?: boolean;
21
22
  autoRemove?: boolean;
23
+ clearPendingRemoveTokens?: boolean;
22
24
  secure?: boolean;
23
25
  storage?: string | SimpleStorage;
24
26
  storageKey?: string;
@@ -64,5 +66,6 @@ export interface OktaAuthOptions extends CustomUrls {
64
66
  devMode?: boolean;
65
67
  storageManager?: StorageManagerOptions;
66
68
  transactionManager?: TransactionManagerOptions;
69
+ flow?: FlowIdentifier;
67
70
  clientSecret?: string;
68
71
  }
@@ -14,6 +14,7 @@ export interface AbstractToken {
14
14
  expiresAt: number;
15
15
  authorizeUrl: string;
16
16
  scopes: string[];
17
+ pendingRemove?: boolean;
17
18
  }
18
19
  export interface AccessToken extends AbstractToken {
19
20
  accessToken: string;
@@ -11,6 +11,7 @@
11
11
  */
12
12
  import StorageManager from '../StorageManager';
13
13
  import { CustomUrls } from './OktaAuthOptions';
14
+ import { FlowIdentifier } from '../idx/types';
14
15
  export interface TransactionManagerOptions {
15
16
  storageManager?: StorageManager;
16
17
  enableSharedStorage?: boolean;
@@ -45,6 +46,7 @@ export interface PKCETransactionMeta extends OAuthTransactionMeta {
45
46
  export interface IdxTransactionMeta extends PKCETransactionMeta {
46
47
  interactionHandle?: string;
47
48
  remediations?: string[];
49
+ flow?: FlowIdentifier;
48
50
  }
49
51
  export declare type CustomAuthTransactionMeta = Record<string, string | undefined>;
50
52
  export declare type TransactionMeta = IdxTransactionMeta | PKCETransactionMeta | OAuthTransactionMeta | CustomAuthTransactionMeta;
@@ -18,7 +18,8 @@ import StorageManager from '../StorageManager';
18
18
  import TransactionManager from '../TransactionManager';
19
19
  import { TokenManagerInterface } from './TokenManager';
20
20
  import { OktaUserAgent } from '../OktaUserAgent';
21
- import { AuthenticationOptions, RegistrationOptions as IdxRegistrationOptions, PasswordRecoveryOptions, CancelOptions, IdxOptions, IdxTransaction } from '../idx/types';
21
+ import { FlowIdentifier, IdxPollOptions } from '../idx/types';
22
+ import { AuthenticationOptions, RegistrationOptions as IdxRegistrationOptions, PasswordRecoveryOptions, ProceedOptions, CancelOptions, IdxOptions, IdxTransaction } from '../idx/types';
22
23
  import { InteractOptions, InteractResponse } from '../idx/interact';
23
24
  import { IntrospectOptions } from '../idx/introspect';
24
25
  import { IdxResponse } from '../idx/types/idx-js';
@@ -31,6 +32,7 @@ export interface OktaAuth {
31
32
  storageManager: StorageManager;
32
33
  transactionManager: TransactionManager;
33
34
  tokenManager: TokenManagerInterface;
35
+ idx: IdxAPI;
34
36
  features?: FeaturesAPI;
35
37
  token?: TokenAPI;
36
38
  }
@@ -94,6 +96,9 @@ export interface TokenParams extends CustomUrls {
94
96
  prompt?: string;
95
97
  sessionToken?: string;
96
98
  timeout?: number;
99
+ extraParams?: {
100
+ [propName: string]: string;
101
+ };
97
102
  popupTitle?: string;
98
103
  }
99
104
  export interface PopupParams {
@@ -183,10 +188,11 @@ export interface SignoutRedirectUrlOptions {
183
188
  state?: string;
184
189
  }
185
190
  export interface SignoutOptions extends SignoutRedirectUrlOptions {
186
- accessToken?: AccessToken;
187
191
  revokeAccessToken?: boolean;
188
192
  revokeRefreshToken?: boolean;
193
+ accessToken?: AccessToken;
189
194
  refreshToken?: RefreshToken;
195
+ clearTokensAfterRedirect?: boolean;
190
196
  }
191
197
  export interface SignoutAPI {
192
198
  signOut(opts: SignoutOptions): any;
@@ -209,8 +215,15 @@ export interface IdxAPI {
209
215
  introspect: (options?: IntrospectOptions) => Promise<IdxResponse>;
210
216
  authenticate: (options?: AuthenticationOptions) => Promise<IdxTransaction>;
211
217
  register: (options?: IdxRegistrationOptions) => Promise<IdxTransaction>;
218
+ poll: (options?: IdxPollOptions) => Promise<IdxTransaction>;
219
+ proceed: (options?: ProceedOptions) => Promise<IdxTransaction>;
212
220
  cancel: (options?: CancelOptions) => Promise<IdxTransaction>;
213
221
  startTransaction: (options?: IdxOptions) => Promise<IdxTransaction>;
214
222
  recoverPassword: (options?: PasswordRecoveryOptions) => Promise<IdxTransaction>;
215
223
  handleInteractionCodeRedirect: (url: string) => Promise<void>;
224
+ getFlow(): FlowIdentifier;
225
+ setFlow(flow: FlowIdentifier): void;
226
+ canProceed(options?: {
227
+ state?: string;
228
+ }): boolean;
216
229
  }
package/package.json CHANGED
@@ -2,10 +2,9 @@
2
2
  "private": false,
3
3
  "name": "@okta/okta-auth-js",
4
4
  "description": "The Okta Auth SDK",
5
- "version": "5.8.0",
5
+ "version": "5.10.1",
6
6
  "homepage": "https://github.com/okta/okta-auth-js",
7
7
  "license": "Apache-2.0",
8
- "type": "commonjs",
9
8
  "main": "cjs/index.js",
10
9
  "module": "esm/index.js",
11
10
  "browser": "dist/okta-auth-js.umd.js",
@@ -41,8 +40,9 @@
41
40
  "build:cdn": "cross-env NODE_ENV=production webpack --config webpack.cdn.config.js",
42
41
  "build:web": "cross-env NODE_ENV=production webpack --config webpack.config.js",
43
42
  "build:cjs": "cross-env babel lib -d build/cjs --config-file ./babel.cjs.js --extensions \".ts\",\".js\" --source-maps",
44
- "build:esm": "cross-env babel lib -d build/esm --config-file ./babel.esm.js --extensions \".ts\",\".js\" --source-maps",
43
+ "build:esm": "rollup -c",
45
44
  "build:polyfill": "cross-env NODE_ENV=production webpack --config webpack.polyfill.config.js",
45
+ "build:types": "tsc --emitDeclarationOnly",
46
46
  "generate:samples": "yarn workspace @okta/samples build && yarn install --ignore-scripts",
47
47
  "dev:samples": "yarn workspace @okta/samples dev",
48
48
  "prepare": "",
@@ -70,7 +70,7 @@
70
70
  },
71
71
  "dependencies": {
72
72
  "@babel/runtime": "^7.12.5",
73
- "@okta/okta-idx-js": "0.22.0",
73
+ "@okta/okta-idx-js": "0.23.0",
74
74
  "@peculiar/webcrypto": "1.1.6",
75
75
  "Base64": "1.1.0",
76
76
  "atob": "^2.1.2",
@@ -94,6 +94,10 @@
94
94
  "@babel/plugin-transform-typescript": "^7.10.5",
95
95
  "@babel/preset-env": "^7.8.2",
96
96
  "@babel/preset-typescript": "^7.10.4",
97
+ "@okta/okta-signin-widget": "5.13.0",
98
+ "@rollup/plugin-alias": "^3.1.8",
99
+ "@rollup/plugin-babel": "^5.3.0",
100
+ "@rollup/plugin-replace": "^3.0.0",
97
101
  "@types/jest": "^25.2.3",
98
102
  "@types/node": "^14.0.3",
99
103
  "@typescript-eslint/eslint-plugin": "^2.34.0",
@@ -116,6 +120,10 @@
116
120
  "jest-junit": "^9.0.0",
117
121
  "json-loader": "0.5.4",
118
122
  "lodash": "4.17.20",
123
+ "rollup": "^2.59.0",
124
+ "rollup-plugin-cleanup": "^3.2.1",
125
+ "rollup-plugin-license": "^2.6.0",
126
+ "rollup-plugin-typescript2": "^0.30.0",
119
127
  "shelljs": "0.8.4",
120
128
  "ts-jest": "^26.4.3",
121
129
  "ts-loader": "^9.2.6",
@@ -130,7 +138,7 @@
130
138
  },
131
139
  "workspaces": {
132
140
  "packages": [
133
- "./",
141
+ ".",
134
142
  "env",
135
143
  "test/apps/*",
136
144
  "test/e2e",
@@ -161,8 +169,8 @@
161
169
  }
162
170
  },
163
171
  "okta": {
164
- "commitSha": "4a3e715f476ec4c4d10cf23f135663e10063e8b2",
165
- "fullVersion": "5.8.0-g4a3e715",
166
- "testedSha": "787f7afc5cf80315eeb0691b4c72b9a42f5481ce"
172
+ "commitSha": "ece70188b7cc8a30fb87831290e8e75094655ff2",
173
+ "fullVersion": "5.10.1-gece7018",
174
+ "testedSha": "b8386b632a25218b1a24783230a30aad613d94d1"
167
175
  }
168
176
  }
@@ -1,45 +0,0 @@
1
- "use strict";
2
-
3
- exports.AuthenticationFlowMonitor = void 0;
4
-
5
- var _FlowMonitor = require("./FlowMonitor");
6
-
7
- /*!
8
- * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
9
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
10
- *
11
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
12
- * Unless required by applicable law or agreed to in writing, software
13
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- *
16
- * See the License for the specific language governing permissions and limitations under the License.
17
- */
18
- class AuthenticationFlowMonitor extends _FlowMonitor.FlowMonitor {
19
- isRemediatorCandidate(remediator, remediations, values) {
20
- var _this$previousRemedia;
21
-
22
- const prevRemediatorName = (_this$previousRemedia = this.previousRemediator) === null || _this$previousRemedia === void 0 ? void 0 : _this$previousRemedia.getName();
23
- const remediatorName = remediator.getName();
24
-
25
- if (remediatorName === 'select-authenticator-authenticate' && ['select-authenticator-authenticate'].includes(prevRemediatorName)) {
26
- return false;
27
- }
28
-
29
- if (remediatorName === 'select-authenticator-authenticate' && remediations.some(({
30
- name
31
- }) => name === 'challenge-authenticator')) {
32
- return false;
33
- }
34
-
35
- if (remediatorName === 'select-authenticator-enroll' && ['select-authenticator-enroll', 'authenticator-enrollment-data'].includes(prevRemediatorName)) {
36
- return false;
37
- }
38
-
39
- return super.isRemediatorCandidate(remediator, remediations, values);
40
- }
41
-
42
- }
43
-
44
- exports.AuthenticationFlowMonitor = AuthenticationFlowMonitor;
45
- //# sourceMappingURL=AuthenticationFlowMonitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../lib/idx/flowMonitors/AuthenticationFlowMonitor.ts"],"names":["AuthenticationFlowMonitor","FlowMonitor","isRemediatorCandidate","remediator","remediations","values","prevRemediatorName","previousRemediator","getName","remediatorName","includes","some","name"],"mappings":";;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKO,MAAMA,yBAAN,SAAwCC,wBAAxC,CAAoD;AACzDC,EAAAA,qBAAqB,CAACC,UAAD,EAAaC,YAAb,EAA4BC,MAA5B,EAAqC;AAAA;;AACxD,UAAMC,kBAAkB,4BAAG,KAAKC,kBAAR,0DAAG,sBAAyBC,OAAzB,EAA3B;AACA,UAAMC,cAAc,GAAGN,UAAU,CAACK,OAAX,EAAvB;;AAEA,QAAIC,cAAc,KAAK,mCAAnB,IACC,CAAC,mCAAD,EAAsCC,QAAtC,CAA+CJ,kBAA/C,CADL,EACyE;AACvE,aAAO,KAAP;AACD;;AAED,QAAIG,cAAc,KAAK,mCAAnB,IACCL,YAAY,CAACO,IAAb,CAAkB,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,yBAAzC,CADL,EAC0E;AACxE,aAAO,KAAP;AACD;;AAED,QAAIH,cAAc,KAAK,6BAAnB,IACC,CACC,6BADD,EAEC,+BAFD,EAGCC,QAHD,CAGUJ,kBAHV,CADL,EAIoC;AAClC,aAAO,KAAP;AACD;;AAED,WAAO,MAAMJ,qBAAN,CAA4BC,UAA5B,EAAwCC,YAAxC,EAAsDC,MAAtD,CAAP;AACD;;AAxBwD","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 { FlowMonitor } from './FlowMonitor';\n\nexport class AuthenticationFlowMonitor extends FlowMonitor {\n isRemediatorCandidate(remediator, remediations?, values?) {\n const prevRemediatorName = this.previousRemediator?.getName();\n const remediatorName = remediator.getName();\n \n if (remediatorName === 'select-authenticator-authenticate' \n && ['select-authenticator-authenticate'].includes(prevRemediatorName)) {\n return false;\n }\n\n if (remediatorName === 'select-authenticator-authenticate' \n && remediations.some(({ name }) => name === 'challenge-authenticator')) {\n return false;\n }\n\n if (remediatorName === 'select-authenticator-enroll' \n && [\n 'select-authenticator-enroll', \n 'authenticator-enrollment-data'\n ].includes(prevRemediatorName)) {\n return false;\n }\n\n return super.isRemediatorCandidate(remediator, remediations, values);\n }\n}\n"],"file":"AuthenticationFlowMonitor.js"}
@@ -1,69 +0,0 @@
1
- "use strict";
2
-
3
- exports.FlowMonitor = void 0;
4
-
5
- var _transactionMeta = require("../transactionMeta");
6
-
7
- /*!
8
- * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
9
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
10
- *
11
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
12
- * Unless required by applicable law or agreed to in writing, software
13
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- *
16
- * See the License for the specific language governing permissions and limitations under the License.
17
- */
18
- class FlowMonitor {
19
- constructor(authClient) {
20
- this.authClient = authClient;
21
- } // detect in-memory loop
22
-
23
-
24
- loopDetected(remediator) {
25
- if (!this.previousRemediator) {
26
- this.previousRemediator = remediator;
27
- return false;
28
- }
29
-
30
- if (this.previousRemediator.getName() === remediator.getName()) {
31
- return true;
32
- }
33
-
34
- this.previousRemediator = remediator;
35
- return false;
36
- }
37
-
38
- isRemediatorCandidate( // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars
39
- remediator, remediations, values) {
40
- const remediatorName = remediator.getName();
41
-
42
- if (!values.skip && remediatorName === 'skip') {
43
- return false;
44
- }
45
-
46
- if (values.skip && remediatorName !== 'skip') {
47
- return false;
48
- }
49
-
50
- return true;
51
- }
52
-
53
- async trackRemediations(name) {
54
- let meta = await (0, _transactionMeta.getTransactionMeta)(this.authClient);
55
- const remediations = meta.remediations || [];
56
- meta = { ...meta,
57
- remediations: [...remediations, name]
58
- };
59
- (0, _transactionMeta.saveTransactionMeta)(this.authClient, meta);
60
- }
61
-
62
- isFinished() {
63
- return Promise.resolve(true);
64
- }
65
-
66
- }
67
-
68
- exports.FlowMonitor = FlowMonitor;
69
- //# sourceMappingURL=FlowMonitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../lib/idx/flowMonitors/FlowMonitor.ts"],"names":["FlowMonitor","constructor","authClient","loopDetected","remediator","previousRemediator","getName","isRemediatorCandidate","remediations","values","remediatorName","skip","trackRemediations","name","meta","isFinished","Promise","resolve"],"mappings":";;;;AAeA;;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQO,MAAMA,WAAN,CAAkB;AAIvBC,EAAAA,WAAW,CAACC,UAAD,EAAa;AACtB,SAAKA,UAAL,GAAkBA,UAAlB;AACD,GANsB,CAQvB;;;AACAC,EAAAA,YAAY,CAACC,UAAD,EAAkC;AAC5C,QAAI,CAAC,KAAKC,kBAAV,EAA8B;AAC5B,WAAKA,kBAAL,GAA0BD,UAA1B;AACA,aAAO,KAAP;AACD;;AAED,QAAI,KAAKC,kBAAL,CAAwBC,OAAxB,OAAsCF,UAAU,CAACE,OAAX,EAA1C,EAAgE;AAC9D,aAAO,IAAP;AACD;;AAED,SAAKD,kBAAL,GAA0BD,UAA1B;AACA,WAAO,KAAP;AACD;;AAEDG,EAAAA,qBAAqB,EACnB;AACAH,EAAAA,UAFmB,EAEKI,YAFL,EAEsCC,MAFtC,EAGV;AACT,UAAMC,cAAc,GAAGN,UAAU,CAACE,OAAX,EAAvB;;AACA,QAAI,CAACG,MAAM,CAACE,IAAR,IAAgBD,cAAc,KAAK,MAAvC,EAA+C;AAC7C,aAAO,KAAP;AACD;;AACD,QAAID,MAAM,CAACE,IAAP,IAAeD,cAAc,KAAK,MAAtC,EAA8C;AAC5C,aAAO,KAAP;AACD;;AACD,WAAO,IAAP;AACD;;AAEsB,QAAjBE,iBAAiB,CAACC,IAAD,EAAe;AACpC,QAAIC,IAAI,GAAG,MAAM,yCAAmB,KAAKZ,UAAxB,CAAjB;AACA,UAAMM,YAAY,GAAGM,IAAI,CAACN,YAAL,IAAqB,EAA1C;AACAM,IAAAA,IAAI,GAAG,EACL,GAAGA,IADE;AAELN,MAAAA,YAAY,EAAE,CAAC,GAAGA,YAAJ,EAAkBK,IAAlB;AAFT,KAAP;AAIA,8CAAoB,KAAKX,UAAzB,EAAqCY,IAArC;AACD;;AAEDC,EAAAA,UAAU,GAAqB;AAC7B,WAAOC,OAAO,CAACC,OAAR,CAAgB,IAAhB,CAAP;AACD;;AAjDsB","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 { OktaAuth } from '../../types';\nimport { Remediator, RemediationValues, SkipValues } from '../remediators';\nimport { getTransactionMeta, saveTransactionMeta } from '../transactionMeta';\nimport { IdxRemediation } from '../types/idx-js';\n\nexport class FlowMonitor {\n previousRemediator: Remediator;\n authClient: OktaAuth;\n\n constructor(authClient) {\n this.authClient = authClient;\n }\n\n // detect in-memory loop\n loopDetected(remediator: Remediator): boolean {\n if (!this.previousRemediator) {\n this.previousRemediator = remediator;\n return false;\n }\n\n if (this.previousRemediator.getName() === remediator.getName()) {\n return true;\n }\n\n this.previousRemediator = remediator;\n return false;\n }\n\n isRemediatorCandidate(\n // eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars\n remediator: Remediator, remediations?: IdxRemediation[], values?: RemediationValues & SkipValues\n ): boolean {\n const remediatorName = remediator.getName();\n if (!values.skip && remediatorName === 'skip') {\n return false;\n }\n if (values.skip && remediatorName !== 'skip') {\n return false;\n }\n return true;\n }\n\n async trackRemediations(name: string) {\n let meta = await getTransactionMeta(this.authClient);\n const remediations = meta.remediations || [];\n meta = { \n ...meta, \n remediations: [...remediations, name]\n };\n saveTransactionMeta(this.authClient, meta);\n }\n\n isFinished(): Promise<boolean> {\n return Promise.resolve(true);\n }\n}\n"],"file":"FlowMonitor.js"}
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- exports.PasswordRecoveryFlowMonitor = void 0;
4
-
5
- var _FlowMonitor = require("./FlowMonitor");
6
-
7
- var _transactionMeta = require("../transactionMeta");
8
-
9
- /*!
10
- * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
11
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
12
- *
13
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
16
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- *
18
- * See the License for the specific language governing permissions and limitations under the License.
19
- */
20
- class PasswordRecoveryFlowMonitor extends _FlowMonitor.FlowMonitor {
21
- isRemediatorCandidate(remediator, remediations, values) {
22
- var _this$previousRemedia;
23
-
24
- const prevRemediatorName = (_this$previousRemedia = this.previousRemediator) === null || _this$previousRemedia === void 0 ? void 0 : _this$previousRemedia.getName();
25
- const remediatorName = remediator.getName();
26
-
27
- if (remediatorName === 'select-authenticator-authenticate' && ['select-authenticator-authenticate', 'reenroll-authenticator'].includes(prevRemediatorName)) {
28
- return false;
29
- }
30
-
31
- if (remediatorName === 'select-authenticator-authenticate' && remediations.some(({
32
- name
33
- }) => name === 'challenge-authenticator')) {
34
- return false;
35
- }
36
-
37
- return super.isRemediatorCandidate(remediator, remediations, values);
38
- }
39
-
40
- async isFinished() {
41
- const {
42
- remediations
43
- } = await (0, _transactionMeta.getTransactionMeta)(this.authClient);
44
-
45
- if (!remediations.includes('reset-authenticator')) {
46
- return false;
47
- }
48
-
49
- return await super.isFinished();
50
- }
51
-
52
- }
53
-
54
- exports.PasswordRecoveryFlowMonitor = PasswordRecoveryFlowMonitor;
55
- //# sourceMappingURL=PasswordRecoveryFlowMonitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../lib/idx/flowMonitors/PasswordRecoveryFlowMonitor.ts"],"names":["PasswordRecoveryFlowMonitor","FlowMonitor","isRemediatorCandidate","remediator","remediations","values","prevRemediatorName","previousRemediator","getName","remediatorName","includes","some","name","isFinished","authClient"],"mappings":";;;;AAaA;;AACA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMO,MAAMA,2BAAN,SAA0CC,wBAA1C,CAAsD;AAC3DC,EAAAA,qBAAqB,CAACC,UAAD,EAAaC,YAAb,EAA4BC,MAA5B,EAAqC;AAAA;;AACxD,UAAMC,kBAAkB,4BAAG,KAAKC,kBAAR,0DAAG,sBAAyBC,OAAzB,EAA3B;AACA,UAAMC,cAAc,GAAGN,UAAU,CAACK,OAAX,EAAvB;;AAEA,QAAIC,cAAc,KAAK,mCAAnB,IACC,CACD,mCADC,EAED,wBAFC,EAGDC,QAHC,CAGQJ,kBAHR,CADL,EAIkC;AAChC,aAAO,KAAP;AACD;;AAED,QAAIG,cAAc,KAAK,mCAAnB,IACCL,YAAY,CAACO,IAAb,CAAkB,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,yBAAzC,CADL,EAC0E;AACxE,aAAO,KAAP;AACD;;AAED,WAAO,MAAMV,qBAAN,CAA4BC,UAA5B,EAAwCC,YAAxC,EAAsDC,MAAtD,CAAP;AACD;;AAEe,QAAVQ,UAAU,GAAG;AACjB,UAAM;AAAET,MAAAA;AAAF,QAAoB,MAAM,yCAAmB,KAAKU,UAAxB,CAAhC;;AACA,QAAI,CAACV,YAAY,CAACM,QAAb,CAAsB,qBAAtB,CAAL,EAAmD;AACjD,aAAO,KAAP;AACD;;AAED,WAAO,MAAM,MAAMG,UAAN,EAAb;AACD;;AA5B0D","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 { FlowMonitor } from './FlowMonitor';\nimport { getTransactionMeta } from '../transactionMeta';\n\nexport class PasswordRecoveryFlowMonitor extends FlowMonitor {\n isRemediatorCandidate(remediator, remediations?, values?) {\n const prevRemediatorName = this.previousRemediator?.getName();\n const remediatorName = remediator.getName();\n \n if (remediatorName === 'select-authenticator-authenticate' \n && [\n 'select-authenticator-authenticate',\n 'reenroll-authenticator'\n ].includes(prevRemediatorName)) {\n return false;\n }\n\n if (remediatorName === 'select-authenticator-authenticate' \n && remediations.some(({ name }) => name === 'challenge-authenticator')) {\n return false;\n }\n\n return super.isRemediatorCandidate(remediator, remediations, values);\n }\n\n async isFinished() {\n const { remediations } = await getTransactionMeta(this.authClient);\n if (!remediations.includes('reset-authenticator')) {\n return false;\n }\n\n return await super.isFinished();\n }\n}\n"],"file":"PasswordRecoveryFlowMonitor.js"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
-
3
- exports.RegistrationFlowMonitor = void 0;
4
-
5
- var _FlowMonitor = require("./FlowMonitor");
6
-
7
- /*!
8
- * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
9
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
10
- *
11
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
12
- * Unless required by applicable law or agreed to in writing, software
13
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- *
16
- * See the License for the specific language governing permissions and limitations under the License.
17
- */
18
- class RegistrationFlowMonitor extends _FlowMonitor.FlowMonitor {
19
- isRemediatorCandidate(remediator, remediations, values) {
20
- var _this$previousRemedia;
21
-
22
- const prevRemediatorName = (_this$previousRemedia = this.previousRemediator) === null || _this$previousRemedia === void 0 ? void 0 : _this$previousRemedia.getName();
23
- const remediatorName = remediator.getName();
24
-
25
- if (remediatorName === 'select-authenticator-enroll' && ['select-authenticator-enroll', 'authenticator-enrollment-data'].includes(prevRemediatorName)) {
26
- return false;
27
- }
28
-
29
- return super.isRemediatorCandidate(remediator, remediations, values);
30
- }
31
-
32
- }
33
-
34
- exports.RegistrationFlowMonitor = RegistrationFlowMonitor;
35
- //# sourceMappingURL=RegistrationFlowMonitor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../lib/idx/flowMonitors/RegistrationFlowMonitor.ts"],"names":["RegistrationFlowMonitor","FlowMonitor","isRemediatorCandidate","remediator","remediations","values","prevRemediatorName","previousRemediator","getName","remediatorName","includes"],"mappings":";;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKO,MAAMA,uBAAN,SAAsCC,wBAAtC,CAAkD;AACvDC,EAAAA,qBAAqB,CAACC,UAAD,EAAaC,YAAb,EAA4BC,MAA5B,EAAqC;AAAA;;AACxD,UAAMC,kBAAkB,4BAAG,KAAKC,kBAAR,0DAAG,sBAAyBC,OAAzB,EAA3B;AACA,UAAMC,cAAc,GAAGN,UAAU,CAACK,OAAX,EAAvB;;AACA,QAAIC,cAAc,KAAK,6BAAnB,IACC,CACC,6BADD,EAEC,+BAFD,EAGCC,QAHD,CAGUJ,kBAHV,CADL,EAIoC;AAClC,aAAO,KAAP;AACD;;AAED,WAAO,MAAMJ,qBAAN,CAA4BC,UAA5B,EAAwCC,YAAxC,EAAsDC,MAAtD,CAAP;AACD;;AAbsD","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 { FlowMonitor } from './FlowMonitor';\n\nexport class RegistrationFlowMonitor extends FlowMonitor {\n isRemediatorCandidate(remediator, remediations?, values?) {\n const prevRemediatorName = this.previousRemediator?.getName();\n const remediatorName = remediator.getName();\n if (remediatorName === 'select-authenticator-enroll' \n && [\n 'select-authenticator-enroll', \n 'authenticator-enrollment-data'\n ].includes(prevRemediatorName)) {\n return false;\n }\n\n return super.isRemediatorCandidate(remediator, remediations, values);\n }\n}\n"],"file":"RegistrationFlowMonitor.js"}
@@ -1,54 +0,0 @@
1
- "use strict";
2
-
3
- var _FlowMonitor = require("./FlowMonitor");
4
-
5
- Object.keys(_FlowMonitor).forEach(function (key) {
6
- if (key === "default" || key === "__esModule") return;
7
- if (key in exports && exports[key] === _FlowMonitor[key]) return;
8
- Object.defineProperty(exports, key, {
9
- enumerable: true,
10
- get: function () {
11
- return _FlowMonitor[key];
12
- }
13
- });
14
- });
15
-
16
- var _RegistrationFlowMonitor = require("./RegistrationFlowMonitor");
17
-
18
- Object.keys(_RegistrationFlowMonitor).forEach(function (key) {
19
- if (key === "default" || key === "__esModule") return;
20
- if (key in exports && exports[key] === _RegistrationFlowMonitor[key]) return;
21
- Object.defineProperty(exports, key, {
22
- enumerable: true,
23
- get: function () {
24
- return _RegistrationFlowMonitor[key];
25
- }
26
- });
27
- });
28
-
29
- var _AuthenticationFlowMonitor = require("./AuthenticationFlowMonitor");
30
-
31
- Object.keys(_AuthenticationFlowMonitor).forEach(function (key) {
32
- if (key === "default" || key === "__esModule") return;
33
- if (key in exports && exports[key] === _AuthenticationFlowMonitor[key]) return;
34
- Object.defineProperty(exports, key, {
35
- enumerable: true,
36
- get: function () {
37
- return _AuthenticationFlowMonitor[key];
38
- }
39
- });
40
- });
41
-
42
- var _PasswordRecoveryFlowMonitor = require("./PasswordRecoveryFlowMonitor");
43
-
44
- Object.keys(_PasswordRecoveryFlowMonitor).forEach(function (key) {
45
- if (key === "default" || key === "__esModule") return;
46
- if (key in exports && exports[key] === _PasswordRecoveryFlowMonitor[key]) return;
47
- Object.defineProperty(exports, key, {
48
- enumerable: true,
49
- get: function () {
50
- return _PasswordRecoveryFlowMonitor[key];
51
- }
52
- });
53
- });
54
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../lib/idx/flowMonitors/index.ts"],"names":[],"mappings":";;AAaA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","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\nexport * from './FlowMonitor';\nexport * from './RegistrationFlowMonitor';\nexport * from './AuthenticationFlowMonitor';\nexport * from './PasswordRecoveryFlowMonitor';\n"],"file":"index.js"}