@okta/okta-auth-js 6.0.0 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +5 -4
  3. package/cjs/AuthStateManager.js +9 -2
  4. package/cjs/AuthStateManager.js.map +1 -1
  5. package/cjs/OktaAuth.js +67 -27
  6. package/cjs/OktaAuth.js.map +1 -1
  7. package/cjs/OktaUserAgent.js +2 -2
  8. package/cjs/PromiseQueue.js +5 -1
  9. package/cjs/PromiseQueue.js.map +1 -1
  10. package/cjs/SavedObject.js +4 -2
  11. package/cjs/SavedObject.js.map +1 -1
  12. package/cjs/StorageManager.js +13 -8
  13. package/cjs/StorageManager.js.map +1 -1
  14. package/cjs/TokenManager.js +29 -19
  15. package/cjs/TokenManager.js.map +1 -1
  16. package/cjs/TransactionManager.js +9 -3
  17. package/cjs/TransactionManager.js.map +1 -1
  18. package/cjs/browser/browserStorage.js +18 -9
  19. package/cjs/browser/browserStorage.js.map +1 -1
  20. package/cjs/browser/fingerprint.js +9 -3
  21. package/cjs/browser/fingerprint.js.map +1 -1
  22. package/cjs/builderUtil.js +4 -2
  23. package/cjs/builderUtil.js.map +1 -1
  24. package/cjs/clock.js +5 -1
  25. package/cjs/clock.js.map +1 -1
  26. package/cjs/crypto/base64.js +18 -0
  27. package/cjs/crypto/base64.js.map +1 -1
  28. package/cjs/crypto/index.js +6 -4
  29. package/cjs/crypto/index.js.map +1 -1
  30. package/cjs/crypto/oidcHash.js +5 -1
  31. package/cjs/crypto/oidcHash.js.map +1 -1
  32. package/cjs/crypto/webauthn.js +101 -0
  33. package/cjs/crypto/webauthn.js.map +1 -0
  34. package/cjs/crypto/webcrypto.js +3 -1
  35. package/cjs/crypto/webcrypto.js.map +1 -1
  36. package/cjs/errors/AuthApiError.js +1 -1
  37. package/cjs/errors/AuthPollStopError.js +1 -1
  38. package/cjs/errors/AuthSdkError.js +1 -1
  39. package/cjs/errors/CustomError.js +5 -1
  40. package/cjs/errors/CustomError.js.map +1 -1
  41. package/cjs/errors/OAuthError.js +1 -1
  42. package/cjs/errors/index.js +1 -1
  43. package/cjs/fetch/fetchRequest.js +18 -6
  44. package/cjs/fetch/fetchRequest.js.map +1 -1
  45. package/cjs/http/headers.js.map +1 -1
  46. package/cjs/http/index.js +4 -2
  47. package/cjs/http/index.js.map +1 -1
  48. package/cjs/http/request.js +9 -5
  49. package/cjs/http/request.js.map +1 -1
  50. package/cjs/idx/authenticate.js.map +1 -1
  51. package/cjs/idx/authenticator/Authenticator.js.map +1 -1
  52. package/cjs/idx/authenticator/OktaPassword.js.map +1 -1
  53. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js +1 -1
  54. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -1
  55. package/cjs/idx/authenticator/SecurityQuestionVerification.js +1 -1
  56. package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -1
  57. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js +1 -1
  58. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -1
  59. package/cjs/idx/authenticator/WebauthnEnrollment.js +46 -0
  60. package/cjs/idx/authenticator/WebauthnEnrollment.js.map +1 -0
  61. package/cjs/idx/authenticator/WebauthnVerification.js +55 -0
  62. package/cjs/idx/authenticator/WebauthnVerification.js.map +1 -0
  63. package/cjs/idx/authenticator/getAuthenticator.js +13 -1
  64. package/cjs/idx/authenticator/getAuthenticator.js.map +1 -1
  65. package/cjs/idx/authenticator/index.js +34 -6
  66. package/cjs/idx/authenticator/index.js.map +1 -1
  67. package/cjs/idx/cancel.js.map +1 -1
  68. package/cjs/idx/emailVerify.js +1 -1
  69. package/cjs/idx/emailVerify.js.map +1 -1
  70. package/cjs/idx/flow/AccountUnlockFlow.js +30 -0
  71. package/cjs/idx/flow/AccountUnlockFlow.js.map +1 -0
  72. package/cjs/idx/flow/FlowSpecification.js +8 -0
  73. package/cjs/idx/flow/FlowSpecification.js.map +1 -1
  74. package/cjs/idx/flow/PasswordRecoveryFlow.js +4 -1
  75. package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -1
  76. package/cjs/idx/flow/index.js +20 -5
  77. package/cjs/idx/flow/index.js.map +1 -1
  78. package/cjs/idx/handleInteractionCodeRedirect.js +5 -1
  79. package/cjs/idx/handleInteractionCodeRedirect.js.map +1 -1
  80. package/cjs/idx/headers.js +21 -5
  81. package/cjs/idx/headers.js.map +1 -1
  82. package/cjs/idx/idx-js/client.js +91 -0
  83. package/cjs/idx/idx-js/client.js.map +1 -0
  84. package/cjs/idx/idx-js/index.js +162 -0
  85. package/cjs/idx/idx-js/index.js.map +1 -0
  86. package/cjs/idx/idx-js/interact.js +83 -0
  87. package/cjs/idx/idx-js/interact.js.map +1 -0
  88. package/cjs/idx/idx-js/introspect.js +58 -0
  89. package/cjs/idx/idx-js/introspect.js.map +1 -0
  90. package/cjs/idx/idx-js/parsers.js +41 -0
  91. package/cjs/idx/idx-js/parsers.js.map +1 -0
  92. package/cjs/idx/idx-js/util.js +34 -0
  93. package/cjs/idx/idx-js/util.js.map +1 -0
  94. package/cjs/idx/idx-js/v1/actionParser.js +90 -0
  95. package/cjs/idx/idx-js/v1/actionParser.js.map +1 -0
  96. package/cjs/idx/idx-js/v1/generateIdxAction.js +117 -0
  97. package/cjs/idx/idx-js/v1/generateIdxAction.js.map +1 -0
  98. package/cjs/idx/idx-js/v1/idxResponseParser.js +137 -0
  99. package/cjs/idx/idx-js/v1/idxResponseParser.js.map +1 -0
  100. package/cjs/idx/idx-js/v1/makeIdxState.js +64 -0
  101. package/cjs/idx/idx-js/v1/makeIdxState.js.map +1 -0
  102. package/cjs/idx/idx-js/v1/parsers.js +24 -0
  103. package/cjs/idx/idx-js/v1/parsers.js.map +1 -0
  104. package/cjs/idx/idx-js/v1/remediationParser.js +32 -0
  105. package/cjs/idx/idx-js/v1/remediationParser.js.map +1 -0
  106. package/cjs/idx/index.js +120 -121
  107. package/cjs/idx/index.js.map +1 -1
  108. package/cjs/idx/interact.js +9 -4
  109. package/cjs/idx/interact.js.map +1 -1
  110. package/cjs/idx/introspect.js +6 -6
  111. package/cjs/idx/introspect.js.map +1 -1
  112. package/cjs/idx/poll.js +13 -3
  113. package/cjs/idx/poll.js.map +1 -1
  114. package/cjs/idx/proceed.js.map +1 -1
  115. package/cjs/idx/recoverPassword.js.map +1 -1
  116. package/cjs/idx/register.js +5 -1
  117. package/cjs/idx/register.js.map +1 -1
  118. package/cjs/idx/remediate.js +60 -29
  119. package/cjs/idx/remediate.js.map +1 -1
  120. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js +10 -4
  121. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
  122. package/cjs/idx/remediators/AuthenticatorVerificationData.js +10 -6
  123. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  124. package/cjs/idx/remediators/Base/AuthenticatorData.js +28 -12
  125. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  126. package/cjs/idx/remediators/Base/Remediator.js +65 -31
  127. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  128. package/cjs/idx/remediators/Base/SelectAuthenticator.js +42 -27
  129. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  130. package/cjs/idx/remediators/Base/VerifyAuthenticator.js +16 -4
  131. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  132. package/cjs/idx/remediators/ChallengeAuthenticator.js +2 -2
  133. package/cjs/idx/remediators/ChallengePoll.js +2 -2
  134. package/cjs/idx/remediators/EnrollAuthenticator.js +2 -2
  135. package/cjs/idx/remediators/EnrollPoll.js +16 -6
  136. package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
  137. package/cjs/idx/remediators/EnrollProfile.js +20 -8
  138. package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
  139. package/cjs/idx/remediators/EnrollmentChannelData.js +25 -9
  140. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -1
  141. package/cjs/idx/remediators/Identify.js +5 -3
  142. package/cjs/idx/remediators/Identify.js.map +1 -1
  143. package/cjs/idx/remediators/ReEnrollAuthenticator.js +5 -3
  144. package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
  145. package/cjs/idx/remediators/RedirectIdp.js +2 -2
  146. package/cjs/idx/remediators/ResetAuthenticator.js +2 -2
  147. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js +6 -4
  148. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
  149. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js +2 -2
  150. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js +72 -0
  151. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -0
  152. package/cjs/idx/remediators/SelectEnrollProfile.js +2 -2
  153. package/cjs/idx/remediators/SelectEnrollmentChannel.js +22 -10
  154. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
  155. package/cjs/idx/remediators/Skip.js +5 -3
  156. package/cjs/idx/remediators/Skip.js.map +1 -1
  157. package/cjs/idx/remediators/index.js +33 -18
  158. package/cjs/idx/remediators/index.js.map +1 -1
  159. package/cjs/idx/remediators/util.js +13 -3
  160. package/cjs/idx/remediators/util.js.map +1 -1
  161. package/cjs/idx/run.js +30 -6
  162. package/cjs/idx/run.js.map +1 -1
  163. package/cjs/idx/startTransaction.js.map +1 -1
  164. package/cjs/idx/transactionMeta.js.map +1 -1
  165. package/cjs/idx/types/idx-js.js.map +1 -1
  166. package/cjs/idx/types/index.js +45 -9
  167. package/cjs/idx/types/index.js.map +1 -1
  168. package/cjs/idx/unlockAccount.js +48 -0
  169. package/cjs/idx/unlockAccount.js.map +1 -0
  170. package/cjs/index.js +20 -14
  171. package/cjs/index.js.map +1 -1
  172. package/cjs/oidc/endpoints/authorize.js +8 -2
  173. package/cjs/oidc/endpoints/authorize.js.map +1 -1
  174. package/cjs/oidc/endpoints/index.js +5 -3
  175. package/cjs/oidc/endpoints/index.js.map +1 -1
  176. package/cjs/oidc/endpoints/token.js +15 -3
  177. package/cjs/oidc/endpoints/token.js.map +1 -1
  178. package/cjs/oidc/endpoints/well-known.js +7 -3
  179. package/cjs/oidc/endpoints/well-known.js.map +1 -1
  180. package/cjs/oidc/exchangeCodeForTokens.js +10 -2
  181. package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
  182. package/cjs/oidc/getToken.js +9 -5
  183. package/cjs/oidc/getToken.js.map +1 -1
  184. package/cjs/oidc/getUserInfo.js +7 -3
  185. package/cjs/oidc/getUserInfo.js.map +1 -1
  186. package/cjs/oidc/getWithPopup.js +8 -2
  187. package/cjs/oidc/getWithPopup.js.map +1 -1
  188. package/cjs/oidc/getWithRedirect.js +5 -1
  189. package/cjs/oidc/getWithRedirect.js.map +1 -1
  190. package/cjs/oidc/getWithoutPrompt.js +8 -2
  191. package/cjs/oidc/getWithoutPrompt.js.map +1 -1
  192. package/cjs/oidc/handleOAuthResponse.js +9 -3
  193. package/cjs/oidc/handleOAuthResponse.js.map +1 -1
  194. package/cjs/oidc/index.js +4 -2
  195. package/cjs/oidc/index.js.map +1 -1
  196. package/cjs/oidc/parseFromUrl.js +9 -3
  197. package/cjs/oidc/parseFromUrl.js.map +1 -1
  198. package/cjs/oidc/renewToken.js.map +1 -1
  199. package/cjs/oidc/renewTokens.js +5 -1
  200. package/cjs/oidc/renewTokens.js.map +1 -1
  201. package/cjs/oidc/renewTokensWithRefresh.js +5 -1
  202. package/cjs/oidc/renewTokensWithRefresh.js.map +1 -1
  203. package/cjs/oidc/revokeToken.js +7 -3
  204. package/cjs/oidc/revokeToken.js.map +1 -1
  205. package/cjs/oidc/util/browser.js +5 -1
  206. package/cjs/oidc/util/browser.js.map +1 -1
  207. package/cjs/oidc/util/defaultTokenParams.js.map +1 -1
  208. package/cjs/oidc/util/errors.js.map +1 -1
  209. package/cjs/oidc/util/index.js +14 -12
  210. package/cjs/oidc/util/index.js.map +1 -1
  211. package/cjs/oidc/util/loginRedirect.js +5 -1
  212. package/cjs/oidc/util/loginRedirect.js.map +1 -1
  213. package/cjs/oidc/util/oauth.js +4 -2
  214. package/cjs/oidc/util/oauth.js.map +1 -1
  215. package/cjs/oidc/util/oauthMeta.js.map +1 -1
  216. package/cjs/oidc/util/pkce.js +11 -3
  217. package/cjs/oidc/util/pkce.js.map +1 -1
  218. package/cjs/oidc/util/prepareTokenParams.js +7 -5
  219. package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
  220. package/cjs/oidc/util/validateClaims.js +1 -1
  221. package/cjs/oidc/util/validateClaims.js.map +1 -1
  222. package/cjs/oidc/verifyToken.js +11 -3
  223. package/cjs/oidc/verifyToken.js.map +1 -1
  224. package/cjs/options.js +6 -4
  225. package/cjs/options.js.map +1 -1
  226. package/cjs/server/serverStorage.js +1 -0
  227. package/cjs/server/serverStorage.js.map +1 -1
  228. package/cjs/tx/AuthTransaction.js +15 -9
  229. package/cjs/tx/AuthTransaction.js.map +1 -1
  230. package/cjs/tx/api.js +8 -4
  231. package/cjs/tx/api.js.map +1 -1
  232. package/cjs/tx/index.js +7 -5
  233. package/cjs/tx/index.js.map +1 -1
  234. package/cjs/tx/poll.js +6 -4
  235. package/cjs/tx/poll.js.map +1 -1
  236. package/cjs/tx/util.js +5 -1
  237. package/cjs/tx/util.js.map +1 -1
  238. package/cjs/types/Transaction.js +10 -2
  239. package/cjs/types/Transaction.js.map +1 -1
  240. package/cjs/types/index.js +16 -14
  241. package/cjs/types/index.js.map +1 -1
  242. package/cjs/util/index.js +7 -5
  243. package/cjs/util/index.js.map +1 -1
  244. package/cjs/util/misc.js +5 -1
  245. package/cjs/util/misc.js.map +1 -1
  246. package/cjs/util/object.js +16 -6
  247. package/cjs/util/object.js.map +1 -1
  248. package/cjs/util/sharedStorage.js +5 -1
  249. package/cjs/util/sharedStorage.js.map +1 -1
  250. package/dist/okta-auth-js.min.js +1 -1
  251. package/dist/okta-auth-js.min.js.LICENSE.txt +0 -12
  252. package/dist/okta-auth-js.min.js.map +1 -1
  253. package/dist/okta-auth-js.polyfill.js +1 -1
  254. package/dist/okta-auth-js.polyfill.js.map +1 -1
  255. package/dist/okta-auth-js.umd.js +1 -1
  256. package/dist/okta-auth-js.umd.js.LICENSE.txt +0 -12
  257. package/dist/okta-auth-js.umd.js.map +1 -1
  258. package/esm/index.js +1601 -377
  259. package/esm/index.js.map +1 -1
  260. package/lib/OktaAuth.d.ts +6 -3
  261. package/lib/StorageManager.d.ts +1 -1
  262. package/lib/TokenManager.d.ts +2 -2
  263. package/lib/TransactionManager.d.ts +1 -1
  264. package/lib/browser/fingerprint.d.ts +2 -3
  265. package/lib/crypto/base64.d.ts +2 -0
  266. package/lib/crypto/webauthn.d.ts +25 -0
  267. package/lib/http/headers.d.ts +2 -2
  268. package/lib/http/request.d.ts +4 -4
  269. package/lib/idx/authenticate.d.ts +2 -2
  270. package/lib/idx/authenticator/Authenticator.d.ts +4 -5
  271. package/lib/idx/authenticator/OktaPassword.d.ts +7 -9
  272. package/lib/idx/authenticator/SecurityQuestionEnrollment.d.ts +9 -8
  273. package/lib/idx/authenticator/SecurityQuestionVerification.d.ts +7 -7
  274. package/lib/idx/authenticator/VerificationCodeAuthenticator.d.ts +6 -2
  275. package/lib/idx/authenticator/WebauthnEnrollment.d.ts +16 -0
  276. package/lib/idx/authenticator/WebauthnVerification.d.ts +17 -0
  277. package/lib/idx/authenticator/getAuthenticator.d.ts +1 -1
  278. package/lib/idx/authenticator/index.d.ts +9 -0
  279. package/lib/idx/cancel.d.ts +2 -2
  280. package/lib/idx/emailVerify.d.ts +2 -2
  281. package/lib/idx/flow/AccountUnlockFlow.d.ts +13 -0
  282. package/lib/idx/flow/FlowSpecification.d.ts +2 -2
  283. package/lib/idx/flow/index.d.ts +1 -0
  284. package/lib/idx/headers.d.ts +3 -2
  285. package/lib/idx/idx-js/client.d.ts +36 -0
  286. package/lib/idx/idx-js/index.d.ts +51 -0
  287. package/lib/idx/idx-js/interact.d.ts +25 -0
  288. package/lib/idx/idx-js/introspect.d.ts +20 -0
  289. package/lib/idx/idx-js/parsers.d.ts +15 -0
  290. package/lib/idx/idx-js/util.d.ts +12 -0
  291. package/lib/idx/idx-js/v1/actionParser.d.ts +16 -0
  292. package/lib/idx/idx-js/v1/generateIdxAction.d.ts +13 -0
  293. package/lib/idx/idx-js/v1/idxResponseParser.d.ts +20 -0
  294. package/lib/idx/idx-js/v1/makeIdxState.d.ts +13 -0
  295. package/lib/idx/idx-js/v1/parsers.d.ts +16 -0
  296. package/lib/idx/idx-js/v1/remediationParser.d.ts +12 -0
  297. package/lib/idx/index.d.ts +12 -11
  298. package/lib/idx/interact.d.ts +3 -2
  299. package/lib/idx/introspect.d.ts +2 -2
  300. package/lib/idx/poll.d.ts +2 -2
  301. package/lib/idx/proceed.d.ts +5 -4
  302. package/lib/idx/recoverPassword.d.ts +2 -2
  303. package/lib/idx/register.d.ts +2 -2
  304. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +2 -1
  305. package/lib/idx/remediators/Base/Remediator.d.ts +1 -1
  306. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +3 -0
  307. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +7 -12
  308. package/lib/idx/remediators/EnrollmentChannelData.d.ts +1 -0
  309. package/lib/idx/remediators/SelectAuthenticatorUnlockAccount.d.ts +38 -0
  310. package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +1 -0
  311. package/lib/idx/remediators/index.d.ts +1 -0
  312. package/lib/idx/run.d.ts +2 -2
  313. package/lib/idx/startTransaction.d.ts +2 -2
  314. package/lib/idx/transactionMeta.d.ts +7 -7
  315. package/lib/idx/types/FlowIdentifier.d.ts +1 -1
  316. package/lib/idx/types/idx-js.d.ts +36 -0
  317. package/lib/idx/types/index.d.ts +21 -5
  318. package/lib/idx/unlockAccount.d.ts +15 -0
  319. package/lib/oidc/endpoints/well-known.d.ts +3 -3
  320. package/lib/oidc/exchangeCodeForTokens.d.ts +2 -2
  321. package/lib/oidc/getToken.d.ts +2 -2
  322. package/lib/oidc/getWithPopup.d.ts +2 -2
  323. package/lib/oidc/getWithRedirect.d.ts +2 -2
  324. package/lib/oidc/getWithoutPrompt.d.ts +2 -2
  325. package/lib/oidc/handleOAuthResponse.d.ts +2 -2
  326. package/lib/oidc/renewToken.d.ts +2 -2
  327. package/lib/oidc/renewTokensWithRefresh.d.ts +2 -2
  328. package/lib/oidc/revokeToken.d.ts +2 -2
  329. package/lib/oidc/util/browser.d.ts +2 -2
  330. package/lib/oidc/util/defaultTokenParams.d.ts +2 -2
  331. package/lib/oidc/util/errors.d.ts +2 -2
  332. package/lib/oidc/util/loginRedirect.d.ts +4 -4
  333. package/lib/oidc/util/oauth.d.ts +4 -4
  334. package/lib/oidc/util/oauthMeta.d.ts +2 -2
  335. package/lib/oidc/util/prepareTokenParams.d.ts +5 -5
  336. package/lib/oidc/util/validateClaims.d.ts +2 -2
  337. package/lib/oidc/verifyToken.d.ts +2 -2
  338. package/lib/types/OktaAuthOptions.d.ts +1 -2
  339. package/lib/types/Transaction.d.ts +2 -10
  340. package/lib/types/api.d.ts +17 -5
  341. package/lib/types/index.d.ts +0 -1
  342. package/lib/util/sharedStorage.d.ts +1 -1
  343. package/package.json +10 -7
  344. package/polyfill/index.js +1 -0
@@ -1,7 +1,21 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
3
5
  exports.Remediator = void 0;
4
6
 
7
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
8
+
9
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
10
+
11
+ var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
12
+
13
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
14
+
15
+ var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
16
+
17
+ var _includes = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/includes"));
18
+
5
19
  var _errors = require("../../../errors");
6
20
 
7
21
  var _util = require("../util");
@@ -32,54 +46,60 @@ class Remediator {
32
46
  }
33
47
 
34
48
  formatAuthenticators() {
35
- this.values.authenticators = this.values.authenticators || []; // add string authenticator from input to "authenticators" field
49
+ var _context2, _context3;
50
+
51
+ (0, _values.default)(this).authenticators = (0, _values.default)(this).authenticators || []; // add string authenticator from input to "authenticators" field
36
52
 
37
- if (this.values.authenticator) {
38
- const hasAuthenticatorInList = this.values.authenticators.some(authenticator => {
53
+ if ((0, _values.default)(this).authenticator) {
54
+ const hasAuthenticatorInList = (0, _values.default)(this).authenticators.some(authenticator => {
39
55
  if (typeof authenticator === 'string') {
40
- return authenticator === this.values.authenticator;
56
+ return authenticator === (0, _values.default)(this).authenticator;
41
57
  }
42
58
 
43
- return authenticator.key === this.values.authenticator;
59
+ return authenticator.key === (0, _values.default)(this).authenticator;
44
60
  });
45
61
 
46
62
  if (!hasAuthenticatorInList) {
47
- this.values.authenticators.push({
48
- key: this.values.authenticator
63
+ (0, _values.default)(this).authenticators.push({
64
+ key: (0, _values.default)(this).authenticator
49
65
  });
50
66
  }
51
67
  } // transform items in "authenticators" into one format
52
68
 
53
69
 
54
- this.values.authenticators = this.values.authenticators.map(authenticator => {
70
+ (0, _values.default)(this).authenticators = (0, _map.default)(_context2 = (0, _values.default)(this).authenticators).call(_context2, authenticator => {
55
71
  return typeof authenticator === 'string' ? {
56
72
  key: authenticator
57
73
  } : authenticator;
58
74
  }); // save non-key meta to "authenticatorsData" field
59
75
  // authenticators will be removed after selection to avoid select-authenticator loop
60
76
 
61
- this.values.authenticatorsData = this.values.authenticators.reduce((acc, authenticator) => {
62
- if (typeof authenticator === 'object' && Object.keys(authenticator).length > 1) {
77
+ (0, _values.default)(this).authenticatorsData = (0, _reduce.default)(_context3 = (0, _values.default)(this).authenticators).call(_context3, (acc, authenticator) => {
78
+ if (typeof authenticator === 'object' && (0, _keys.default)(authenticator).length > 1) {
63
79
  // save authenticator meta into authenticator data
64
80
  acc.push(authenticator);
65
81
  }
66
82
 
67
83
  return acc;
68
- }, this.values.authenticatorsData || []);
84
+ }, (0, _values.default)(this).authenticatorsData || []);
69
85
  }
70
86
 
71
87
  getName() {
72
88
  return this.remediation.name;
73
89
  } // Override this method to provide custom check
74
90
 
91
+ /* eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars */
92
+
75
93
 
76
94
  canRemediate() {
77
- if (!this.map) {
95
+ var _context4;
96
+
97
+ if (!(0, _map.default)(this)) {
78
98
  return false;
79
99
  }
80
100
 
81
101
  const required = (0, _util.getRequiredValues)(this.remediation);
82
- const needed = required.find(key => !this.hasData(key));
102
+ const needed = (0, _find.default)(_context4 = required).call(_context4, key => !this.hasData(key));
83
103
 
84
104
  if (needed) {
85
105
  return false; // missing data for a required field
@@ -91,8 +111,10 @@ class Remediator {
91
111
 
92
112
  getData(key) {
93
113
  if (!key) {
114
+ var _context5;
115
+
94
116
  let allValues = (0, _util.getAllValues)(this.remediation);
95
- let res = allValues.reduce((data, key) => {
117
+ let res = (0, _reduce.default)(_context5 = allValues).call(_context5, (data, key) => {
96
118
  data[key] = this.getData(key); // recursive
97
119
 
98
120
  return data;
@@ -102,25 +124,27 @@ class Remediator {
102
124
 
103
125
 
104
126
  if (typeof this[`map${(0, _util.titleCase)(key)}`] === 'function') {
105
- return this[`map${(0, _util.titleCase)(key)}`](this.remediation.value.find(({
127
+ var _context6;
128
+
129
+ return this[`map${(0, _util.titleCase)(key)}`]((0, _find.default)(_context6 = this.remediation.value).call(_context6, ({
106
130
  name
107
131
  }) => name === key));
108
132
  }
109
133
 
110
- if (!this.map) {
111
- return this.values[key];
134
+ if (!(0, _map.default)(this)) {
135
+ return (0, _values.default)(this)[key];
112
136
  } // Handle general primitive types
113
137
 
114
138
 
115
- const entry = this.map[key];
139
+ const entry = (0, _map.default)(this)[key];
116
140
 
117
141
  if (!entry) {
118
- return this.values[key];
142
+ return (0, _values.default)(this)[key];
119
143
  } // find the first aliased property that returns a truthy value
120
144
 
121
145
 
122
146
  for (let i = 0; i < entry.length; i++) {
123
- let val = this.values[entry[i]];
147
+ let val = (0, _values.default)(this)[entry[i]];
124
148
 
125
149
  if (val) {
126
150
  return val;
@@ -130,11 +154,13 @@ class Remediator {
130
154
 
131
155
  hasData(key) {
132
156
  // no attempt to format, we want simple true/false
133
- // First see if the remediation has a mapping for this vale
157
+ // First see if the remediation has a mapping for this value
134
158
  const data = this.getData(key);
135
159
 
136
160
  if (typeof data === 'object') {
137
- return !!Object.keys(data).find(key => !!data[key]);
161
+ var _context7;
162
+
163
+ return !!(0, _find.default)(_context7 = (0, _keys.default)(data)).call(_context7, key => !!data[key]);
138
164
  }
139
165
 
140
166
  return !!data;
@@ -161,19 +187,23 @@ class Remediator {
161
187
 
162
188
 
163
189
  getInputs() {
164
- if (!this.map) {
190
+ var _context8;
191
+
192
+ if (!(0, _map.default)(this)) {
165
193
  return [];
166
194
  }
167
195
 
168
- return Object.keys(this.map).reduce((inputs, key) => {
169
- const inputFromRemediation = this.remediation.value.find(item => item.name === key);
196
+ return (0, _reduce.default)(_context8 = (0, _keys.default)((0, _map.default)(this))).call(_context8, (inputs, key) => {
197
+ var _context9;
198
+
199
+ const inputFromRemediation = (0, _find.default)(_context9 = this.remediation.value).call(_context9, item => item.name === key);
170
200
 
171
201
  if (!inputFromRemediation) {
172
202
  return inputs;
173
203
  }
174
204
 
175
205
  let input;
176
- const aliases = this.map[key];
206
+ const aliases = (0, _map.default)(this)[key];
177
207
  const {
178
208
  type
179
209
  } = inputFromRemediation;
@@ -188,7 +218,11 @@ class Remediator {
188
218
  name = aliases[0];
189
219
  } else {
190
220
  // try find key from values
191
- name = aliases.find(name => Object.keys(this.values).includes(name));
221
+ name = (0, _find.default)(aliases).call(aliases, name => {
222
+ var _context10;
223
+
224
+ return (0, _includes.default)(_context10 = (0, _keys.default)((0, _values.default)(this))).call(_context10, name);
225
+ });
192
226
  }
193
227
 
194
228
  if (name) {
@@ -213,13 +247,13 @@ class Remediator {
213
247
  }
214
248
 
215
249
  static getMessages(remediation) {
216
- var _remediation$value$, _remediation$value$$f;
250
+ var _remediation$value$, _remediation$value$$f, _context11;
217
251
 
218
252
  if (!remediation.value) {
219
253
  return;
220
254
  }
221
255
 
222
- return (_remediation$value$ = remediation.value[0]) === null || _remediation$value$ === void 0 ? void 0 : (_remediation$value$$f = _remediation$value$.form) === null || _remediation$value$$f === void 0 ? void 0 : _remediation$value$$f.value.reduce((messages, field) => {
256
+ return (_remediation$value$ = remediation.value[0]) === null || _remediation$value$ === void 0 ? void 0 : (_remediation$value$$f = _remediation$value$.form) === null || _remediation$value$$f === void 0 ? void 0 : (0, _reduce.default)(_context11 = _remediation$value$$f.value).call(_context11, (messages, field) => {
223
257
  if (field.messages) {
224
258
  messages = [...messages, ...field.messages.value];
225
259
  }
@@ -235,10 +269,10 @@ class Remediator {
235
269
  const inputs = this.getInputs();
236
270
 
237
271
  for (const input of inputs) {
238
- delete this.values[input.name];
272
+ delete (0, _values.default)(this)[input.name];
239
273
  }
240
274
 
241
- return this.values;
275
+ return (0, _values.default)(this);
242
276
  }
243
277
 
244
278
  getAuthenticator() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../lib/idx/remediators/Base/Remediator.ts"],"names":["Remediator","constructor","remediation","values","formatAuthenticators","authenticators","authenticator","hasAuthenticatorInList","some","key","push","map","authenticatorsData","reduce","acc","Object","keys","length","getName","name","canRemediate","required","needed","find","hasData","getData","allValues","res","data","value","entry","i","val","getNextStep","_context","inputs","getInputs","getAuthenticator","type","inputFromRemediation","item","input","aliases","includes","AuthSdkError","Array","isArray","forEach","getMessages","form","messages","field","getValuesAfterProceed","relatesTo"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/*!\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 complexity */\nimport { AuthSdkError } from '../../../errors';\nimport { NextStep, IdxMessage, Authenticator, Input, IdxOptions } from '../../types';\nimport { IdxAuthenticator, IdxContext, IdxRemediation } from '../../types/idx-js';\nimport { getAllValues, getRequiredValues, titleCase } from '../util';\n\n// A map from IDX data values (server spec) to RemediationValues (client spec)\nexport type IdxToRemediationValueMap = Record<string, string[]>;\n\nexport interface RemediationValues extends IdxOptions {\n stateHandle?: string;\n authenticators?: Authenticator[] | string[];\n authenticator?: string;\n authenticatorsData?: Authenticator[];\n}\n\n// Base class - DO NOT expose static remediationName\nexport class Remediator {\n static remediationName: string;\n\n remediation: IdxRemediation;\n values: RemediationValues;\n map?: IdxToRemediationValueMap;\n\n constructor(remediation: IdxRemediation, values: RemediationValues = {}) {\n // assign fields to the instance\n this.values = { ...values };\n this.formatAuthenticators();\n this.remediation = remediation;\n }\n\n private formatAuthenticators() {\n this.values.authenticators = (this.values.authenticators || []) as Authenticator[];\n // add string authenticator from input to \"authenticators\" field\n if (this.values.authenticator) {\n const hasAuthenticatorInList = this.values.authenticators.some(authenticator => {\n if (typeof authenticator === 'string') {\n return authenticator === this.values.authenticator;\n }\n return authenticator.key === this.values.authenticator;\n });\n if (!hasAuthenticatorInList) {\n this.values.authenticators.push({\n key: this.values.authenticator \n });\n }\n }\n\n // transform items in \"authenticators\" into one format\n this.values.authenticators = this.values.authenticators.map(authenticator => {\n return typeof authenticator === 'string' ? { key: authenticator } : authenticator;\n });\n\n // save non-key meta to \"authenticatorsData\" field\n // authenticators will be removed after selection to avoid select-authenticator loop\n this.values.authenticatorsData = this.values.authenticators.reduce((acc, authenticator) => {\n if (typeof authenticator === 'object' && Object.keys(authenticator).length > 1) {\n // save authenticator meta into authenticator data\n acc.push(authenticator);\n }\n return acc;\n }, this.values.authenticatorsData || []);\n }\n\n getName(): string {\n return this.remediation.name;\n }\n\n // Override this method to provide custom check\n canRemediate(): boolean {\n if (!this.map) {\n return false;\n }\n const required = getRequiredValues(this.remediation);\n const needed = required!.find((key) => !this.hasData(key));\n if (needed) {\n return false; // missing data for a required field\n }\n return true; // all required fields have available data\n }\n\n // returns an object for the entire remediation form, or just a part\n getData(key?: string) {\n\n if (!key) {\n let allValues = getAllValues(this.remediation);\n let res = allValues!.reduce((data, key) => {\n data[key] = this.getData(key); // recursive\n return data;\n }, {});\n return res;\n }\n\n // Map value by \"map${Property}\" function in each subClass\n if (typeof this[`map${titleCase(key)}`] === 'function') {\n return this[`map${titleCase(key)}`](\n this.remediation.value!.find(({name}) => name === key)\n );\n }\n\n if (!this.map) {\n return this.values[key];\n }\n\n // Handle general primitive types\n const entry = this.map[key];\n if (!entry) {\n return this.values[key];\n }\n\n // find the first aliased property that returns a truthy value\n for (let i = 0; i < entry.length; i++) {\n let val = this.values[entry[i]];\n if (val) {\n return val;\n }\n }\n }\n\n hasData(\n key: string // idx name\n ): boolean \n {\n // no attempt to format, we want simple true/false\n\n // First see if the remediation has a mapping for this vale\n const data = this.getData(key);\n if (typeof data === 'object') {\n return !!Object.keys(data).find(key => !!data[key]);\n }\n return !!data;\n }\n\n getNextStep(_context?: IdxContext): NextStep {\n const name = this.getName();\n const inputs = this.getInputs();\n const authenticator = this.getAuthenticator();\n // TODO: remove type field in the next major version change\n // https://oktainc.atlassian.net/browse/OKTA-431749\n const type = authenticator?.type;\n return { \n name, \n inputs, \n ...(type && { type }),\n ...(authenticator && { authenticator }),\n };\n }\n\n // Get inputs for the next step\n private getInputs(): Input[] {\n if (!this.map) {\n return [];\n }\n\n return Object.keys(this.map).reduce((inputs, key) => {\n const inputFromRemediation = this.remediation.value!.find(item => item.name === key);\n if (!inputFromRemediation) {\n return inputs;\n }\n\n let input;\n const aliases = this.map![key];\n const { type } = inputFromRemediation;\n if (typeof this[`getInput${titleCase(key)}`] === 'function') {\n input = this[`getInput${titleCase(key)}`](inputFromRemediation);\n } else if (type !== 'object') {\n // handle general primitive types\n let name;\n if (aliases.length === 1) {\n name = aliases[0];\n } else {\n // try find key from values\n name = aliases.find(name => Object.keys(this.values).includes(name));\n }\n if (name) {\n input = { ...inputFromRemediation, name };\n }\n } \n\n if (!input) {\n throw new AuthSdkError(`Missing custom getInput${titleCase(key)} method in Remediator: ${this.getName()}`);\n }\n\n if (Array.isArray(input)) {\n input.forEach(i => inputs.push(i as never));\n } else {\n inputs.push(input as never);\n }\n return inputs;\n }, []);\n }\n\n static getMessages(remediation: IdxRemediation): IdxMessage[] | undefined {\n if (!remediation.value) {\n return;\n }\n return remediation.value[0]?.form?.value.reduce((messages, field) => {\n if (field.messages) {\n messages = [...messages, ...field.messages.value] as never;\n }\n return messages;\n }, []);\n }\n\n // Prepare values for the next remediation\n // In general, remove used values from inputs for the current remediation\n // Override this method if special cases need be handled\n getValuesAfterProceed(): RemediationValues {\n const inputs = this.getInputs();\n for (const input of inputs) {\n delete this.values[input.name];\n }\n return this.values;\n }\n\n protected getAuthenticator(): IdxAuthenticator | undefined {\n return this.remediation.relatesTo?.value;\n }\n}\n"],"file":"Remediator.js"}
1
+ {"version":3,"sources":["../../../../../lib/idx/remediators/Base/Remediator.ts"],"names":["Remediator","constructor","remediation","values","formatAuthenticators","authenticators","authenticator","hasAuthenticatorInList","some","key","push","authenticatorsData","acc","length","getName","name","canRemediate","required","needed","hasData","getData","allValues","res","data","value","entry","i","val","getNextStep","_context","inputs","getInputs","getAuthenticator","type","inputFromRemediation","item","input","aliases","AuthSdkError","Array","isArray","forEach","getMessages","form","messages","field","getValuesAfterProceed","relatesTo"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/*!\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 complexity */\nimport { AuthSdkError } from '../../../errors';\nimport { NextStep, IdxMessage, Authenticator, Input, IdxOptions } from '../../types';\nimport { IdxAuthenticator, IdxRemediation, IdxContext } from '../../types/idx-js';\nimport { getAllValues, getRequiredValues, titleCase } from '../util';\n\n// A map from IDX data values (server spec) to RemediationValues (client spec)\nexport type IdxToRemediationValueMap = Record<string, string[]>;\n\nexport interface RemediationValues extends IdxOptions {\n stateHandle?: string;\n authenticators?: Authenticator[] | string[];\n authenticator?: string;\n authenticatorsData?: Authenticator[];\n}\n\n// Base class - DO NOT expose static remediationName\nexport class Remediator {\n static remediationName: string;\n\n remediation: IdxRemediation;\n values: RemediationValues;\n map?: IdxToRemediationValueMap;\n\n constructor(remediation: IdxRemediation, values: RemediationValues = {}) {\n // assign fields to the instance\n this.values = { ...values };\n this.formatAuthenticators();\n this.remediation = remediation;\n }\n\n private formatAuthenticators() {\n this.values.authenticators = (this.values.authenticators || []) as Authenticator[];\n // add string authenticator from input to \"authenticators\" field\n if (this.values.authenticator) {\n const hasAuthenticatorInList = this.values.authenticators.some(authenticator => {\n if (typeof authenticator === 'string') {\n return authenticator === this.values.authenticator;\n }\n return authenticator.key === this.values.authenticator;\n });\n if (!hasAuthenticatorInList) {\n this.values.authenticators.push({\n key: this.values.authenticator \n });\n }\n }\n\n // transform items in \"authenticators\" into one format\n this.values.authenticators = this.values.authenticators.map(authenticator => {\n return typeof authenticator === 'string' ? { key: authenticator } : authenticator;\n });\n\n // save non-key meta to \"authenticatorsData\" field\n // authenticators will be removed after selection to avoid select-authenticator loop\n this.values.authenticatorsData = this.values.authenticators.reduce((acc, authenticator) => {\n if (typeof authenticator === 'object' && Object.keys(authenticator).length > 1) {\n // save authenticator meta into authenticator data\n acc.push(authenticator);\n }\n return acc;\n }, this.values.authenticatorsData || []);\n }\n\n getName(): string {\n return this.remediation.name;\n }\n\n // Override this method to provide custom check\n /* eslint-disable-next-line no-unused-vars, @typescript-eslint/no-unused-vars */\n canRemediate(): boolean {\n if (!this.map) {\n return false;\n }\n const required = getRequiredValues(this.remediation);\n const needed = required!.find((key) => !this.hasData(key));\n if (needed) {\n return false; // missing data for a required field\n }\n return true; // all required fields have available data\n }\n\n // returns an object for the entire remediation form, or just a part\n getData(key?: string) {\n\n if (!key) {\n let allValues = getAllValues(this.remediation);\n let res = allValues!.reduce((data, key) => {\n data[key] = this.getData(key); // recursive\n return data;\n }, {});\n return res;\n }\n\n // Map value by \"map${Property}\" function in each subClass\n if (typeof this[`map${titleCase(key)}`] === 'function') {\n return this[`map${titleCase(key)}`](\n this.remediation.value!.find(({name}) => name === key)\n );\n }\n\n if (!this.map) {\n return this.values[key];\n }\n\n // Handle general primitive types\n const entry = this.map[key];\n if (!entry) {\n return this.values[key];\n }\n\n // find the first aliased property that returns a truthy value\n for (let i = 0; i < entry.length; i++) {\n let val = this.values[entry[i]];\n if (val) {\n return val;\n }\n }\n }\n\n hasData(\n key: string // idx name\n ): boolean \n {\n // no attempt to format, we want simple true/false\n\n // First see if the remediation has a mapping for this value\n const data = this.getData(key);\n if (typeof data === 'object') {\n return !!Object.keys(data).find(key => !!data[key]);\n }\n return !!data;\n }\n\n getNextStep(_context?: IdxContext): NextStep {\n const name = this.getName();\n const inputs = this.getInputs();\n const authenticator = this.getAuthenticator();\n // TODO: remove type field in the next major version change\n // https://oktainc.atlassian.net/browse/OKTA-431749\n const type = authenticator?.type;\n return { \n name, \n inputs, \n ...(type && { type }),\n ...(authenticator && { authenticator }),\n };\n }\n\n // Get inputs for the next step\n private getInputs(): Input[] {\n if (!this.map) {\n return [];\n }\n\n return Object.keys(this.map).reduce((inputs, key) => {\n const inputFromRemediation = this.remediation.value!.find(item => item.name === key);\n if (!inputFromRemediation) {\n return inputs;\n }\n\n let input;\n const aliases = this.map![key];\n const { type } = inputFromRemediation;\n if (typeof this[`getInput${titleCase(key)}`] === 'function') {\n input = this[`getInput${titleCase(key)}`](inputFromRemediation);\n } else if (type !== 'object') {\n // handle general primitive types\n let name;\n if (aliases.length === 1) {\n name = aliases[0];\n } else {\n // try find key from values\n name = aliases.find(name => Object.keys(this.values).includes(name));\n }\n if (name) {\n input = { ...inputFromRemediation, name };\n }\n } \n\n if (!input) {\n throw new AuthSdkError(`Missing custom getInput${titleCase(key)} method in Remediator: ${this.getName()}`);\n }\n\n if (Array.isArray(input)) {\n input.forEach(i => inputs.push(i as never));\n } else {\n inputs.push(input as never);\n }\n return inputs;\n }, []);\n }\n\n static getMessages(remediation: IdxRemediation): IdxMessage[] | undefined {\n if (!remediation.value) {\n return;\n }\n return remediation.value[0]?.form?.value.reduce((messages, field) => {\n if (field.messages) {\n messages = [...messages, ...field.messages.value] as never;\n }\n return messages;\n }, []);\n }\n\n // Prepare values for the next remediation\n // In general, remove used values from inputs for the current remediation\n // Override this method if special cases need be handled\n getValuesAfterProceed(): RemediationValues {\n const inputs = this.getInputs();\n for (const input of inputs) {\n delete this.values[input.name];\n }\n return this.values;\n }\n\n protected getAuthenticator(): IdxAuthenticator | undefined {\n return this.remediation.relatesTo?.value;\n }\n}\n"],"file":"Remediator.js"}
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
5
  exports.SelectAuthenticator = void 0;
6
6
 
7
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _find = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/find"));
8
+
9
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
10
+
11
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/map"));
12
+
13
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
14
+
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
8
16
 
9
17
  var _Remediator = require("./Remediator");
10
18
 
@@ -23,23 +31,6 @@ var _util = require("../util");
23
31
  *
24
32
  * See the License for the specific language governing permissions and limitations under the License.
25
33
  */
26
- // Find matched authenticator in provided order
27
- function findMatchedOption(authenticators, options) {
28
- let option;
29
-
30
- for (let authenticator of authenticators) {
31
- option = options.find(({
32
- relatesTo
33
- }) => relatesTo.key === authenticator.key);
34
-
35
- if (option) {
36
- break;
37
- }
38
- }
39
-
40
- return option;
41
- }
42
-
43
34
  // Base class - DO NOT expose static remediationName
44
35
  class SelectAuthenticator extends _Remediator.Remediator {
45
36
  constructor(...args) {
@@ -49,10 +40,27 @@ class SelectAuthenticator extends _Remediator.Remediator {
49
40
  });
50
41
  }
51
42
 
43
+ // Find matched authenticator in provided order
44
+ findMatchedOption(authenticators, options) {
45
+ let option;
46
+
47
+ for (let authenticator of authenticators) {
48
+ option = (0, _find.default)(options).call(options, ({
49
+ relatesTo
50
+ }) => relatesTo.key === authenticator.key);
51
+
52
+ if (option) {
53
+ break;
54
+ }
55
+ }
56
+
57
+ return option;
58
+ }
59
+
52
60
  canRemediate() {
53
61
  const {
54
62
  authenticators
55
- } = this.values;
63
+ } = (0, _values.default)(this);
56
64
  const authenticatorFromRemediation = (0, _util.getAuthenticatorFromRemediation)(this.remediation);
57
65
  const {
58
66
  options
@@ -63,7 +71,7 @@ class SelectAuthenticator extends _Remediator.Remediator {
63
71
  } // Proceed with provided authenticators
64
72
 
65
73
 
66
- const matchedOption = findMatchedOption(authenticators, options);
74
+ const matchedOption = this.findMatchedOption(authenticators, options);
67
75
 
68
76
  if (matchedOption) {
69
77
  return true;
@@ -73,9 +81,11 @@ class SelectAuthenticator extends _Remediator.Remediator {
73
81
  }
74
82
 
75
83
  getNextStep() {
84
+ var _context;
85
+
76
86
  const common = super.getNextStep();
77
87
  const authenticatorFromRemediation = (0, _util.getAuthenticatorFromRemediation)(this.remediation);
78
- const options = authenticatorFromRemediation.options.map(option => {
88
+ const options = (0, _map.default)(_context = authenticatorFromRemediation.options).call(_context, option => {
79
89
  const {
80
90
  label,
81
91
  relatesTo
@@ -92,17 +102,20 @@ class SelectAuthenticator extends _Remediator.Remediator {
92
102
  }
93
103
 
94
104
  mapAuthenticator(remediationValue) {
105
+ var _context2;
106
+
95
107
  const {
96
108
  authenticators
97
- } = this.values;
109
+ } = (0, _values.default)(this);
98
110
  const {
99
111
  options
100
112
  } = remediationValue;
101
- const selectedOption = findMatchedOption(authenticators, options); // track the selected authenticator
113
+ const selectedOption = this.findMatchedOption(authenticators, options); // track the selected authenticator
102
114
 
103
115
  this.selectedAuthenticator = selectedOption.relatesTo;
116
+ this.selectedOption = selectedOption;
104
117
  return {
105
- id: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value.form.value.find(({
118
+ id: selectedOption === null || selectedOption === void 0 ? void 0 : (0, _find.default)(_context2 = selectedOption.value.form.value).call(_context2, ({
106
119
  name
107
120
  }) => name === 'id').value
108
121
  };
@@ -116,12 +129,14 @@ class SelectAuthenticator extends _Remediator.Remediator {
116
129
  }
117
130
 
118
131
  getValuesAfterProceed() {
132
+ var _context3;
133
+
119
134
  this.values = super.getValuesAfterProceed(); // remove used authenticators
120
135
 
121
- const authenticators = this.values.authenticators.filter(authenticator => {
136
+ const authenticators = (0, _filter.default)(_context3 = (0, _values.default)(this).authenticators).call(_context3, authenticator => {
122
137
  return authenticator.key !== this.selectedAuthenticator.key;
123
138
  });
124
- return { ...this.values,
139
+ return { ...(0, _values.default)(this),
125
140
  authenticators
126
141
  };
127
142
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../lib/idx/remediators/Base/SelectAuthenticator.ts"],"names":["findMatchedOption","authenticators","options","option","authenticator","find","relatesTo","key","SelectAuthenticator","Remediator","canRemediate","values","authenticatorFromRemediation","remediation","length","matchedOption","getNextStep","common","map","label","value","mapAuthenticator","remediationValue","selectedOption","selectedAuthenticator","id","form","name","getInputAuthenticator","getValuesAfterProceed","filter"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/*!\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 { getAuthenticatorFromRemediation } from '../util';\nimport { IdxAuthenticator, IdxOption, IdxRemediationValue } from '../../types/idx-js';\nimport { Authenticator } from '../../types';\n\n// Find matched authenticator in provided order\nfunction findMatchedOption(authenticators, options) {\n let option;\n for (let authenticator of authenticators) {\n option = options\n .find(({ relatesTo }) => relatesTo.key === authenticator.key);\n if (option) {\n break;\n }\n }\n return option;\n}\n\nexport type SelectAuthenticatorValues = RemediationValues & {\n authenticator?: string;\n};\n\n// Base class - DO NOT expose static remediationName\nexport class SelectAuthenticator extends Remediator {\n values!: SelectAuthenticatorValues;\n selectedAuthenticator?: IdxAuthenticator;\n \n map = {\n authenticator: []\n }\n\n canRemediate() {\n const { authenticators } = this.values;\n const authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);\n const { options } = authenticatorFromRemediation;\n // Let users select authenticator if no input is provided\n if (!authenticators || !authenticators.length) {\n return false;\n }\n // Proceed with provided authenticators\n const matchedOption = findMatchedOption(authenticators, options);\n if (matchedOption) {\n return true;\n }\n \n return false;\n }\n\n getNextStep() {\n const common = super.getNextStep();\n const authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);\n const options = authenticatorFromRemediation.options!.map(option => {\n const { \n label, \n relatesTo\n } = option as IdxOption;\n const key = relatesTo!.key!;\n return { label, value: key };\n });\n return { ...common, options };\n }\n\n mapAuthenticator(remediationValue: IdxRemediationValue) {\n const { authenticators } = this.values;\n const { options } = remediationValue;\n const selectedOption = findMatchedOption(authenticators, options);\n // track the selected authenticator\n this.selectedAuthenticator = selectedOption.relatesTo;\n return {\n id: selectedOption?.value.form.value.find(({ name }) => name === 'id').value\n };\n }\n\n getInputAuthenticator() {\n return { name: 'authenticator', key: 'string' };\n }\n\n getValuesAfterProceed(): RemediationValues {\n this.values = super.getValuesAfterProceed();\n // remove used authenticators\n const authenticators = (this.values.authenticators as Authenticator[])\n .filter(authenticator => {\n return authenticator.key !== this.selectedAuthenticator!.key; \n });\n return { ...this.values, authenticators };\n }\n\n}\n"],"file":"SelectAuthenticator.js"}
1
+ {"version":3,"sources":["../../../../../lib/idx/remediators/Base/SelectAuthenticator.ts"],"names":["SelectAuthenticator","Remediator","authenticator","findMatchedOption","authenticators","options","option","relatesTo","key","canRemediate","authenticatorFromRemediation","remediation","length","matchedOption","getNextStep","common","label","value","mapAuthenticator","remediationValue","selectedOption","selectedAuthenticator","id","form","name","getInputAuthenticator","getValuesAfterProceed","values"],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\n/*!\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 { getAuthenticatorFromRemediation } from '../util';\nimport { IdxAuthenticator, IdxOption, IdxRemediationValue } from '../../types/idx-js';\nimport { Authenticator } from '../../types';\n\n\nexport type SelectAuthenticatorValues = RemediationValues & {\n authenticator?: string;\n};\n\n// Base class - DO NOT expose static remediationName\nexport class SelectAuthenticator extends Remediator {\n values!: SelectAuthenticatorValues;\n selectedAuthenticator?: IdxAuthenticator;\n selectedOption?: any;\n \n map = {\n authenticator: []\n }\n\n // Find matched authenticator in provided order\n findMatchedOption(authenticators, options) {\n let option;\n for (let authenticator of authenticators) {\n option = options\n .find(({ relatesTo }) => relatesTo.key === authenticator.key);\n if (option) {\n break;\n }\n }\n return option;\n }\n\n canRemediate() {\n const { authenticators } = this.values;\n const authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);\n const { options } = authenticatorFromRemediation;\n // Let users select authenticator if no input is provided\n if (!authenticators || !authenticators.length) {\n return false;\n }\n // Proceed with provided authenticators\n const matchedOption = this.findMatchedOption(authenticators, options);\n if (matchedOption) {\n return true;\n }\n \n return false;\n }\n\n getNextStep() {\n const common = super.getNextStep();\n const authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);\n const options = authenticatorFromRemediation.options!.map(option => {\n const { \n label, \n relatesTo\n } = option as IdxOption;\n const key = relatesTo!.key!;\n return { label, value: key };\n });\n return { ...common, options };\n }\n\n mapAuthenticator(remediationValue: IdxRemediationValue) {\n const { authenticators } = this.values;\n const { options } = remediationValue;\n const selectedOption = this.findMatchedOption(authenticators, options);\n // track the selected authenticator\n this.selectedAuthenticator = selectedOption.relatesTo;\n this.selectedOption = selectedOption;\n return {\n id: selectedOption?.value.form.value.find(({ name }) => name === 'id').value\n };\n }\n\n getInputAuthenticator() {\n return { name: 'authenticator', key: 'string' };\n }\n\n getValuesAfterProceed(): RemediationValues {\n this.values = super.getValuesAfterProceed();\n // remove used authenticators\n const authenticators = (this.values.authenticators as Authenticator[])\n .filter(authenticator => {\n return authenticator.key !== this.selectedAuthenticator!.key; \n });\n return { ...this.values, authenticators };\n }\n\n}\n"],"file":"SelectAuthenticator.js"}
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
5
  exports.VerifyAuthenticator = void 0;
6
6
 
7
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
8
+
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
8
10
 
9
11
  var _Remediator = require("./Remediator");
10
12
 
@@ -31,12 +33,22 @@ class VerifyAuthenticator extends _Remediator.Remediator {
31
33
  this.authenticator = (0, _authenticator.getAuthenticator)(remediation);
32
34
  }
33
35
 
36
+ getNextStep(context) {
37
+ var _context$authenticato;
38
+
39
+ const nextStep = super.getNextStep(context);
40
+ const authenticatorEnrollments = context === null || context === void 0 ? void 0 : (_context$authenticato = context.authenticatorEnrollments) === null || _context$authenticato === void 0 ? void 0 : _context$authenticato.value;
41
+ return { ...nextStep,
42
+ authenticatorEnrollments
43
+ };
44
+ }
45
+
34
46
  canRemediate() {
35
- return this.authenticator.canVerify(this.values);
47
+ return this.authenticator.canVerify((0, _values.default)(this));
36
48
  }
37
49
 
38
50
  mapCredentials() {
39
- return this.authenticator.mapCredentials(this.values);
51
+ return this.authenticator.mapCredentials((0, _values.default)(this));
40
52
  }
41
53
 
42
54
  getInputCredentials(input) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../lib/idx/remediators/Base/VerifyAuthenticator.ts"],"names":["VerifyAuthenticator","Remediator","constructor","remediation","values","authenticator","canRemediate","canVerify","mapCredentials","getInputCredentials","input","getInputs"],"mappings":";;;;;;;;AAaA;;AACA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAgBA;AACO,MAAMA,mBAAN,SAAkCC,sBAAlC,CAA6C;AASlDC,EAAAA,WAAW,CAACC,WAAD,EAA8BC,MAAyB,GAAG,EAA1D,EAA8D;AACvE,UAAMD,WAAN,EAAmBC,MAAnB;AADuE,+CAJnE;AACJ,qBAAe;AADX,KAImE;AAEvE,SAAKC,aAAL,GAAqB,qCAAiBF,WAAjB,CAArB;AACD;;AAEDG,EAAAA,YAAY,GAAG;AACb,WAAO,KAAKD,aAAL,CAAmBE,SAAnB,CAA6B,KAAKH,MAAlC,CAAP;AACD;;AAEDI,EAAAA,cAAc,GAAG;AACf,WAAO,KAAKH,aAAL,CAAmBG,cAAnB,CAAkC,KAAKJ,MAAvC,CAAP;AACD;;AAEDK,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB,WAAO,KAAKL,aAAL,CAAmBM,SAAnB,CAA6BD,KAA7B,CAAP;AACD;;AAxBiD","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 { getAuthenticator, Authenticator } from '../../authenticator';\nimport { IdxRemediation } from '../../types/idx-js';\n\nexport interface VerifyAuthenticatorValues extends RemediationValues {\n verificationCode?: string;\n password?: string;\n questionKey?: string;\n question?: string;\n answer?: string;\n otp?: string;\n}\n\n// Base class - DO NOT expose static remediationName\nexport class VerifyAuthenticator extends Remediator {\n\n authenticator: Authenticator;\n values!: VerifyAuthenticatorValues;\n\n map = {\n 'credentials': []\n };\n\n constructor(remediation: IdxRemediation, values: RemediationValues = {}) {\n super(remediation, values);\n this.authenticator = getAuthenticator(remediation);\n }\n\n canRemediate() {\n return this.authenticator.canVerify(this.values);\n }\n\n mapCredentials() {\n return this.authenticator.mapCredentials(this.values);\n }\n\n getInputCredentials(input) {\n return this.authenticator.getInputs(input);\n }\n\n}\n"],"file":"VerifyAuthenticator.js"}
1
+ {"version":3,"sources":["../../../../../lib/idx/remediators/Base/VerifyAuthenticator.ts"],"names":["VerifyAuthenticator","Remediator","constructor","remediation","values","authenticator","getNextStep","context","nextStep","authenticatorEnrollments","value","canRemediate","canVerify","mapCredentials","getInputCredentials","input","getInputs"],"mappings":";;;;;;;;;;AAaA;;AACA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAUA;AACO,MAAMA,mBAAN,SAAkCC,sBAAlC,CAA6C;AASlDC,EAAAA,WAAW,CAACC,WAAD,EAA8BC,MAAiC,GAAG,EAAlE,EAAsE;AAC/E,UAAMD,WAAN,EAAmBC,MAAnB;AAD+E,+CAJ3E;AACJ,qBAAe;AADX,KAI2E;AAE/E,SAAKC,aAAL,GAAqB,qCAAiBF,WAAjB,CAArB;AACD;;AAEDG,EAAAA,WAAW,CAACC,OAAD,EAAiC;AAAA;;AAC1C,UAAMC,QAAQ,GAAG,MAAMF,WAAN,CAAkBC,OAAlB,CAAjB;AACA,UAAME,wBAAwB,GAAGF,OAAH,aAAGA,OAAH,gDAAGA,OAAO,CAAEE,wBAAZ,0DAAG,sBAAmCC,KAApE;AAEA,WAAO,EACL,GAAGF,QADE;AAELC,MAAAA;AAFK,KAAP;AAID;;AAEDE,EAAAA,YAAY,GAAG;AACb,WAAO,KAAKN,aAAL,CAAmBO,SAAnB,sBAA6B,IAA7B,EAAP;AACD;;AAEDC,EAAAA,cAAc,GAAG;AACf,WAAO,KAAKR,aAAL,CAAmBQ,cAAnB,sBAAkC,IAAlC,EAAP;AACD;;AAEDC,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB,WAAO,KAAKV,aAAL,CAAmBW,SAAnB,CAA6BD,KAA7B,CAAP;AACD;;AAlCiD","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 { getAuthenticator, Authenticator, AuthenticatorValues } from '../../authenticator';\nimport { IdxRemediation, IdxContext } from '../../types/idx-js';\nimport { NextStep } from '../../types';\n\nexport type VerifyAuthenticatorValues = AuthenticatorValues & RemediationValues;\n\n// Base class - DO NOT expose static remediationName\nexport class VerifyAuthenticator extends Remediator {\n\n authenticator: Authenticator<VerifyAuthenticatorValues>;\n values!: VerifyAuthenticatorValues;\n\n map = {\n 'credentials': []\n };\n\n constructor(remediation: IdxRemediation, values: VerifyAuthenticatorValues = {}) {\n super(remediation, values);\n this.authenticator = getAuthenticator(remediation);\n }\n\n getNextStep(context?: IdxContext): NextStep {\n const nextStep = super.getNextStep(context);\n const authenticatorEnrollments = context?.authenticatorEnrollments?.value;\n\n return {\n ...nextStep,\n authenticatorEnrollments\n };\n }\n\n canRemediate() {\n return this.authenticator.canVerify(this.values);\n }\n\n mapCredentials() {\n return this.authenticator.mapCredentials(this.values);\n }\n\n getInputCredentials(input) {\n return this.authenticator.getInputs(input);\n }\n\n}\n"],"file":"VerifyAuthenticator.js"}
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
5
  exports.ChallengeAuthenticator = void 0;
6
6
 
7
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
8
8
 
9
9
  var _VerifyAuthenticator = require("./Base/VerifyAuthenticator");
10
10
 
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
5
  exports.ChallengePoll = void 0;
6
6
 
7
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
8
8
 
9
9
  var _EnrollPoll = require("./EnrollPoll");
10
10
 
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
5
  exports.EnrollAuthenticator = void 0;
6
6
 
7
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
8
8
 
9
9
  var _VerifyAuthenticator = require("./Base/VerifyAuthenticator");
10
10
 
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
4
 
5
5
  exports.EnrollPoll = void 0;
6
6
 
7
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
8
+
9
+ var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
10
+
11
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
12
+
13
+ var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
14
+
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
8
16
 
9
17
  var _Remediator = require("./Base/Remediator");
10
18
 
@@ -21,7 +29,7 @@ var _Remediator = require("./Base/Remediator");
21
29
  */
22
30
  class EnrollPoll extends _Remediator.Remediator {
23
31
  canRemediate() {
24
- return Boolean(this.values.startPolling);
32
+ return Boolean((0, _values.default)(this).startPolling);
25
33
  }
26
34
 
27
35
  getNextStep(context) {
@@ -42,9 +50,11 @@ class EnrollPoll extends _Remediator.Remediator {
42
50
  }
43
51
 
44
52
  getValuesAfterProceed() {
45
- let trimmedValues = Object.keys(this.values).filter(valueKey => valueKey !== 'startPolling');
46
- return trimmedValues.reduce((values, valueKey) => ({ ...values,
47
- [valueKey]: this.values[valueKey]
53
+ var _context;
54
+
55
+ let trimmedValues = (0, _filter.default)(_context = (0, _keys.default)((0, _values.default)(this))).call(_context, valueKey => valueKey !== 'startPolling');
56
+ return (0, _reduce.default)(trimmedValues).call(trimmedValues, (values, valueKey) => ({ ...values,
57
+ [valueKey]: (0, _values.default)(this)[valueKey]
48
58
  }), {});
49
59
  }
50
60
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/EnrollPoll.ts"],"names":["EnrollPoll","Remediator","canRemediate","Boolean","values","startPolling","getNextStep","context","common","authenticator","getAuthenticator","currentAuthenticator","value","poll","required","refresh","remediation","getValuesAfterProceed","trimmedValues","Object","keys","filter","valueKey","reduce"],"mappings":";;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAWO,MAAMA,UAAN,SAAyBC,sBAAzB,CAAoC;AAKzCC,EAAAA,YAAY,GAAG;AACb,WAAOC,OAAO,CAAC,KAAKC,MAAL,CAAYC,YAAb,CAAd;AACD;;AAEDC,EAAAA,WAAW,CAACC,OAAD,EAAiC;AAC1C,UAAMC,MAAM,GAAG,MAAMF,WAAN,CAAkBC,OAAlB,CAAf;AACA,QAAIE,aAAa,GAAG,KAAKC,gBAAL,EAApB;;AACA,QAAI,CAACD,aAAD,IAAkBF,OAAlB,aAAkBA,OAAlB,eAAkBA,OAAO,CAAEI,oBAA/B,EAAqD;AACnDF,MAAAA,aAAa,GAAGF,OAAO,CAACI,oBAAR,CAA6BC,KAA7C;AACD;;AACD,WAAO,EACL,GAAGJ,MADE;AAELC,MAAAA,aAFK;AAGLI,MAAAA,IAAI,EAAE;AACJC,QAAAA,QAAQ,EAAE,IADN;AAEJC,QAAAA,OAAO,EAAE,KAAKC,WAAL,CAAiBD;AAFtB;AAHD,KAAP;AAQD;;AAEDE,EAAAA,qBAAqB,GAAqB;AACxC,QAAIC,aAAa,GAAGC,MAAM,CAACC,IAAP,CAAY,KAAKhB,MAAjB,EAAyBiB,MAAzB,CAAgCC,QAAQ,IAAIA,QAAQ,KAAK,cAAzD,CAApB;AACA,WAAOJ,aAAa,CAACK,MAAd,CAAqB,CAACnB,MAAD,EAASkB,QAAT,MAAuB,EAAC,GAAGlB,MAAJ;AAAY,OAACkB,QAAD,GAAY,KAAKlB,MAAL,CAAYkB,QAAZ;AAAxB,KAAvB,CAArB,EAA6F,EAA7F,CAAP;AACD;;AA5BwC;;;8BAA9BtB,U,qBACc,a","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 './Base/Remediator';\nimport { NextStep } from '../../types';\nimport { IdxContext } from '../types/idx-js';\n\nexport interface EnrollPollValues extends RemediationValues {\n startPolling?: boolean;\n}\n\nexport class EnrollPoll extends Remediator {\n static remediationName = 'enroll-poll';\n\n values!: EnrollPollValues;\n\n canRemediate() {\n return Boolean(this.values.startPolling);\n }\n\n getNextStep(context?: IdxContext): NextStep {\n const common = super.getNextStep(context);\n let authenticator = this.getAuthenticator();\n if (!authenticator && context?.currentAuthenticator) {\n authenticator = context.currentAuthenticator.value;\n }\n return {\n ...common,\n authenticator,\n poll: {\n required: true,\n refresh: this.remediation.refresh\n },\n };\n }\n\n getValuesAfterProceed(): EnrollPollValues {\n let trimmedValues = Object.keys(this.values).filter(valueKey => valueKey !== 'startPolling');\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {});\n }\n}\n"],"file":"EnrollPoll.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/EnrollPoll.ts"],"names":["EnrollPoll","Remediator","canRemediate","Boolean","startPolling","getNextStep","context","common","authenticator","getAuthenticator","currentAuthenticator","value","poll","required","refresh","remediation","getValuesAfterProceed","trimmedValues","valueKey","values"],"mappings":";;;;;;;;;;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAWO,MAAMA,UAAN,SAAyBC,sBAAzB,CAAoC;AAKzCC,EAAAA,YAAY,GAAG;AACb,WAAOC,OAAO,CAAC,2BAAYC,YAAb,CAAd;AACD;;AAEDC,EAAAA,WAAW,CAACC,OAAD,EAAiC;AAC1C,UAAMC,MAAM,GAAG,MAAMF,WAAN,CAAkBC,OAAlB,CAAf;AACA,QAAIE,aAAa,GAAG,KAAKC,gBAAL,EAApB;;AACA,QAAI,CAACD,aAAD,IAAkBF,OAAlB,aAAkBA,OAAlB,eAAkBA,OAAO,CAAEI,oBAA/B,EAAqD;AACnDF,MAAAA,aAAa,GAAGF,OAAO,CAACI,oBAAR,CAA6BC,KAA7C;AACD;;AACD,WAAO,EACL,GAAGJ,MADE;AAELC,MAAAA,aAFK;AAGLI,MAAAA,IAAI,EAAE;AACJC,QAAAA,QAAQ,EAAE,IADN;AAEJC,QAAAA,OAAO,EAAE,KAAKC,WAAL,CAAiBD;AAFtB;AAHD,KAAP;AAQD;;AAEDE,EAAAA,qBAAqB,GAAqB;AAAA;;AACxC,QAAIC,aAAa,GAAG,wEAAY,IAAZ,mBAAgCC,QAAQ,IAAIA,QAAQ,KAAK,cAAzD,CAApB;AACA,WAAO,qBAAAD,aAAa,MAAb,CAAAA,aAAa,EAAQ,CAACE,MAAD,EAASD,QAAT,MAAuB,EAAC,GAAGC,MAAJ;AAAY,OAACD,QAAD,GAAY,2BAAYA,QAAZ;AAAxB,KAAvB,CAAR,EAAgF,EAAhF,CAApB;AACD;;AA5BwC;;;8BAA9BlB,U,qBACc,a","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 './Base/Remediator';\nimport { NextStep } from '../../types';\nimport { IdxContext } from '../types/idx-js';\n\nexport interface EnrollPollValues extends RemediationValues {\n startPolling?: boolean;\n}\n\nexport class EnrollPoll extends Remediator {\n static remediationName = 'enroll-poll';\n\n values!: EnrollPollValues;\n\n canRemediate() {\n return Boolean(this.values.startPolling);\n }\n\n getNextStep(context?: IdxContext): NextStep {\n const common = super.getNextStep(context);\n let authenticator = this.getAuthenticator();\n if (!authenticator && context?.currentAuthenticator) {\n authenticator = context.currentAuthenticator.value;\n }\n return {\n ...common,\n authenticator,\n poll: {\n required: true,\n refresh: this.remediation.refresh\n },\n };\n }\n\n getValuesAfterProceed(): EnrollPollValues {\n let trimmedValues = Object.keys(this.values).filter(valueKey => valueKey !== 'startPolling');\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {});\n }\n}\n"],"file":"EnrollPoll.js"}