@okta/okta-auth-js 5.5.0 → 5.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/CHANGELOG.md +66 -4
  2. package/README.md +61 -15
  3. package/cjs/AuthStateManager.js +5 -0
  4. package/cjs/AuthStateManager.js.map +1 -1
  5. package/cjs/OktaAuth.js +78 -29
  6. package/cjs/OktaAuth.js.map +1 -1
  7. package/cjs/OktaUserAgent.js +2 -2
  8. package/cjs/StorageManager.js +16 -0
  9. package/cjs/StorageManager.js.map +1 -1
  10. package/cjs/TransactionManager.js +49 -9
  11. package/cjs/TransactionManager.js.map +1 -1
  12. package/cjs/builderUtil.js +6 -0
  13. package/cjs/builderUtil.js.map +1 -1
  14. package/cjs/constants.js +5 -1
  15. package/cjs/constants.js.map +1 -1
  16. package/cjs/features.js +1 -1
  17. package/cjs/features.js.map +1 -1
  18. package/cjs/idx/authenticate.js +3 -18
  19. package/cjs/idx/authenticate.js.map +1 -1
  20. package/cjs/idx/flow/AuthenticationFlow.js +30 -0
  21. package/cjs/idx/flow/AuthenticationFlow.js.map +1 -0
  22. package/cjs/idx/{flowMonitors → flow}/AuthenticationFlowMonitor.js +0 -0
  23. package/cjs/idx/flow/AuthenticationFlowMonitor.js.map +1 -0
  24. package/cjs/idx/{flowMonitors → flow}/FlowMonitor.js +0 -0
  25. package/cjs/idx/flow/FlowMonitor.js.map +1 -0
  26. package/cjs/idx/flow/FlowSpecification.js +49 -0
  27. package/cjs/idx/flow/FlowSpecification.js.map +1 -0
  28. package/cjs/idx/flow/PasswordRecoveryFlow.js +28 -0
  29. package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -0
  30. package/cjs/idx/{flowMonitors → flow}/PasswordRecoveryFlowMonitor.js +0 -0
  31. package/cjs/idx/flow/PasswordRecoveryFlowMonitor.js.map +1 -0
  32. package/{esm/crypto/browser.js → cjs/idx/flow/RegistrationFlow.js} +15 -12
  33. package/cjs/idx/flow/RegistrationFlow.js.map +1 -0
  34. package/cjs/idx/{flowMonitors → flow}/RegistrationFlowMonitor.js +0 -0
  35. package/cjs/idx/flow/RegistrationFlowMonitor.js.map +1 -0
  36. package/cjs/idx/flow/RemediationFlow.js +2 -0
  37. package/{esm/types/Cookies.js.map → cjs/idx/flow/RemediationFlow.js.map} +1 -1
  38. package/cjs/idx/flow/index.js +119 -0
  39. package/cjs/idx/flow/index.js.map +1 -0
  40. package/cjs/idx/index.js +26 -0
  41. package/cjs/idx/index.js.map +1 -1
  42. package/cjs/idx/interact.js +5 -2
  43. package/cjs/idx/interact.js.map +1 -1
  44. package/cjs/idx/introspect.js +24 -7
  45. package/cjs/idx/introspect.js.map +1 -1
  46. package/cjs/idx/proceed.js +49 -0
  47. package/cjs/idx/proceed.js.map +1 -0
  48. package/cjs/idx/recoverPassword.js +3 -17
  49. package/cjs/idx/recoverPassword.js.map +1 -1
  50. package/cjs/idx/register.js +7 -16
  51. package/cjs/idx/register.js.map +1 -1
  52. package/cjs/idx/remediate.js +46 -52
  53. package/cjs/idx/remediate.js.map +1 -1
  54. package/cjs/idx/remediators/Base/AuthenticatorData.js +7 -7
  55. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  56. package/cjs/idx/remediators/Base/Remediator.js +13 -7
  57. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  58. package/cjs/idx/remediators/Base/SelectAuthenticator.js +6 -6
  59. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  60. package/cjs/idx/remediators/Base/VerifyAuthenticator.js +18 -14
  61. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  62. package/cjs/idx/remediators/EnrollProfile.js +14 -0
  63. package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
  64. package/cjs/idx/remediators/Identify.js +7 -3
  65. package/cjs/idx/remediators/Identify.js.map +1 -1
  66. package/cjs/idx/remediators/ReEnrollAuthenticator.js +1 -1
  67. package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
  68. package/cjs/idx/run.js +36 -8
  69. package/cjs/idx/run.js.map +1 -1
  70. package/cjs/idx/startTransaction.js +2 -0
  71. package/cjs/idx/startTransaction.js.map +1 -1
  72. package/cjs/idx/transactionMeta.js +80 -40
  73. package/cjs/idx/transactionMeta.js.map +1 -1
  74. package/cjs/idx/types/FlowIdentifier.js +2 -0
  75. package/{esm/types/AuthState.js.map → cjs/idx/types/FlowIdentifier.js.map} +1 -1
  76. package/cjs/idx/types/idx-js.js +5 -0
  77. package/cjs/idx/types/idx-js.js.map +1 -1
  78. package/cjs/idx/types/index.js +33 -6
  79. package/cjs/idx/types/index.js.map +1 -1
  80. package/cjs/oidc/endpoints/authorize.js +4 -1
  81. package/cjs/oidc/endpoints/authorize.js.map +1 -1
  82. package/cjs/oidc/getToken.js +14 -9
  83. package/cjs/oidc/getToken.js.map +1 -1
  84. package/cjs/oidc/getWithPopup.js +9 -2
  85. package/cjs/oidc/getWithPopup.js.map +1 -1
  86. package/cjs/oidc/getWithRedirect.js.map +1 -1
  87. package/cjs/oidc/parseFromUrl.js +59 -20
  88. package/cjs/oidc/parseFromUrl.js.map +1 -1
  89. package/cjs/oidc/renewTokens.js +28 -5
  90. package/cjs/oidc/renewTokens.js.map +1 -1
  91. package/cjs/oidc/util/browser.js +1 -13
  92. package/cjs/oidc/util/browser.js.map +1 -1
  93. package/cjs/oidc/util/loginRedirect.js +9 -5
  94. package/cjs/oidc/util/loginRedirect.js.map +1 -1
  95. package/cjs/oidc/util/urlParams.js +1 -1
  96. package/cjs/oidc/util/urlParams.js.map +1 -1
  97. package/cjs/options.js +15 -2
  98. package/cjs/options.js.map +1 -1
  99. package/cjs/server/serverStorage.js +2 -1
  100. package/cjs/server/serverStorage.js.map +1 -1
  101. package/cjs/tx/AuthTransaction.js +1 -3
  102. package/cjs/tx/AuthTransaction.js.map +1 -1
  103. package/cjs/tx/api.js +3 -0
  104. package/cjs/tx/api.js.map +1 -1
  105. package/cjs/types/Transaction.js.map +1 -1
  106. package/{esm/clock.js → cjs/util/emailVerify.js} +14 -18
  107. package/cjs/util/emailVerify.js.map +1 -0
  108. package/cjs/util/index.js +13 -0
  109. package/cjs/util/index.js.map +1 -1
  110. package/cjs/util/sharedStorage.js +54 -0
  111. package/cjs/util/sharedStorage.js.map +1 -0
  112. package/dist/okta-auth-js.min.js +2 -74
  113. package/dist/okta-auth-js.min.js.LICENSE.txt +32 -0
  114. package/dist/okta-auth-js.min.js.map +1 -1
  115. package/dist/okta-auth-js.polyfill.js +2 -18
  116. package/{esm/crypto/webcrypto.js → dist/okta-auth-js.polyfill.js.LICENSE.txt} +8 -4
  117. package/dist/okta-auth-js.polyfill.js.map +1 -1
  118. package/dist/okta-auth-js.umd.js +2 -74
  119. package/dist/okta-auth-js.umd.js.LICENSE.txt +32 -0
  120. package/dist/okta-auth-js.umd.js.map +1 -1
  121. package/esm/index.js +8368 -16
  122. package/esm/index.js.map +1 -1
  123. package/lib/AuthStateManager.d.ts +4 -2
  124. package/lib/OktaAuth.d.ts +9 -5
  125. package/lib/StorageManager.d.ts +2 -0
  126. package/lib/TransactionManager.d.ts +6 -1
  127. package/lib/constants.d.ts +2 -0
  128. package/lib/crypto/base64.d.ts +2 -2
  129. package/lib/crypto/oidcHash.d.ts +1 -1
  130. package/lib/crypto/verifyToken.d.ts +1 -1
  131. package/{esm/oidc/endpoints/index.js → lib/idx/flow/AuthenticationFlow.d.ts} +3 -5
  132. package/lib/idx/{flowMonitors → flow}/AuthenticationFlowMonitor.d.ts +0 -0
  133. package/lib/idx/{flowMonitors → flow}/FlowMonitor.d.ts +0 -0
  134. package/lib/idx/flow/FlowSpecification.d.ts +10 -0
  135. package/{esm/crypto/index.js → lib/idx/flow/PasswordRecoveryFlow.d.ts} +3 -6
  136. package/lib/idx/{flowMonitors → flow}/PasswordRecoveryFlowMonitor.d.ts +0 -0
  137. package/{esm/tx/TransactionState.js → lib/idx/flow/RegistrationFlow.d.ts} +3 -3
  138. package/lib/idx/{flowMonitors → flow}/RegistrationFlowMonitor.d.ts +0 -0
  139. package/lib/idx/flow/RemediationFlow.d.ts +13 -0
  140. package/lib/idx/{flowMonitors → flow}/index.d.ts +7 -2
  141. package/lib/idx/index.d.ts +2 -0
  142. package/lib/idx/introspect.d.ts +2 -1
  143. package/{esm/errors/AuthApiError.js → lib/idx/proceed.d.ts} +9 -19
  144. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +2 -5
  145. package/lib/idx/remediators/Base/Remediator.d.ts +3 -6
  146. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +3 -6
  147. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +1 -1
  148. package/lib/idx/remediators/EnrollProfile.d.ts +1 -0
  149. package/lib/idx/remediators/Identify.d.ts +2 -5
  150. package/lib/idx/run.d.ts +9 -9
  151. package/lib/idx/transactionMeta.d.ts +28 -4
  152. package/lib/idx/types/FlowIdentifier.d.ts +1 -0
  153. package/lib/idx/types/idx-js.d.ts +5 -0
  154. package/lib/idx/types/index.d.ts +28 -10
  155. package/lib/oidc/getToken.d.ts +2 -2
  156. package/lib/oidc/parseFromUrl.d.ts +4 -1
  157. package/lib/oidc/renewTokens.d.ts +0 -12
  158. package/lib/oidc/util/loginRedirect.d.ts +1 -1
  159. package/lib/types/AuthState.d.ts +1 -0
  160. package/lib/types/OktaAuthOptions.d.ts +3 -1
  161. package/lib/types/Transaction.d.ts +7 -1
  162. package/lib/types/api.d.ts +21 -5
  163. package/{esm/errors/AuthPollStopError.js → lib/util/emailVerify.d.ts} +5 -8
  164. package/lib/util/index.d.ts +1 -0
  165. package/lib/util/sharedStorage.d.ts +6 -0
  166. package/package.json +26 -13
  167. package/cjs/idx/flowMonitors/AuthenticationFlowMonitor.js.map +0 -1
  168. package/cjs/idx/flowMonitors/FlowMonitor.js.map +0 -1
  169. package/cjs/idx/flowMonitors/PasswordRecoveryFlowMonitor.js.map +0 -1
  170. package/cjs/idx/flowMonitors/RegistrationFlowMonitor.js.map +0 -1
  171. package/cjs/idx/flowMonitors/index.js +0 -54
  172. package/cjs/idx/flowMonitors/index.js.map +0 -1
  173. package/esm/AuthStateManager.js +0 -209
  174. package/esm/AuthStateManager.js.map +0 -1
  175. package/esm/OktaAuth.js +0 -665
  176. package/esm/OktaAuth.js.map +0 -1
  177. package/esm/OktaUserAgent.js +0 -49
  178. package/esm/OktaUserAgent.js.map +0 -1
  179. package/esm/PromiseQueue.js +0 -71
  180. package/esm/PromiseQueue.js.map +0 -1
  181. package/esm/SavedObject.js +0 -91
  182. package/esm/SavedObject.js.map +0 -1
  183. package/esm/StorageManager.js +0 -174
  184. package/esm/StorageManager.js.map +0 -1
  185. package/esm/TokenManager.js +0 -455
  186. package/esm/TokenManager.js.map +0 -1
  187. package/esm/TransactionManager.js +0 -289
  188. package/esm/TransactionManager.js.map +0 -1
  189. package/esm/browser/browserStorage.js +0 -256
  190. package/esm/browser/browserStorage.js.map +0 -1
  191. package/esm/browser/fingerprint.js +0 -74
  192. package/esm/browser/fingerprint.js.map +0 -1
  193. package/esm/builderUtil.js +0 -50
  194. package/esm/builderUtil.js.map +0 -1
  195. package/esm/clock.js.map +0 -1
  196. package/esm/constants.js +0 -34
  197. package/esm/constants.js.map +0 -1
  198. package/esm/crypto/base64.js +0 -66
  199. package/esm/crypto/base64.js.map +0 -1
  200. package/esm/crypto/browser.js.map +0 -1
  201. package/esm/crypto/index.js.map +0 -1
  202. package/esm/crypto/node.js +0 -54
  203. package/esm/crypto/node.js.map +0 -1
  204. package/esm/crypto/oidcHash.js +0 -27
  205. package/esm/crypto/oidcHash.js.map +0 -1
  206. package/esm/crypto/verifyToken.js +0 -39
  207. package/esm/crypto/verifyToken.js.map +0 -1
  208. package/esm/crypto/webcrypto.js.map +0 -1
  209. package/esm/errors/AuthApiError.js.map +0 -1
  210. package/esm/errors/AuthPollStopError.js.map +0 -1
  211. package/esm/errors/AuthSdkError.js +0 -29
  212. package/esm/errors/AuthSdkError.js.map +0 -1
  213. package/esm/errors/CustomError.js +0 -21
  214. package/esm/errors/CustomError.js.map +0 -1
  215. package/esm/errors/OAuthError.js +0 -22
  216. package/esm/errors/OAuthError.js.map +0 -1
  217. package/esm/errors/index.js +0 -22
  218. package/esm/errors/index.js.map +0 -1
  219. package/esm/features.js +0 -64
  220. package/esm/features.js.map +0 -1
  221. package/esm/fetch/fetchRequest.js +0 -92
  222. package/esm/fetch/fetchRequest.js.map +0 -1
  223. package/esm/http/headers.js +0 -17
  224. package/esm/http/headers.js.map +0 -1
  225. package/esm/http/index.js +0 -3
  226. package/esm/http/index.js.map +0 -1
  227. package/esm/http/request.js +0 -145
  228. package/esm/http/request.js.map +0 -1
  229. package/esm/idx/authenticate.js +0 -47
  230. package/esm/idx/authenticate.js.map +0 -1
  231. package/esm/idx/cancel.js +0 -32
  232. package/esm/idx/cancel.js.map +0 -1
  233. package/esm/idx/flowMonitors/AuthenticationFlowMonitor.js +0 -41
  234. package/esm/idx/flowMonitors/AuthenticationFlowMonitor.js.map +0 -1
  235. package/esm/idx/flowMonitors/FlowMonitor.js +0 -73
  236. package/esm/idx/flowMonitors/FlowMonitor.js.map +0 -1
  237. package/esm/idx/flowMonitors/PasswordRecoveryFlowMonitor.js +0 -57
  238. package/esm/idx/flowMonitors/PasswordRecoveryFlowMonitor.js.map +0 -1
  239. package/esm/idx/flowMonitors/RegistrationFlowMonitor.js +0 -28
  240. package/esm/idx/flowMonitors/RegistrationFlowMonitor.js.map +0 -1
  241. package/esm/idx/flowMonitors/index.js +0 -16
  242. package/esm/idx/flowMonitors/index.js.map +0 -1
  243. package/esm/idx/handleInteractionCodeRedirect.js +0 -64
  244. package/esm/idx/handleInteractionCodeRedirect.js.map +0 -1
  245. package/esm/idx/headers.js +0 -39
  246. package/esm/idx/headers.js.map +0 -1
  247. package/esm/idx/index.js +0 -20
  248. package/esm/idx/index.js.map +0 -1
  249. package/esm/idx/interact.js +0 -83
  250. package/esm/idx/interact.js.map +0 -1
  251. package/esm/idx/introspect.js +0 -45
  252. package/esm/idx/introspect.js.map +0 -1
  253. package/esm/idx/recoverPassword.js +0 -46
  254. package/esm/idx/recoverPassword.js.map +0 -1
  255. package/esm/idx/register.js +0 -63
  256. package/esm/idx/register.js.map +0 -1
  257. package/esm/idx/remediate.js +0 -303
  258. package/esm/idx/remediate.js.map +0 -1
  259. package/esm/idx/remediators/AuthenticatorEnrollmentData.js +0 -68
  260. package/esm/idx/remediators/AuthenticatorEnrollmentData.js.map +0 -1
  261. package/esm/idx/remediators/AuthenticatorVerificationData.js +0 -66
  262. package/esm/idx/remediators/AuthenticatorVerificationData.js.map +0 -1
  263. package/esm/idx/remediators/Base/AuthenticatorData.js +0 -105
  264. package/esm/idx/remediators/Base/AuthenticatorData.js.map +0 -1
  265. package/esm/idx/remediators/Base/Remediator.js +0 -216
  266. package/esm/idx/remediators/Base/Remediator.js.map +0 -1
  267. package/esm/idx/remediators/Base/SelectAuthenticator.js +0 -140
  268. package/esm/idx/remediators/Base/SelectAuthenticator.js.map +0 -1
  269. package/esm/idx/remediators/Base/VerifyAuthenticator.js +0 -62
  270. package/esm/idx/remediators/Base/VerifyAuthenticator.js.map +0 -1
  271. package/esm/idx/remediators/ChallengeAuthenticator.js +0 -18
  272. package/esm/idx/remediators/ChallengeAuthenticator.js.map +0 -1
  273. package/esm/idx/remediators/EnrollAuthenticator.js +0 -18
  274. package/esm/idx/remediators/EnrollAuthenticator.js.map +0 -1
  275. package/esm/idx/remediators/EnrollProfile.js +0 -62
  276. package/esm/idx/remediators/EnrollProfile.js.map +0 -1
  277. package/esm/idx/remediators/Identify.js +0 -85
  278. package/esm/idx/remediators/Identify.js.map +0 -1
  279. package/esm/idx/remediators/ReEnrollAuthenticator.js +0 -45
  280. package/esm/idx/remediators/ReEnrollAuthenticator.js.map +0 -1
  281. package/esm/idx/remediators/RedirectIdp.js +0 -38
  282. package/esm/idx/remediators/RedirectIdp.js.map +0 -1
  283. package/esm/idx/remediators/ResetAuthenticator.js +0 -18
  284. package/esm/idx/remediators/ResetAuthenticator.js.map +0 -1
  285. package/esm/idx/remediators/SelectAuthenticatorAuthenticate.js +0 -18
  286. package/esm/idx/remediators/SelectAuthenticatorAuthenticate.js.map +0 -1
  287. package/esm/idx/remediators/SelectAuthenticatorEnroll.js +0 -18
  288. package/esm/idx/remediators/SelectAuthenticatorEnroll.js.map +0 -1
  289. package/esm/idx/remediators/SelectEnrollProfile.js +0 -24
  290. package/esm/idx/remediators/SelectEnrollProfile.js.map +0 -1
  291. package/esm/idx/remediators/Skip.js +0 -23
  292. package/esm/idx/remediators/Skip.js.map +0 -1
  293. package/esm/idx/remediators/index.js +0 -26
  294. package/esm/idx/remediators/index.js.map +0 -1
  295. package/esm/idx/remediators/util.js +0 -35
  296. package/esm/idx/remediators/util.js.map +0 -1
  297. package/esm/idx/run.js +0 -201
  298. package/esm/idx/run.js.map +0 -1
  299. package/esm/idx/startTransaction.js +0 -27
  300. package/esm/idx/startTransaction.js.map +0 -1
  301. package/esm/idx/transactionMeta.js +0 -112
  302. package/esm/idx/transactionMeta.js.map +0 -1
  303. package/esm/idx/types/idx-js.js +0 -17
  304. package/esm/idx/types/idx-js.js.map +0 -1
  305. package/esm/idx/types/index.js +0 -34
  306. package/esm/idx/types/index.js.map +0 -1
  307. package/esm/oidc/decodeToken.js +0 -31
  308. package/esm/oidc/decodeToken.js.map +0 -1
  309. package/esm/oidc/endpoints/authorize.js +0 -61
  310. package/esm/oidc/endpoints/authorize.js.map +0 -1
  311. package/esm/oidc/endpoints/index.js.map +0 -1
  312. package/esm/oidc/endpoints/token.js +0 -97
  313. package/esm/oidc/endpoints/token.js.map +0 -1
  314. package/esm/oidc/endpoints/well-known.js +0 -58
  315. package/esm/oidc/endpoints/well-known.js.map +0 -1
  316. package/esm/oidc/exchangeCodeForTokens.js +0 -69
  317. package/esm/oidc/exchangeCodeForTokens.js.map +0 -1
  318. package/esm/oidc/getToken.js +0 -175
  319. package/esm/oidc/getToken.js.map +0 -1
  320. package/esm/oidc/getUserInfo.js +0 -82
  321. package/esm/oidc/getUserInfo.js.map +0 -1
  322. package/esm/oidc/getWithPopup.js +0 -28
  323. package/esm/oidc/getWithPopup.js.map +0 -1
  324. package/esm/oidc/getWithRedirect.js +0 -61
  325. package/esm/oidc/getWithRedirect.js.map +0 -1
  326. package/esm/oidc/getWithoutPrompt.js +0 -29
  327. package/esm/oidc/getWithoutPrompt.js.map +0 -1
  328. package/esm/oidc/handleOAuthResponse.js +0 -148
  329. package/esm/oidc/handleOAuthResponse.js.map +0 -1
  330. package/esm/oidc/index.js +0 -29
  331. package/esm/oidc/index.js.map +0 -1
  332. package/esm/oidc/parseFromUrl.js +0 -102
  333. package/esm/oidc/parseFromUrl.js.map +0 -1
  334. package/esm/oidc/renewToken.js +0 -85
  335. package/esm/oidc/renewToken.js.map +0 -1
  336. package/esm/oidc/renewTokens.js +0 -52
  337. package/esm/oidc/renewTokens.js.map +0 -1
  338. package/esm/oidc/renewTokensWithRefresh.js +0 -55
  339. package/esm/oidc/renewTokensWithRefresh.js.map +0 -1
  340. package/esm/oidc/revokeToken.js +0 -57
  341. package/esm/oidc/revokeToken.js.map +0 -1
  342. package/esm/oidc/util/browser.js +0 -85
  343. package/esm/oidc/util/browser.js.map +0 -1
  344. package/esm/oidc/util/defaultTokenParams.js +0 -42
  345. package/esm/oidc/util/defaultTokenParams.js.map +0 -1
  346. package/esm/oidc/util/errors.js +0 -31
  347. package/esm/oidc/util/errors.js.map +0 -1
  348. package/esm/oidc/util/index.js +0 -25
  349. package/esm/oidc/util/index.js.map +0 -1
  350. package/esm/oidc/util/loginRedirect.js +0 -84
  351. package/esm/oidc/util/loginRedirect.js.map +0 -1
  352. package/esm/oidc/util/oauth.js +0 -70
  353. package/esm/oidc/util/oauth.js.map +0 -1
  354. package/esm/oidc/util/pkce.js +0 -55
  355. package/esm/oidc/util/pkce.js.map +0 -1
  356. package/esm/oidc/util/prepareTokenParams.js +0 -75
  357. package/esm/oidc/util/prepareTokenParams.js.map +0 -1
  358. package/esm/oidc/util/refreshToken.js +0 -24
  359. package/esm/oidc/util/refreshToken.js.map +0 -1
  360. package/esm/oidc/util/urlParams.js +0 -54
  361. package/esm/oidc/util/urlParams.js.map +0 -1
  362. package/esm/oidc/util/validateClaims.js +0 -53
  363. package/esm/oidc/util/validateClaims.js.map +0 -1
  364. package/esm/oidc/util/validateToken.js +0 -21
  365. package/esm/oidc/util/validateToken.js.map +0 -1
  366. package/esm/oidc/verifyToken.js +0 -78
  367. package/esm/oidc/verifyToken.js.map +0 -1
  368. package/esm/options.js +0 -131
  369. package/esm/options.js.map +0 -1
  370. package/esm/server/serverStorage.js +0 -110
  371. package/esm/server/serverStorage.js.map +0 -1
  372. package/esm/services/TokenService.js +0 -103
  373. package/esm/services/TokenService.js.map +0 -1
  374. package/esm/session.js +0 -81
  375. package/esm/session.js.map +0 -1
  376. package/esm/tx/AuthTransaction.js +0 -215
  377. package/esm/tx/AuthTransaction.js.map +0 -1
  378. package/esm/tx/TransactionState.js.map +0 -1
  379. package/esm/tx/api.js +0 -84
  380. package/esm/tx/api.js.map +0 -1
  381. package/esm/tx/index.js +0 -18
  382. package/esm/tx/index.js.map +0 -1
  383. package/esm/tx/poll.js +0 -124
  384. package/esm/tx/poll.js.map +0 -1
  385. package/esm/tx/util.js +0 -26
  386. package/esm/tx/util.js.map +0 -1
  387. package/esm/types/AuthState.js +0 -3
  388. package/esm/types/Cookies.js +0 -3
  389. package/esm/types/EventEmitter.js +0 -3
  390. package/esm/types/EventEmitter.js.map +0 -1
  391. package/esm/types/JWT.js +0 -3
  392. package/esm/types/JWT.js.map +0 -1
  393. package/esm/types/OAuth.js +0 -3
  394. package/esm/types/OAuth.js.map +0 -1
  395. package/esm/types/OktaAuthOptions.js +0 -3
  396. package/esm/types/OktaAuthOptions.js.map +0 -1
  397. package/esm/types/Storage.js +0 -3
  398. package/esm/types/Storage.js.map +0 -1
  399. package/esm/types/Token.js +0 -29
  400. package/esm/types/Token.js.map +0 -1
  401. package/esm/types/TokenManager.js +0 -3
  402. package/esm/types/TokenManager.js.map +0 -1
  403. package/esm/types/Transaction.js +0 -57
  404. package/esm/types/Transaction.js.map +0 -1
  405. package/esm/types/UserClaims.js +0 -3
  406. package/esm/types/UserClaims.js.map +0 -1
  407. package/esm/types/api.js +0 -3
  408. package/esm/types/api.js.map +0 -1
  409. package/esm/types/http.js +0 -3
  410. package/esm/types/http.js.map +0 -1
  411. package/esm/types/index.js +0 -27
  412. package/esm/types/index.js.map +0 -1
  413. package/esm/util/console.js +0 -53
  414. package/esm/util/console.js.map +0 -1
  415. package/esm/util/index.js +0 -17
  416. package/esm/util/index.js.map +0 -1
  417. package/esm/util/misc.js +0 -33
  418. package/esm/util/misc.js.map +0 -1
  419. package/esm/util/object.js +0 -117
  420. package/esm/util/object.js.map +0 -1
  421. package/esm/util/types.js +0 -27
  422. package/esm/util/types.js.map +0 -1
  423. package/esm/util/url.js +0 -64
  424. package/esm/util/url.js.map +0 -1
@@ -1,303 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
-
4
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
5
-
6
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
7
-
8
- /*!
9
- * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
10
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
11
- *
12
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- *
17
- * See the License for the specific language governing permissions and limitations under the License.
18
- */
19
-
20
- /* eslint-disable max-statements, max-depth, complexity */
21
- import idx from '@okta/okta-idx-js';
22
- import { AuthSdkError } from '../errors';
23
- import { isRawIdxResponse } from './types/idx-js';
24
- var actionsTriggeredByValues = {
25
- resend: 'currentAuthenticatorEnrollment-resend' // assuming only one '-resend' action is present in response
26
-
27
- };
28
- // Return first match idxRemediation in allowed remediators
29
- export function getRemediator(idxRemediations, values, options) {
30
- var {
31
- flow,
32
- flowMonitor
33
- } = options;
34
- var remediator;
35
- var remediatorCandidates = [];
36
-
37
- for (var remediation of idxRemediations) {
38
- var isRemeditionInFlow = Object.keys(flow).includes(remediation.name);
39
-
40
- if (!isRemeditionInFlow) {
41
- continue;
42
- }
43
-
44
- var T = flow[remediation.name];
45
- remediator = new T(remediation, values);
46
-
47
- if (flowMonitor.isRemediatorCandidate(remediator, idxRemediations, values)) {
48
- if (remediator.canRemediate()) {
49
- // found the remediator
50
- return remediator;
51
- } // remediator cannot handle the current values
52
- // maybe return for next step
53
-
54
-
55
- remediatorCandidates.push(remediator);
56
- }
57
- } // TODO: why is it a problem to have multiple remediations?
58
- // JIRA: https://oktainc.atlassian.net/browse/OKTA-400758
59
- // if (remediatorCandidates.length > 1) {
60
- // const remediationNames = remediatorCandidates.reduce((acc, curr) => {
61
- // const name = curr.getName();
62
- // return acc ? `${acc}, ${name}` : name;
63
- // }, '');
64
- // throw new AuthSdkError(`
65
- // More than one remediation can match the current input, remediations: ${remediationNames}
66
- // `);
67
- // }
68
-
69
-
70
- return remediatorCandidates[0];
71
- }
72
-
73
- function isTerminalResponse(idxResponse) {
74
- var {
75
- neededToProceed,
76
- interactionCode
77
- } = idxResponse;
78
- return !neededToProceed.length && !interactionCode;
79
- }
80
-
81
- function canSkipFn(idxResponse) {
82
- return idxResponse.neededToProceed.some(_ref => {
83
- var {
84
- name
85
- } = _ref;
86
- return name === 'skip';
87
- });
88
- }
89
-
90
- function canResendFn(idxResponse) {
91
- return Object.keys(idxResponse.actions).some(actionName => actionName.includes('resend'));
92
- }
93
-
94
- function getIdxMessages(idxResponse, flow) {
95
- var _rawIdxState$messages;
96
-
97
- var messages = [];
98
- var {
99
- rawIdxState,
100
- neededToProceed
101
- } = idxResponse; // Handle global messages
102
-
103
- var globalMessages = (_rawIdxState$messages = rawIdxState.messages) === null || _rawIdxState$messages === void 0 ? void 0 : _rawIdxState$messages.value.map(message => message);
104
-
105
- if (globalMessages) {
106
- messages = [...messages, ...globalMessages];
107
- } // Handle field messages for current flow
108
-
109
-
110
- for (var remediation of neededToProceed) {
111
- var T = flow[remediation.name];
112
-
113
- if (!T) {
114
- continue;
115
- }
116
-
117
- var remediator = new T(remediation);
118
- var fieldMessages = remediator.getMessages();
119
-
120
- if (fieldMessages) {
121
- messages = [...messages, ...fieldMessages];
122
- }
123
- }
124
-
125
- return messages;
126
- }
127
-
128
- function getNextStep(remediator, idxResponse) {
129
- var nextStep = remediator.getNextStep();
130
- var canSkip = canSkipFn(idxResponse);
131
- var canResend = canResendFn(idxResponse);
132
- return _objectSpread(_objectSpread(_objectSpread({}, nextStep), canSkip && {
133
- canSkip
134
- }), canResend && {
135
- canResend
136
- });
137
- }
138
-
139
- function handleIdxError(e, flow, remediator) {
140
- // Handle idx messages
141
- if (isRawIdxResponse(e)) {
142
- var idxState = idx.makeIdxState(e);
143
- var terminal = isTerminalResponse(idxState);
144
- var messages = getIdxMessages(idxState, flow);
145
-
146
- if (terminal) {
147
- return {
148
- terminal,
149
- messages
150
- };
151
- } else {
152
- var nextStep = remediator && getNextStep(remediator, idxState);
153
- return _objectSpread({
154
- messages
155
- }, nextStep && {
156
- nextStep
157
- });
158
- }
159
- } // Thrown error terminates the interaction with idx
160
-
161
-
162
- throw e;
163
- }
164
-
165
- function getActionFromValues(values) {
166
- var valueName = Object.keys(values).find(valueName => actionsTriggeredByValues[valueName]);
167
- return actionsTriggeredByValues[valueName];
168
- }
169
-
170
- function removeActionFromValues(values, action) {
171
- var executedActionValue = Object.keys(actionsTriggeredByValues).find(valueName => actionsTriggeredByValues[valueName] === action);
172
- return Object.keys(values).filter(valueName => valueName !== executedActionValue).reduce((newValues, valueName) => {
173
- newValues[valueName] = values[valueName];
174
- return newValues;
175
- }, {});
176
- } // This function is called recursively until it reaches success or cannot be remediated
177
-
178
-
179
- export function remediate(_x, _x2, _x3) {
180
- return _remediate.apply(this, arguments);
181
- }
182
-
183
- function _remediate() {
184
- _remediate = _asyncToGenerator(function* (idxResponse, values, options) {
185
- var {
186
- neededToProceed,
187
- interactionCode
188
- } = idxResponse;
189
- var {
190
- flow,
191
- flowMonitor
192
- } = options; // If the response contains an interaction code, there is no need to remediate
193
-
194
- if (interactionCode) {
195
- return {
196
- idxResponse
197
- };
198
- } // Reach to terminal state
199
-
200
-
201
- var terminal = isTerminalResponse(idxResponse);
202
- var messages = getIdxMessages(idxResponse, flow);
203
-
204
- if (terminal) {
205
- return {
206
- terminal,
207
- messages
208
- };
209
- } // Try actions in idxResponse first
210
-
211
-
212
- var actionFromValues = getActionFromValues(values);
213
- var actions = [...(options.actions || []), ...(actionFromValues && [actionFromValues] || [])];
214
-
215
- if (actions) {
216
- for (var action of actions) {
217
- var valuesWithoutExecutedAction = removeActionFromValues(values, action);
218
-
219
- if (typeof idxResponse.actions[action] === 'function') {
220
- try {
221
- idxResponse = yield idxResponse.actions[action]();
222
- } catch (e) {
223
- return handleIdxError(e, flow);
224
- }
225
-
226
- if (action === 'cancel') {
227
- return {
228
- canceled: true
229
- };
230
- }
231
-
232
- return remediate(idxResponse, valuesWithoutExecutedAction, options); // recursive call
233
- }
234
- }
235
- }
236
-
237
- var remediator = getRemediator(neededToProceed, values, options);
238
-
239
- if (!remediator) {
240
- throw new AuthSdkError("\n No remediation can match current flow, check policy settings in your org.\n Remediations: [".concat(neededToProceed.reduce((acc, curr) => acc ? acc + ' ,' + curr.name : curr.name, ''), "]\n "));
241
- }
242
-
243
- if (flowMonitor.loopDetected(remediator)) {
244
- throw new AuthSdkError("\n Remediation run into loop, break!!! remediation: ".concat(remediator.getName(), "\n "));
245
- } // Recursive loop breaker
246
- // Return next step to the caller
247
-
248
-
249
- if (!remediator.canRemediate()) {
250
- var nextStep = getNextStep(remediator, idxResponse);
251
- return {
252
- idxResponse,
253
- nextStep
254
- };
255
- }
256
-
257
- var name = remediator.getName();
258
- var data = remediator.getData();
259
-
260
- try {
261
- idxResponse = yield idxResponse.proceed(name, data); // Track succeed remediations in the current transaction
262
-
263
- yield flowMonitor.trackRemediations(name); // Successfully get interaction code
264
-
265
- if (idxResponse.interactionCode) {
266
- return {
267
- idxResponse
268
- };
269
- } // Reach to terminal state
270
-
271
-
272
- var _terminal = isTerminalResponse(idxResponse);
273
-
274
- var _messages = getIdxMessages(idxResponse, flow);
275
-
276
- if (_terminal) {
277
- return {
278
- terminal: _terminal,
279
- messages: _messages
280
- };
281
- } // Handle idx message in nextStep
282
-
283
-
284
- if (_messages.length) {
285
- var _nextStep = getNextStep(remediator, idxResponse);
286
-
287
- return {
288
- nextStep: _nextStep,
289
- messages: _messages
290
- };
291
- } // We may want to trim the values bag for the next remediation
292
- // Let the remediator decide what the values should be (default to current values)
293
-
294
-
295
- values = remediator.getValuesAfterProceed();
296
- return remediate(idxResponse, values, options); // recursive call
297
- } catch (e) {
298
- return handleIdxError(e, flow, remediator);
299
- }
300
- });
301
- return _remediate.apply(this, arguments);
302
- }
303
- //# sourceMappingURL=remediate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../lib/idx/remediate.ts"],"names":["idx","AuthSdkError","isRawIdxResponse","actionsTriggeredByValues","resend","getRemediator","idxRemediations","values","options","flow","flowMonitor","remediator","remediatorCandidates","remediation","isRemeditionInFlow","Object","keys","includes","name","T","isRemediatorCandidate","canRemediate","push","isTerminalResponse","idxResponse","neededToProceed","interactionCode","length","canSkipFn","some","canResendFn","actions","actionName","getIdxMessages","messages","rawIdxState","globalMessages","value","map","message","fieldMessages","getMessages","getNextStep","nextStep","canSkip","canResend","handleIdxError","e","idxState","makeIdxState","terminal","getActionFromValues","valueName","find","removeActionFromValues","action","executedActionValue","filter","reduce","newValues","remediate","actionFromValues","valuesWithoutExecutedAction","canceled","acc","curr","loopDetected","getName","data","getData","proceed","trackRemediations","getValuesAfterProceed"],"mappings":"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","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/* eslint-disable max-statements, max-depth, complexity */\nimport idx from '@okta/okta-idx-js';\nimport { AuthSdkError } from '../errors';\nimport { Remediator, RemediationValues } from './remediators';\nimport { RunOptions, RemediationFlow } from './run';\nimport { NextStep, IdxMessage } from './types';\nimport { \n IdxResponse, \n isRawIdxResponse, \n IdxRemediation, \n} from './types/idx-js';\n\nconst actionsTriggeredByValues = {\n resend: 'currentAuthenticatorEnrollment-resend' // assuming only one '-resend' action is present in response\n};\n\ninterface RemediationResponse {\n idxResponse?: IdxResponse;\n nextStep?: NextStep;\n messages?: IdxMessage[];\n terminal?: boolean;\n canceled?: boolean;\n}\n// Return first match idxRemediation in allowed remediators\nexport function getRemediator(\n idxRemediations: IdxRemediation[],\n values: RemediationValues,\n options: RunOptions,\n): Remediator {\n const { flow, flowMonitor } = options;\n\n let remediator;\n const remediatorCandidates = [];\n for (let remediation of idxRemediations) {\n const isRemeditionInFlow = Object.keys(flow).includes(remediation.name);\n if (!isRemeditionInFlow) {\n continue;\n }\n \n const T = flow[remediation.name];\n remediator = new T(remediation, values);\n if (flowMonitor.isRemediatorCandidate(remediator, idxRemediations, values)) {\n if (remediator.canRemediate()) {\n // found the remediator\n return remediator;\n }\n // remediator cannot handle the current values\n // maybe return for next step\n remediatorCandidates.push(remediator); \n }\n }\n \n // TODO: why is it a problem to have multiple remediations? \n // JIRA: https://oktainc.atlassian.net/browse/OKTA-400758\n // if (remediatorCandidates.length > 1) {\n // const remediationNames = remediatorCandidates.reduce((acc, curr) => {\n // const name = curr.getName();\n // return acc ? `${acc}, ${name}` : name;\n // }, '');\n // throw new AuthSdkError(`\n // More than one remediation can match the current input, remediations: ${remediationNames}\n // `);\n // }\n\n return remediatorCandidates[0];\n}\n\nfunction isTerminalResponse(idxResponse: IdxResponse) {\n const { neededToProceed, interactionCode } = idxResponse;\n return !neededToProceed.length && !interactionCode;\n}\n\nfunction canSkipFn(idxResponse: IdxResponse) {\n return idxResponse.neededToProceed.some(({ name }) => name === 'skip');\n}\n\nfunction canResendFn(idxResponse: IdxResponse) {\n return Object.keys(idxResponse.actions).some(actionName => actionName.includes('resend'));\n}\n\nfunction getIdxMessages(\n idxResponse: IdxResponse, flow: RemediationFlow\n): IdxMessage[] {\n let messages = [];\n const { rawIdxState, neededToProceed } = idxResponse;\n\n // Handle global messages\n const globalMessages = rawIdxState.messages?.value.map(message => message);\n if (globalMessages) {\n messages = [...messages, ...globalMessages];\n }\n\n // Handle field messages for current flow\n for (let remediation of neededToProceed) {\n const T = flow[remediation.name];\n if (!T) {\n continue;\n }\n const remediator = new T(remediation);\n const fieldMessages = remediator.getMessages();\n if (fieldMessages) {\n messages = [...messages, ...fieldMessages];\n }\n }\n\n return messages;\n}\n\nfunction getNextStep(\n remediator: Remediator, idxResponse: IdxResponse\n): NextStep {\n const nextStep = remediator.getNextStep();\n const canSkip = canSkipFn(idxResponse);\n const canResend = canResendFn(idxResponse);\n return {\n ...nextStep,\n ...(canSkip && {canSkip}),\n ...(canResend && {canResend}),\n };\n}\n\nfunction handleIdxError(e, flow, remediator?) {\n // Handle idx messages\n if (isRawIdxResponse(e)) {\n const idxState = idx.makeIdxState(e);\n const terminal = isTerminalResponse(idxState);\n const messages = getIdxMessages(idxState, flow);\n if (terminal) {\n return { terminal, messages };\n } else {\n const nextStep = remediator && getNextStep(remediator, idxState);\n return { \n messages, \n ...(nextStep && { nextStep }) \n };\n }\n }\n // Thrown error terminates the interaction with idx\n throw e;\n}\n\nfunction getActionFromValues(values): string | undefined{\n const valueName = Object.keys(values).find(valueName => actionsTriggeredByValues[valueName]);\n return actionsTriggeredByValues[valueName];\n}\n\nfunction removeActionFromValues(values, action) {\n const executedActionValue = Object.keys(actionsTriggeredByValues).find(\n valueName => actionsTriggeredByValues[valueName] === action);\n return Object.keys(values).filter(valueName => valueName !== executedActionValue)\n .reduce((newValues, valueName) => {\n newValues[valueName] = values[valueName];\n return newValues;\n }, {});\n}\n\n// This function is called recursively until it reaches success or cannot be remediated\nexport async function remediate(\n idxResponse: IdxResponse,\n values: RemediationValues,\n options: RunOptions\n): Promise<RemediationResponse> {\n let { neededToProceed, interactionCode } = idxResponse;\n const { flow, flowMonitor } = options;\n\n // If the response contains an interaction code, there is no need to remediate\n if (interactionCode) {\n return { idxResponse };\n }\n\n // Reach to terminal state\n const terminal = isTerminalResponse(idxResponse);\n const messages = getIdxMessages(idxResponse, flow);\n if (terminal) {\n return { terminal, messages };\n }\n \n // Try actions in idxResponse first\n const actionFromValues = getActionFromValues(values);\n const actions = [\n ...options.actions || [],\n ...(actionFromValues && [actionFromValues] || []),\n ];\n if (actions) {\n for (let action of actions) {\n let valuesWithoutExecutedAction = removeActionFromValues(values, action);\n if (typeof idxResponse.actions[action] === 'function') {\n try {\n idxResponse = await idxResponse.actions[action]();\n } catch (e) {\n return handleIdxError(e, flow);\n }\n if (action === 'cancel') {\n return { canceled: true };\n }\n return remediate(idxResponse, valuesWithoutExecutedAction, options); // recursive call\n }\n }\n }\n\n const remediator = getRemediator(neededToProceed, values, options);\n \n if (!remediator) {\n throw new AuthSdkError(`\n No remediation can match current flow, check policy settings in your org.\n Remediations: [${neededToProceed.reduce((acc, curr) => acc ? acc + ' ,' + curr.name : curr.name, '')}]\n `);\n }\n\n if (flowMonitor.loopDetected(remediator)) {\n throw new AuthSdkError(`\n Remediation run into loop, break!!! remediation: ${remediator.getName()}\n `);\n }\n\n // Recursive loop breaker\n // Return next step to the caller\n if (!remediator.canRemediate()) {\n const nextStep = getNextStep(remediator, idxResponse);\n return { idxResponse, nextStep };\n }\n\n const name = remediator.getName();\n const data = remediator.getData();\n try {\n idxResponse = await idxResponse.proceed(name, data);\n\n // Track succeed remediations in the current transaction\n await flowMonitor.trackRemediations(name);\n \n // Successfully get interaction code\n if (idxResponse.interactionCode) {\n return { idxResponse };\n }\n\n // Reach to terminal state\n const terminal = isTerminalResponse(idxResponse);\n const messages = getIdxMessages(idxResponse, flow);\n if (terminal) {\n return { terminal, messages };\n }\n\n // Handle idx message in nextStep\n if (messages.length) {\n const nextStep = getNextStep(remediator, idxResponse);\n return { nextStep, messages };\n }\n \n // We may want to trim the values bag for the next remediation\n // Let the remediator decide what the values should be (default to current values)\n values = remediator.getValuesAfterProceed();\n return remediate(idxResponse, values, options); // recursive call\n } catch (e) {\n return handleIdxError(e, flow, remediator);\n }\n}\n"],"file":"remediate.js"}
@@ -1,68 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
-
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
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
- import { AuthenticatorData } from './Base/AuthenticatorData';
19
- import { getAuthenticatorFromRemediation } from './util';
20
- export class AuthenticatorEnrollmentData extends AuthenticatorData {
21
- canRemediate() {
22
- var authenticator = this.getAuthenticatorFromValues();
23
- return !!(authenticator && authenticator.methodType && authenticator.phoneNumber);
24
- }
25
-
26
- mapAuthenticator() {
27
- var authenticatorFromValues = this.getAuthenticatorFromValues();
28
- var authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);
29
- return {
30
- id: authenticatorFromRemediation.form.value.find(_ref => {
31
- var {
32
- name
33
- } = _ref;
34
- return name === 'id';
35
- }).value,
36
- methodType: authenticatorFromValues.methodType,
37
- phoneNumber: authenticatorFromValues.phoneNumber
38
- };
39
- }
40
-
41
- getInputAuthenticator() {
42
- return [{
43
- name: 'methodType',
44
- type: 'string',
45
- required: true
46
- }, {
47
- name: 'phoneNumber',
48
- type: 'string',
49
- required: true
50
- }];
51
- }
52
-
53
- mapAuthenticatorFromValues(authenticator) {
54
- // get mapped authenticator from base class
55
- authenticator = super.mapAuthenticatorFromValues(authenticator); // add phoneNumber to authenticator if it exists in values
56
-
57
- var {
58
- phoneNumber
59
- } = this.values;
60
- return _objectSpread(_objectSpread({}, authenticator), phoneNumber && {
61
- phoneNumber
62
- });
63
- }
64
-
65
- }
66
-
67
- _defineProperty(AuthenticatorEnrollmentData, "remediationName", 'authenticator-enrollment-data');
68
- //# sourceMappingURL=AuthenticatorEnrollmentData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/AuthenticatorEnrollmentData.ts"],"names":["AuthenticatorData","getAuthenticatorFromRemediation","AuthenticatorEnrollmentData","canRemediate","authenticator","getAuthenticatorFromValues","methodType","phoneNumber","mapAuthenticator","authenticatorFromValues","authenticatorFromRemediation","remediation","id","form","value","find","name","getInputAuthenticator","type","required","mapAuthenticatorFromValues","values"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,iBAAT,QAA2D,0BAA3D;AACA,SAASC,+BAAT,QAAgD,QAAhD;AAOA,OAAO,MAAMC,2BAAN,SAA0CF,iBAA1C,CAA4D;AAKjEG,EAAAA,YAAY,GAAG;AACb,QAAMC,aAAa,GAAG,KAAKC,0BAAL,EAAtB;AACA,WAAO,CAAC,EAAED,aAAa,IAAIA,aAAa,CAACE,UAA/B,IAA6CF,aAAa,CAACG,WAA7D,CAAR;AACD;;AAEDC,EAAAA,gBAAgB,GAAG;AACjB,QAAMC,uBAAuB,GAAG,KAAKJ,0BAAL,EAAhC;AACA,QAAMK,4BAA4B,GAAGT,+BAA+B,CAAC,KAAKU,WAAN,CAApE;AACA,WAAO;AACLC,MAAAA,EAAE,EAAEF,4BAA4B,CAACG,IAA7B,CAAkCC,KAAlC,CACDC,IADC,CACI;AAAA,YAAC;AAAEC,UAAAA;AAAF,SAAD;AAAA,eAAcA,IAAI,KAAK,IAAvB;AAAA,OADJ,EACiCF,KAFhC;AAGLR,MAAAA,UAAU,EAAEG,uBAAuB,CAACH,UAH/B;AAILC,MAAAA,WAAW,EAAEE,uBAAuB,CAACF;AAJhC,KAAP;AAMD;;AAEDU,EAAAA,qBAAqB,GAAG;AACtB,WAAO,CACL;AAAED,MAAAA,IAAI,EAAE,YAAR;AAAsBE,MAAAA,IAAI,EAAE,QAA5B;AAAsCC,MAAAA,QAAQ,EAAE;AAAhD,KADK,EAEL;AAAEH,MAAAA,IAAI,EAAE,aAAR;AAAuBE,MAAAA,IAAI,EAAE,QAA7B;AAAuCC,MAAAA,QAAQ,EAAE;AAAjD,KAFK,CAAP;AAID;;AAESC,EAAAA,0BAA0B,CAAChB,aAAD,EAA+C;AACjF;AACAA,IAAAA,aAAa,GAAG,MAAMgB,0BAAN,CAAiChB,aAAjC,CAAhB,CAFiF,CAIjF;;AACA,QAAM;AAAEG,MAAAA;AAAF,QAAkB,KAAKc,MAA7B;AACA,2CACKjB,aADL,GAEMG,WAAW,IAAI;AAAEA,MAAAA;AAAF,KAFrB;AAID;;AAtCgE;;gBAAtDL,2B,qBACc,+B","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 { AuthenticatorData, AuthenticatorDataValues } from './Base/AuthenticatorData';\nimport { getAuthenticatorFromRemediation } from './util';\nimport { Authenticator } from '../types';\n\nexport type AuthenticatorEnrollmentDataValues = AuthenticatorDataValues & {\n phoneNumber?: string;\n resend?: boolean; // resend is not a remediator value - revise when IdxResponse structure is updated\n}\nexport class AuthenticatorEnrollmentData extends AuthenticatorData {\n static remediationName = 'authenticator-enrollment-data';\n\n values: AuthenticatorEnrollmentDataValues;\n\n canRemediate() {\n const authenticator = this.getAuthenticatorFromValues();\n return !!(authenticator && authenticator.methodType && authenticator.phoneNumber);\n }\n\n mapAuthenticator() {\n const authenticatorFromValues = this.getAuthenticatorFromValues();\n const authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);\n return { \n id: authenticatorFromRemediation.form.value\n .find(({ name }) => name === 'id').value,\n methodType: authenticatorFromValues.methodType,\n phoneNumber: authenticatorFromValues.phoneNumber,\n };\n }\n\n getInputAuthenticator() {\n return [\n { name: 'methodType', type: 'string', required: true },\n { name: 'phoneNumber', type: 'string', required: true },\n ];\n }\n\n protected mapAuthenticatorFromValues(authenticator?: Authenticator): Authenticator {\n // get mapped authenticator from base class\n authenticator = super.mapAuthenticatorFromValues(authenticator);\n\n // add phoneNumber to authenticator if it exists in values\n const { phoneNumber } = this.values;\n return { \n ...authenticator, \n ...(phoneNumber && { phoneNumber }) \n };\n }\n\n}\n"],"file":"AuthenticatorEnrollmentData.js"}
@@ -1,66 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
- /*!
4
- * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
5
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
6
- *
7
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
8
- * Unless required by applicable law or agreed to in writing, software
9
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
- *
12
- * See the License for the specific language governing permissions and limitations under the License.
13
- */
14
- import { AuthenticatorData } from './Base/AuthenticatorData';
15
- export class AuthenticatorVerificationData extends AuthenticatorData {
16
- canRemediate() {
17
- var authenticator = this.getAuthenticatorFromValues();
18
- return !!(authenticator && authenticator.methodType);
19
- }
20
-
21
- mapAuthenticator() {
22
- var authenticatorFromRemediation = this.getAuthenticatorFromRemediation();
23
- var authenticatorFromValues = this.getAuthenticatorFromValues();
24
- return {
25
- id: authenticatorFromRemediation.form.value.find(_ref => {
26
- var {
27
- name
28
- } = _ref;
29
- return name === 'id';
30
- }).value,
31
- enrollmentId: authenticatorFromRemediation.form.value.find(_ref2 => {
32
- var {
33
- name
34
- } = _ref2;
35
- return name === 'enrollmentId';
36
- }).value,
37
- methodType: authenticatorFromValues.methodType
38
- };
39
- }
40
-
41
- getInputAuthenticator() {
42
- var authenticator = this.getAuthenticatorFromRemediation();
43
- var methodType = authenticator.form.value.find(_ref3 => {
44
- var {
45
- name
46
- } = _ref3;
47
- return name === 'methodType';
48
- }); // if has methodType in form, let user select the methodType
49
-
50
- if (methodType && methodType.options) {
51
- return {
52
- name: 'methodType',
53
- type: 'string',
54
- required: true
55
- };
56
- } // no methodType, then return form values
57
-
58
-
59
- var inputs = [...authenticator.form.value];
60
- return inputs;
61
- }
62
-
63
- }
64
-
65
- _defineProperty(AuthenticatorVerificationData, "remediationName", 'authenticator-verification-data');
66
- //# sourceMappingURL=AuthenticatorVerificationData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/AuthenticatorVerificationData.ts"],"names":["AuthenticatorData","AuthenticatorVerificationData","canRemediate","authenticator","getAuthenticatorFromValues","methodType","mapAuthenticator","authenticatorFromRemediation","getAuthenticatorFromRemediation","authenticatorFromValues","id","form","value","find","name","enrollmentId","getInputAuthenticator","options","type","required","inputs"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,iBAAT,QAA2D,0BAA3D;AAIA,OAAO,MAAMC,6BAAN,SAA4CD,iBAA5C,CAA8D;AAKnEE,EAAAA,YAAY,GAAG;AACb,QAAMC,aAAa,GAAG,KAAKC,0BAAL,EAAtB;AACA,WAAO,CAAC,EAAED,aAAa,IAAIA,aAAa,CAACE,UAAjC,CAAR;AACD;;AAEDC,EAAAA,gBAAgB,GAAG;AACjB,QAAMC,4BAA4B,GAAG,KAAKC,+BAAL,EAArC;AACA,QAAMC,uBAAuB,GAAG,KAAKL,0BAAL,EAAhC;AACA,WAAO;AACLM,MAAAA,EAAE,EAAEH,4BAA4B,CAACI,IAA7B,CAAkCC,KAAlC,CACDC,IADC,CACI;AAAA,YAAC;AAAEC,UAAAA;AAAF,SAAD;AAAA,eAAcA,IAAI,KAAK,IAAvB;AAAA,OADJ,EACiCF,KAFhC;AAGLG,MAAAA,YAAY,EAAER,4BAA4B,CAACI,IAA7B,CAAkCC,KAAlC,CACXC,IADW,CACN;AAAA,YAAC;AAAEC,UAAAA;AAAF,SAAD;AAAA,eAAcA,IAAI,KAAK,cAAvB;AAAA,OADM,EACiCF,KAJ1C;AAKLP,MAAAA,UAAU,EAAEI,uBAAuB,CAACJ;AAL/B,KAAP;AAOD;;AAEDW,EAAAA,qBAAqB,GAAG;AACtB,QAAMb,aAAa,GAAG,KAAKK,+BAAL,EAAtB;AACA,QAAMH,UAAU,GAAGF,aAAa,CAACQ,IAAd,CAAmBC,KAAnB,CAAyBC,IAAzB,CAA8B;AAAA,UAAC;AAAEC,QAAAA;AAAF,OAAD;AAAA,aAAcA,IAAI,KAAK,YAAvB;AAAA,KAA9B,CAAnB,CAFsB,CAGtB;;AACA,QAAIT,UAAU,IAAIA,UAAU,CAACY,OAA7B,EAAsC;AACpC,aAAO;AAAEH,QAAAA,IAAI,EAAE,YAAR;AAAsBI,QAAAA,IAAI,EAAE,QAA5B;AAAsCC,QAAAA,QAAQ,EAAE;AAAhD,OAAP;AACD,KANqB,CAOtB;;;AACA,QAAMC,MAAM,GAAG,CAAC,GAAGjB,aAAa,CAACQ,IAAd,CAAmBC,KAAvB,CAAf;AACA,WAAOQ,MAAP;AACD;;AAhCkE;;gBAAxDnB,6B,qBACc,iC","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 { AuthenticatorData, AuthenticatorDataValues } from './Base/AuthenticatorData';\n\nexport type AuthenticatorVerificationDataValues = AuthenticatorDataValues;\n\nexport class AuthenticatorVerificationData extends AuthenticatorData {\n static remediationName = 'authenticator-verification-data';\n\n values: AuthenticatorVerificationDataValues;\n\n canRemediate() {\n const authenticator = this.getAuthenticatorFromValues();\n return !!(authenticator && authenticator.methodType);\n }\n\n mapAuthenticator() {\n const authenticatorFromRemediation = this.getAuthenticatorFromRemediation();\n const authenticatorFromValues = this.getAuthenticatorFromValues();\n return { \n id: authenticatorFromRemediation.form.value\n .find(({ name }) => name === 'id').value,\n enrollmentId: authenticatorFromRemediation.form.value\n .find(({ name }) => name === 'enrollmentId').value,\n methodType: authenticatorFromValues.methodType,\n };\n }\n\n getInputAuthenticator() {\n const authenticator = this.getAuthenticatorFromRemediation();\n const methodType = authenticator.form.value.find(({ name }) => name === 'methodType');\n // if has methodType in form, let user select the methodType\n if (methodType && methodType.options) {\n return { name: 'methodType', type: 'string', required: true };\n }\n // no methodType, then return form values\n const inputs = [...authenticator.form.value];\n return inputs;\n }\n\n}\n"],"file":"AuthenticatorVerificationData.js"}
@@ -1,105 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
-
3
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
-
5
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
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
- import { Remediator } from './Remediator';
19
- // Base class - DO NOT expose static remediationName
20
- export class AuthenticatorData extends Remediator {
21
- constructor(remediation) {
22
- var values = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
23
- super(remediation, values); // Unify authenticator input type
24
-
25
- _defineProperty(this, "map", {
26
- 'authenticator': []
27
- });
28
-
29
- var {
30
- authenticators
31
- } = this.values;
32
- var authenticatorType = this.getRelatesToType();
33
- var authenticator = authenticators === null || authenticators === void 0 ? void 0 : authenticators.find(authenticator => authenticator.type === authenticatorType);
34
-
35
- if (authenticator) {
36
- // map
37
- this.values.authenticators = authenticators.map(authenticator => {
38
- if (authenticatorType === authenticator.type) {
39
- return this.mapAuthenticatorFromValues(authenticator);
40
- }
41
-
42
- return authenticator;
43
- });
44
- } else {
45
- // add
46
- this.values.authenticators = [...authenticators, this.mapAuthenticatorFromValues()];
47
- }
48
- }
49
-
50
- getNextStep() {
51
- var common = super.getNextStep();
52
- var options = this.getMethodTypes();
53
- return _objectSpread(_objectSpread({}, common), options && {
54
- options
55
- });
56
- } // Grab authenticator from authenticators list
57
-
58
-
59
- getAuthenticatorFromValues() {
60
- if (!this.values.authenticators) {
61
- return null;
62
- }
63
-
64
- var authenticatorType = this.getRelatesToType();
65
- var authenticator = this.values.authenticators.find(authenticator => authenticator.type === authenticatorType);
66
- return authenticator;
67
- }
68
-
69
- mapAuthenticatorFromValues(authenticator) {
70
- // add methodType to authenticator if it exists in values
71
- var type = this.getRelatesToType();
72
- var {
73
- methodType
74
- } = this.values;
75
- return _objectSpread(_objectSpread({
76
- type
77
- }, authenticator && authenticator), methodType && {
78
- methodType
79
- });
80
- }
81
-
82
- getAuthenticatorFromRemediation() {
83
- var authenticator = this.remediation.value.find(_ref => {
84
- var {
85
- name
86
- } = _ref;
87
- return name === 'authenticator';
88
- });
89
- return authenticator;
90
- }
91
-
92
- getMethodTypes() {
93
- var _authenticator$form$v;
94
-
95
- var authenticator = this.getAuthenticatorFromRemediation();
96
- return (_authenticator$form$v = authenticator.form.value.find(_ref2 => {
97
- var {
98
- name
99
- } = _ref2;
100
- return name === 'methodType';
101
- })) === null || _authenticator$form$v === void 0 ? void 0 : _authenticator$form$v.options;
102
- }
103
-
104
- }
105
- //# sourceMappingURL=AuthenticatorData.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../lib/idx/remediators/Base/AuthenticatorData.ts"],"names":["Remediator","AuthenticatorData","constructor","remediation","values","authenticators","authenticatorType","getRelatesToType","authenticator","find","type","map","mapAuthenticatorFromValues","getNextStep","common","options","getMethodTypes","getAuthenticatorFromValues","methodType","getAuthenticatorFromRemediation","value","name","form"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,UAAT,QAA8C,cAA9C;AAQA;AACA,OAAO,MAAMC,iBAAN,SAAgCD,UAAhC,CAA2C;AAQhDE,EAAAA,WAAW,CAACC,WAAD,EAAoE;AAAA,QAAtCC,MAAsC,uEAAJ,EAAI;AAC7E,UAAMD,WAAN,EAAmBC,MAAnB,EAD6E,CAG7E;;AAH6E,iCANzE;AACJ,uBAAiB;AADb,KAMyE;;AAI7E,QAAM;AAAEC,MAAAA;AAAF,QAAqB,KAAKD,MAAhC;AACA,QAAME,iBAAiB,GAAG,KAAKC,gBAAL,EAA1B;AACA,QAAMC,aAAa,GAAIH,cAAJ,aAAIA,cAAJ,uBAAIA,cAAD,CAChBI,IADgB,CACXD,aAAa,IAAIA,aAAa,CAACE,IAAd,KAAuBJ,iBAD7B,CAAtB;;AAEA,QAAIE,aAAJ,EAAmB;AACjB;AACA,WAAKJ,MAAL,CAAYC,cAAZ,GAA6BA,cAAc,CAACM,GAAf,CAAmBH,aAAa,IAAI;AAC/D,YAAIF,iBAAiB,KAAKE,aAAa,CAACE,IAAxC,EAA8C;AAC5C,iBAAO,KAAKE,0BAAL,CAAgCJ,aAAhC,CAAP;AACD;;AACD,eAAOA,aAAP;AACD,OAL4B,CAA7B;AAMD,KARD,MAQO;AACL;AACA,WAAKJ,MAAL,CAAYC,cAAZ,GAA6B,CAC3B,GAAGA,cADwB,EAE3B,KAAKO,0BAAL,EAF2B,CAA7B;AAID;AACF;;AAEDC,EAAAA,WAAW,GAAG;AACZ,QAAMC,MAAM,GAAG,MAAMD,WAAN,EAAf;AACA,QAAME,OAAO,GAAG,KAAKC,cAAL,EAAhB;AACA,2CACKF,MADL,GAEMC,OAAO,IAAI;AAAEA,MAAAA;AAAF,KAFjB;AAID,GAxC+C,CA0ChD;;;AACUE,EAAAA,0BAA0B,GAAkB;AACpD,QAAI,CAAC,KAAKb,MAAL,CAAYC,cAAjB,EAAiC;AAC/B,aAAO,IAAP;AACD;;AAED,QAAMC,iBAAiB,GAAG,KAAKC,gBAAL,EAA1B;AACA,QAAMC,aAAa,GAAI,KAAKJ,MAAL,CAAYC,cAAb,CACnBI,IADmB,CACdD,aAAa,IAAIA,aAAa,CAACE,IAAd,KAAuBJ,iBAD1B,CAAtB;AAEA,WAAOE,aAAP;AACD;;AAESI,EAAAA,0BAA0B,CAACJ,aAAD,EAA+C;AACjF;AACA,QAAME,IAAI,GAAG,KAAKH,gBAAL,EAAb;AACA,QAAM;AAAEW,MAAAA;AAAF,QAAiB,KAAKd,MAA5B;AACA;AACEM,MAAAA;AADF,OAEMF,aAAa,IAAIA,aAFvB,GAGMU,UAAU,IAAI;AAAEA,MAAAA;AAAF,KAHpB;AAKD;;AAESC,EAAAA,+BAA+B,GAAwB;AAC/D,QAAMX,aAAa,GAAG,KAAKL,WAAL,CAAiBiB,KAAjB,CACnBX,IADmB,CACd;AAAA,UAAC;AAAEY,QAAAA;AAAF,OAAD;AAAA,aAAcA,IAAI,KAAK,eAAvB;AAAA,KADc,CAAtB;AAEA,WAAOb,aAAP;AACD;;AAEOQ,EAAAA,cAAc,GAAgB;AAAA;;AACpC,QAAMR,aAAkC,GAAG,KAAKW,+BAAL,EAA3C;AACA,oCAAOX,aAAa,CAACc,IAAd,CAAmBF,KAAnB,CAAyBX,IAAzB,CAA8B;AAAA,UAAC;AAAEY,QAAAA;AAAF,OAAD;AAAA,aAAcA,IAAI,KAAK,YAAvB;AAAA,KAA9B,CAAP,0DAAO,sBAAoEN,OAA3E;AACD;;AA1E+C","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 { Remediator, RemediationValues } from './Remediator';\nimport { Authenticator } from '../../types';\nimport { IdxRemediationValue, IdxOption, IdxRemediation } from '../../types/idx-js';\n\nexport type AuthenticatorDataValues = RemediationValues & {\n methodType?: string;\n};\n\n// Base class - DO NOT expose static remediationName\nexport class AuthenticatorData extends Remediator {\n\n map = {\n 'authenticator': []\n };\n\n values: AuthenticatorDataValues;\n\n constructor(remediation: IdxRemediation, values: AuthenticatorDataValues = {}) {\n super(remediation, values);\n\n // Unify authenticator input type\n const { authenticators } = this.values;\n const authenticatorType = this.getRelatesToType();\n const authenticator = (authenticators as Authenticator[])\n ?.find(authenticator => authenticator.type === authenticatorType);\n if (authenticator) {\n // map\n this.values.authenticators = authenticators.map(authenticator => {\n if (authenticatorType === authenticator.type) {\n return this.mapAuthenticatorFromValues(authenticator);\n }\n return authenticator;\n });\n } else {\n // add\n this.values.authenticators = [\n ...authenticators, \n this.mapAuthenticatorFromValues()\n ] as Authenticator[];\n }\n }\n\n getNextStep() {\n const common = super.getNextStep();\n const options = this.getMethodTypes();\n return { \n ...common, \n ...(options && { options }) \n };\n }\n\n // Grab authenticator from authenticators list\n protected getAuthenticatorFromValues(): Authenticator {\n if (!this.values.authenticators) {\n return null;\n }\n\n const authenticatorType = this.getRelatesToType();\n const authenticator = (this.values.authenticators as Authenticator[])\n .find(authenticator => authenticator.type === authenticatorType);\n return authenticator;\n }\n\n protected mapAuthenticatorFromValues(authenticator?: Authenticator): Authenticator {\n // add methodType to authenticator if it exists in values\n const type = this.getRelatesToType();\n const { methodType } = this.values;\n return { \n type, \n ...(authenticator && authenticator),\n ...(methodType && { methodType }) \n };\n }\n\n protected getAuthenticatorFromRemediation(): IdxRemediationValue {\n const authenticator = this.remediation.value\n .find(({ name }) => name === 'authenticator');\n return authenticator;\n }\n\n private getMethodTypes(): IdxOption[] {\n const authenticator: IdxRemediationValue = this.getAuthenticatorFromRemediation();\n return authenticator.form.value.find(({ name }) => name === 'methodType')?.options;\n }\n}\n"],"file":"AuthenticatorData.js"}