@okta/okta-auth-js 6.3.2 → 6.4.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 (151) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +6 -0
  3. package/cjs/AuthStateManager.js +1 -0
  4. package/cjs/AuthStateManager.js.map +1 -1
  5. package/cjs/OktaAuth.js +10 -11
  6. package/cjs/OktaAuth.js.map +1 -1
  7. package/cjs/OktaUserAgent.js +2 -2
  8. package/cjs/TokenManager.js.map +1 -1
  9. package/cjs/crypto/verifyToken.js +2 -1
  10. package/cjs/crypto/verifyToken.js.map +1 -1
  11. package/cjs/errors/AuthApiError.js.map +1 -1
  12. package/cjs/errors/OAuthError.js +7 -1
  13. package/cjs/errors/OAuthError.js.map +1 -1
  14. package/cjs/fetch/fetchRequest.js +17 -3
  15. package/cjs/fetch/fetchRequest.js.map +1 -1
  16. package/cjs/http/request.js +7 -3
  17. package/cjs/http/request.js.map +1 -1
  18. package/cjs/idx/idxState/index.js +55 -0
  19. package/cjs/idx/idxState/index.js.map +1 -0
  20. package/cjs/idx/{idx-js → idxState}/v1/actionParser.js +1 -0
  21. package/cjs/idx/idxState/v1/actionParser.js.map +1 -0
  22. package/cjs/idx/{idx-js → idxState}/v1/generateIdxAction.js +43 -30
  23. package/cjs/idx/idxState/v1/generateIdxAction.js.map +1 -0
  24. package/cjs/idx/{idx-js → idxState}/v1/idxResponseParser.js +8 -8
  25. package/cjs/idx/idxState/v1/idxResponseParser.js.map +1 -0
  26. package/cjs/idx/{idx-js → idxState}/v1/makeIdxState.js +3 -2
  27. package/cjs/idx/idxState/v1/makeIdxState.js.map +1 -0
  28. package/cjs/idx/{idx-js → idxState}/v1/parsers.js +1 -0
  29. package/cjs/idx/idxState/v1/parsers.js.map +1 -0
  30. package/cjs/idx/{idx-js → idxState}/v1/remediationParser.js +4 -2
  31. package/cjs/idx/idxState/v1/remediationParser.js.map +1 -0
  32. package/cjs/idx/interact.js +42 -21
  33. package/cjs/idx/interact.js.map +1 -1
  34. package/cjs/idx/introspect.js +37 -12
  35. package/cjs/idx/introspect.js.map +1 -1
  36. package/cjs/idx/remediate.js +56 -132
  37. package/cjs/idx/remediate.js.map +1 -1
  38. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
  39. package/cjs/idx/remediators/AuthenticatorVerificationData.js +7 -6
  40. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  41. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  42. package/cjs/idx/remediators/Base/Remediator.js +12 -2
  43. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  44. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  45. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  46. package/cjs/idx/remediators/ChallengeAuthenticator.js.map +1 -1
  47. package/cjs/idx/remediators/EnrollAuthenticator.js.map +1 -1
  48. package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
  49. package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
  50. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -1
  51. package/cjs/idx/remediators/Identify.js.map +1 -1
  52. package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
  53. package/cjs/idx/remediators/ResetAuthenticator.js.map +1 -1
  54. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
  55. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -1
  56. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -1
  57. package/cjs/idx/remediators/SelectEnrollProfile.js.map +1 -1
  58. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
  59. package/cjs/idx/remediators/Skip.js.map +1 -1
  60. package/cjs/idx/run.js +16 -12
  61. package/cjs/idx/run.js.map +1 -1
  62. package/cjs/idx/types/idx-js.js +2 -0
  63. package/cjs/idx/types/idx-js.js.map +1 -1
  64. package/cjs/idx/types/index.js +0 -138
  65. package/cjs/idx/types/index.js.map +1 -1
  66. package/cjs/idx/util.js +127 -5
  67. package/cjs/idx/util.js.map +1 -1
  68. package/cjs/server/serverStorage.js +1 -0
  69. package/cjs/server/serverStorage.js.map +1 -1
  70. package/cjs/tx/AuthTransaction.js.map +1 -1
  71. package/cjs/types/Token.js +0 -1
  72. package/cjs/types/Token.js.map +1 -1
  73. package/cjs/util/object.js.map +1 -1
  74. package/cjs/util/types.js.map +1 -1
  75. package/dist/okta-auth-js.min.js +1 -1
  76. package/dist/okta-auth-js.min.js.map +1 -1
  77. package/dist/okta-auth-js.umd.js +1 -1
  78. package/dist/okta-auth-js.umd.js.map +1 -1
  79. package/esm/esm.browser.js +599 -684
  80. package/esm/esm.browser.js.map +1 -1
  81. package/esm/esm.node.mjs +599 -684
  82. package/esm/esm.node.mjs.map +1 -1
  83. package/lib/TokenManager.d.ts +2 -2
  84. package/lib/errors/OAuthError.d.ts +2 -0
  85. package/lib/idx/flow/RemediationFlow.d.ts +2 -2
  86. package/lib/idx/idxState/index.d.ts +7 -0
  87. package/lib/idx/{idx-js → idxState}/v1/actionParser.d.ts +0 -0
  88. package/lib/idx/{idx-js → idxState}/v1/generateIdxAction.d.ts +3 -1
  89. package/lib/idx/{idx-js → idxState}/v1/idxResponseParser.d.ts +3 -2
  90. package/lib/idx/{idx-js → idxState}/v1/makeIdxState.d.ts +3 -2
  91. package/lib/idx/{idx-js → idxState}/v1/parsers.d.ts +0 -0
  92. package/lib/idx/{idx-js → idxState}/v1/remediationParser.d.ts +2 -1
  93. package/lib/idx/interact.d.ts +22 -0
  94. package/lib/idx/remediate.d.ts +9 -12
  95. package/lib/idx/remediators/AuthenticatorEnrollmentData.d.ts +1 -2
  96. package/lib/idx/remediators/AuthenticatorVerificationData.d.ts +3 -3
  97. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +3 -4
  98. package/lib/idx/remediators/Base/Remediator.d.ts +8 -4
  99. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +2 -3
  100. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +3 -4
  101. package/lib/idx/remediators/ChallengeAuthenticator.d.ts +1 -2
  102. package/lib/idx/remediators/EnrollAuthenticator.d.ts +1 -2
  103. package/lib/idx/remediators/EnrollPoll.d.ts +1 -2
  104. package/lib/idx/remediators/EnrollProfile.d.ts +1 -2
  105. package/lib/idx/remediators/EnrollmentChannelData.d.ts +1 -2
  106. package/lib/idx/remediators/Identify.d.ts +1 -2
  107. package/lib/idx/remediators/ReEnrollAuthenticator.d.ts +1 -2
  108. package/lib/idx/remediators/ResetAuthenticator.d.ts +1 -2
  109. package/lib/idx/remediators/SelectAuthenticatorAuthenticate.d.ts +1 -2
  110. package/lib/idx/remediators/SelectAuthenticatorEnroll.d.ts +1 -2
  111. package/lib/idx/remediators/SelectAuthenticatorUnlockAccount.d.ts +1 -2
  112. package/lib/idx/remediators/SelectEnrollProfile.d.ts +1 -2
  113. package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +1 -2
  114. package/lib/idx/remediators/Skip.d.ts +1 -2
  115. package/lib/idx/types/idx-js.d.ts +5 -2
  116. package/lib/idx/types/index.d.ts +26 -17
  117. package/lib/idx/util.d.ts +7 -4
  118. package/lib/types/EventEmitter.d.ts +3 -3
  119. package/lib/types/Service.d.ts +6 -6
  120. package/lib/types/Storage.d.ts +6 -6
  121. package/lib/types/TokenManager.d.ts +5 -2
  122. package/lib/types/UserClaims.d.ts +1 -1
  123. package/lib/util/types.d.ts +1 -1
  124. package/package.json +9 -10
  125. package/cjs/idx/headers.js +0 -59
  126. package/cjs/idx/headers.js.map +0 -1
  127. package/cjs/idx/idx-js/client.js +0 -91
  128. package/cjs/idx/idx-js/client.js.map +0 -1
  129. package/cjs/idx/idx-js/index.js +0 -40
  130. package/cjs/idx/idx-js/index.js.map +0 -1
  131. package/cjs/idx/idx-js/interact.js +0 -83
  132. package/cjs/idx/idx-js/interact.js.map +0 -1
  133. package/cjs/idx/idx-js/introspect.js +0 -62
  134. package/cjs/idx/idx-js/introspect.js.map +0 -1
  135. package/cjs/idx/idx-js/parsers.js +0 -41
  136. package/cjs/idx/idx-js/parsers.js.map +0 -1
  137. package/cjs/idx/idx-js/util.js +0 -34
  138. package/cjs/idx/idx-js/util.js.map +0 -1
  139. package/cjs/idx/idx-js/v1/actionParser.js.map +0 -1
  140. package/cjs/idx/idx-js/v1/generateIdxAction.js.map +0 -1
  141. package/cjs/idx/idx-js/v1/idxResponseParser.js.map +0 -1
  142. package/cjs/idx/idx-js/v1/makeIdxState.js.map +0 -1
  143. package/cjs/idx/idx-js/v1/parsers.js.map +0 -1
  144. package/cjs/idx/idx-js/v1/remediationParser.js.map +0 -1
  145. package/lib/idx/headers.d.ts +0 -16
  146. package/lib/idx/idx-js/client.d.ts +0 -36
  147. package/lib/idx/idx-js/index.d.ts +0 -35
  148. package/lib/idx/idx-js/interact.d.ts +0 -25
  149. package/lib/idx/idx-js/introspect.d.ts +0 -21
  150. package/lib/idx/idx-js/parsers.d.ts +0 -15
  151. package/lib/idx/idx-js/util.d.ts +0 -12
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/AuthenticatorVerificationData.ts"],"names":["AuthenticatorVerificationData","AuthenticatorData","constructor","remediation","values","shouldProceedWithEmailAuthenticator","authenticator","methods","length","type","canRemediate","mapAuthenticator","authenticatorFromRemediation","getAuthenticatorFromRemediation","form","value","acc","curr","name","options","AuthSdkError","getAuthenticatorData","getInputAuthenticator","methodType","required","inputs","getValuesAfterProceed","trimmedValues","valueKey"],"mappings":";;;;;;;;;;;;;;;;;;AAcA;;AACA;;AAfA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASO,MAAMA,6BAAN,SAA4CC,oCAA5C,CAA8D;AAMnEC,EAAAA,WAAW,CAACC,WAAD,EAA8BC,MAA+B,GAAG,EAAhE,EAAoE;AAC7E,UAAMD,WAAN,EAAmBC,MAAnB,EAD6E,CAG7E;;AACA,SAAKC,mCAAL,GAA2C,KAAKC,aAAL,CAAmBC,OAAnB,CAA2BC,MAA3B,KAAsC,CAAtC,IACtC,KAAKF,aAAL,CAAmBC,OAAnB,CAA2B,CAA3B,EAA8BE,IAA9B,KAAuC,OAD5C;AAED;;AAEDC,EAAAA,YAAY,GAAG;AACb;AACA,QAAI,KAAKL,mCAAT,EAA8C;AAC5C,aAAO,IAAP;AACD;;AACD,WAAO,MAAMK,YAAN,EAAP;AACD;;AAEDC,EAAAA,gBAAgB,GAAG;AACjB;AACA,QAAI,KAAKN,mCAAT,EAA8C;AAAA;;AAC5C,YAAMO,4BAA4B,GAAG,KAAKC,+BAAL,EAArC;AACA,sCAAOD,4BAA4B,CAACE,IAApC,0DAAO,sDAAmCC,KAAnC,iBAAgD,CAACC,GAAD,EAAMC,IAAN,KAAe;AACpE,YAAIA,IAAI,CAACF,KAAT,EAAgB;AACdC,UAAAA,GAAG,CAACC,IAAI,CAACC,IAAN,CAAH,GAAiBD,IAAI,CAACF,KAAtB;AACD,SAFD,MAEO,IAAIE,IAAI,CAACE,OAAT,EAAkB;AACvBH,UAAAA,GAAG,CAACC,IAAI,CAACC,IAAN,CAAH,GAAiBD,IAAI,CAACE,OAAL,CAAc,CAAd,EAAiBJ,KAAlC;AACD,SAFM,MAEA;AACL,gBAAM,IAAIK,oBAAJ,CAAkB,wCAAuCH,IAAK,EAA9D,CAAN;AACD;;AACD,eAAOD,GAAP;AACD,OATM,EASJ,EATI,CAAP;AAUD;;AAED,WAAO,KAAKK,oBAAL,EAAP;AACD;;AAEDC,EAAAA,qBAAqB,GAAG;AAAA;;AACtB,UAAMhB,aAAa,GAAG,KAAKO,+BAAL,EAAtB;AACA,UAAMU,UAAU,GAAG,+BAAAjB,aAAa,CAACQ,IAAd,CAAoBC,KAApB,kBAA+B,CAAC;AAAEG,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,YAAtD,CAAnB,CAFsB,CAGtB;;AACA,QAAIK,UAAU,IAAIA,UAAU,CAACJ,OAA7B,EAAsC;AACpC,aAAO;AAAED,QAAAA,IAAI,EAAE,YAAR;AAAsBT,QAAAA,IAAI,EAAE,QAA5B;AAAsCe,QAAAA,QAAQ,EAAE;AAAhD,OAAP;AACD,KANqB,CAOtB;;;AACA,UAAMC,MAAM,GAAG,CAAC,GAAGnB,aAAa,CAACQ,IAAd,CAAoBC,KAAxB,CAAf;AACA,WAAOU,MAAP;AACD;;AAEDC,EAAAA,qBAAqB,GAAwC;AAAA;;AAC3D,SAAKtB,MAAL,GAAc,MAAMsB,qBAAN,EAAd;AACA,QAAIC,aAAa,GAAG,yEAAY,IAAZ,oBAAgCC,QAAQ,IAAIA,QAAQ,KAAK,eAAzD,CAApB;AACA,WAAO,qBAAAD,aAAa,MAAb,CAAAA,aAAa,EAAQ,CAACvB,MAAD,EAASwB,QAAT,MAAuB,EAAC,GAAGxB,MAAJ;AAAY,OAACwB,QAAD,GAAY,2BAAYA,QAAZ;AAAxB,KAAvB,CAAR,EAAgF,EAAhF,CAApB;AACD;;AAzDkE;;;8BAAxD5B,6B,qBACc,iC","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 { AuthSdkError } from '../../errors';\nimport { AuthenticatorData, AuthenticatorDataValues } from './Base/AuthenticatorData';\nimport { IdxRemediation } from '../types/idx-js';\n\nexport type AuthenticatorVerificationDataValues = AuthenticatorDataValues;\n\nexport class AuthenticatorVerificationData extends AuthenticatorData {\n static remediationName = 'authenticator-verification-data';\n\n values!: AuthenticatorVerificationDataValues;\n shouldProceedWithEmailAuthenticator: boolean;\n\n constructor(remediation: IdxRemediation, values: AuthenticatorDataValues = {}) {\n super(remediation, values);\n\n // TODO: extend this feature to all authenticators\n this.shouldProceedWithEmailAuthenticator = this.authenticator.methods.length === 1 \n && this.authenticator.methods[0].type === 'email';\n }\n\n canRemediate() {\n // auto proceed if there is only one method\n if (this.shouldProceedWithEmailAuthenticator) {\n return true;\n }\n return super.canRemediate();\n }\n\n mapAuthenticator() {\n // auto proceed with the only methodType option\n if (this.shouldProceedWithEmailAuthenticator) {\n const authenticatorFromRemediation = this.getAuthenticatorFromRemediation();\n return authenticatorFromRemediation.form?.value.reduce((acc, curr) => {\n if (curr.value) {\n acc[curr.name] = curr.value;\n } else if (curr.options) {\n acc[curr.name] = curr.options![0].value;\n } else {\n throw new AuthSdkError(`Unsupported authenticator data type: ${curr}`);\n }\n return acc;\n }, {});\n }\n\n return this.getAuthenticatorData();\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 getValuesAfterProceed(): AuthenticatorVerificationDataValues {\n this.values = super.getValuesAfterProceed();\n let trimmedValues = Object.keys(this.values).filter(valueKey => valueKey !== 'authenticator');\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {});\n }\n}\n"],"file":"AuthenticatorVerificationData.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/AuthenticatorVerificationData.ts"],"names":["AuthenticatorVerificationData","AuthenticatorData","constructor","remediation","values","options","shouldProceedWithEmailAuthenticator","authenticator","methods","length","type","canRemediate","mapAuthenticator","authenticatorFromRemediation","getAuthenticatorFromRemediation","form","value","acc","curr","name","AuthSdkError","getAuthenticatorData","getInputAuthenticator","methodType","required","inputs","getValuesAfterProceed","trimmedValues","valueKey"],"mappings":";;;;;;;;;;;;;;;;;;AAcA;;AACA;;AAfA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAUO,MAAMA,6BAAN,SAA4CC,oCAA5C,CAAmG;AAG1D;AAE9CC,EAAAA,WAAW,CAACC,WAAD,EAA8BC,MAA+B,GAAG,EAAhE,EAAoEC,OAAyB,GAAG,EAAhG,EAAoG;AAC7G,UAAMF,WAAN,EAAmBC,MAAnB,EAD6G,CAG7G;;AACA,SAAKE,mCAAL,GAA2CD,OAAO,CAACC,mCAAR,KAAgD,KAAhD,IACtC,KAAKC,aAAL,CAAmBC,OAAnB,CAA2BC,MAA3B,KAAsC,CADA,IAEtC,KAAKF,aAAL,CAAmBC,OAAnB,CAA2B,CAA3B,EAA8BE,IAA9B,KAAuC,OAF5C;AAGD;;AAEDC,EAAAA,YAAY,GAAG;AACb;AACA,QAAI,KAAKL,mCAAL,KAA6C,KAAjD,EAAwD;AACtD,aAAO,IAAP;AACD;;AACD,WAAO,MAAMK,YAAN,EAAP;AACD;;AAEDC,EAAAA,gBAAgB,GAAG;AACjB;AACA,QAAI,KAAKN,mCAAL,KAA6C,KAAjD,EAAwD;AAAA;;AACtD,YAAMO,4BAA4B,GAAG,KAAKC,+BAAL,EAArC;AACA,sCAAOD,4BAA4B,CAACE,IAApC,0DAAO,sDAAmCC,KAAnC,iBAAgD,CAACC,GAAD,EAAMC,IAAN,KAAe;AACpE,YAAIA,IAAI,CAACF,KAAT,EAAgB;AACdC,UAAAA,GAAG,CAACC,IAAI,CAACC,IAAN,CAAH,GAAiBD,IAAI,CAACF,KAAtB;AACD,SAFD,MAEO,IAAIE,IAAI,CAACb,OAAT,EAAkB;AACvBY,UAAAA,GAAG,CAACC,IAAI,CAACC,IAAN,CAAH,GAAiBD,IAAI,CAACb,OAAL,CAAc,CAAd,EAAiBW,KAAlC;AACD,SAFM,MAEA;AACL,gBAAM,IAAII,oBAAJ,CAAkB,wCAAuCF,IAAK,EAA9D,CAAN;AACD;;AACD,eAAOD,GAAP;AACD,OATM,EASJ,EATI,CAAP;AAUD;;AAED,WAAO,KAAKI,oBAAL,EAAP;AACD;;AAEDC,EAAAA,qBAAqB,GAAG;AAAA;;AACtB,UAAMf,aAAa,GAAG,KAAKO,+BAAL,EAAtB;AACA,UAAMS,UAAU,GAAG,+BAAAhB,aAAa,CAACQ,IAAd,CAAoBC,KAApB,kBAA+B,CAAC;AAAEG,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,YAAtD,CAAnB,CAFsB,CAGtB;;AACA,QAAII,UAAU,IAAIA,UAAU,CAAClB,OAA7B,EAAsC;AACpC,aAAO;AAAEc,QAAAA,IAAI,EAAE,YAAR;AAAsBT,QAAAA,IAAI,EAAE,QAA5B;AAAsCc,QAAAA,QAAQ,EAAE;AAAhD,OAAP;AACD,KANqB,CAOtB;;;AACA,UAAMC,MAAM,GAAG,CAAC,GAAGlB,aAAa,CAACQ,IAAd,CAAoBC,KAAxB,CAAf;AACA,WAAOS,MAAP;AACD;;AAEDC,EAAAA,qBAAqB,GAAwC;AAAA;;AAC3D,SAAKtB,MAAL,GAAc,MAAMsB,qBAAN,EAAd;AACA,QAAIC,aAAa,GAAG,yEAAY,IAAZ,oBAAgCC,QAAQ,IAAIA,QAAQ,KAAK,eAAzD,CAApB;AACA,WAAO,qBAAAD,aAAa,MAAb,CAAAA,aAAa,EAAQ,CAACvB,MAAD,EAASwB,QAAT,MAAuB,EAAC,GAAGxB,MAAJ;AAAY,OAACwB,QAAD,GAAY,2BAAYA,QAAZ;AAAxB,KAAvB,CAAR,EAAgF,EAAhF,CAApB;AACD;;AAzDuG;;;8BAA7F5B,6B,qBACc,iC","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 { AuthSdkError } from '../../errors';\nimport { AuthenticatorData, AuthenticatorDataValues } from './Base/AuthenticatorData';\nimport { IdxRemediation } from '../types/idx-js';\nimport { RemediateOptions } from '../remediate';\n\nexport type AuthenticatorVerificationDataValues = AuthenticatorDataValues;\n\nexport class AuthenticatorVerificationData extends AuthenticatorData<AuthenticatorVerificationDataValues> {\n static remediationName = 'authenticator-verification-data';\n\n shouldProceedWithEmailAuthenticator: boolean; // will be removed in next major version\n\n constructor(remediation: IdxRemediation, values: AuthenticatorDataValues = {}, options: RemediateOptions = {}) {\n super(remediation, values);\n\n // will be removed in next major version\n this.shouldProceedWithEmailAuthenticator = options.shouldProceedWithEmailAuthenticator !== false\n && this.authenticator.methods.length === 1 \n && this.authenticator.methods[0].type === 'email';\n }\n\n canRemediate() {\n // auto proceed if there is only one method (will be removed in next major version)\n if (this.shouldProceedWithEmailAuthenticator !== false) {\n return true;\n }\n return super.canRemediate();\n }\n\n mapAuthenticator() {\n // auto proceed with the only methodType option\n if (this.shouldProceedWithEmailAuthenticator !== false) {\n const authenticatorFromRemediation = this.getAuthenticatorFromRemediation();\n return authenticatorFromRemediation.form?.value.reduce((acc, curr) => {\n if (curr.value) {\n acc[curr.name] = curr.value;\n } else if (curr.options) {\n acc[curr.name] = curr.options![0].value;\n } else {\n throw new AuthSdkError(`Unsupported authenticator data type: ${curr}`);\n }\n return acc;\n }, {});\n }\n\n return this.getAuthenticatorData();\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 getValuesAfterProceed(): AuthenticatorVerificationDataValues {\n this.values = super.getValuesAfterProceed();\n let trimmedValues = Object.keys(this.values).filter(valueKey => valueKey !== 'authenticator');\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {});\n }\n}\n"],"file":"AuthenticatorVerificationData.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../lib/idx/remediators/Base/AuthenticatorData.ts"],"names":["AuthenticatorData","Remediator","constructor","remediation","values","authenticator","getAuthenticator","formatAuthenticatorData","authenticatorData","getAuthenticatorData","authenticatorsData","data","mapAuthenticatorDataFromValues","push","canRemediate","some","getNextStep","common","options","getMethodTypes","methodType","id","enrollmentId","getAuthenticatorFromRemediation","value","name","form","getValuesAfterProceed"],"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 { IdxRemediationValue, IdxOption, IdxRemediation, IdxAuthenticator } from '../../types/idx-js';\nimport { isAuthenticator } from '../../types';\nimport { compareAuthenticators } from '../../authenticator/util';\n\nexport type AuthenticatorDataValues = RemediationValues & {\n methodType?: string;\n};\n\n// Base class - DO NOT expose static remediationName\nexport class AuthenticatorData extends Remediator {\n values!: AuthenticatorDataValues;\n authenticator: IdxAuthenticator;\n\n constructor(remediation: IdxRemediation, values: AuthenticatorDataValues = {}) {\n super(remediation, values);\n\n // set before other data calculation\n this.authenticator = this.getAuthenticator()!;\n\n this.formatAuthenticatorData();\n }\n\n protected formatAuthenticatorData() {\n const authenticatorData = this.getAuthenticatorData();\n if (authenticatorData) {\n this.values.authenticatorsData = this.values.authenticatorsData!.map(data => {\n if (compareAuthenticators(this.authenticator, data)) {\n return this.mapAuthenticatorDataFromValues(data);\n }\n return data;\n });\n } else {\n const data = this.mapAuthenticatorDataFromValues();\n if (data) {\n this.values.authenticatorsData!.push(data);\n }\n }\n }\n\n protected getAuthenticatorData() {\n return this.values.authenticatorsData!\n .find((data) => compareAuthenticators(this.authenticator, data));\n }\n\n canRemediate() {\n return this.values.authenticatorsData!\n .some(data => compareAuthenticators(this.authenticator, data));\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 protected mapAuthenticatorDataFromValues(authenticatorData?) {\n // add methodType to authenticatorData if it exists in values\n let { methodType, authenticator } = this.values;\n if (!methodType && isAuthenticator(authenticator)) {\n methodType = authenticator?.methodType;\n }\n \n const { id, enrollmentId } = this.authenticator;\n const data = { \n id,\n enrollmentId,\n ...(authenticatorData && authenticatorData),\n ...(methodType && { methodType }) \n };\n\n return data.methodType ? data : null;\n }\n\n protected getAuthenticatorFromRemediation(): IdxRemediationValue {\n const authenticator = this.remediation.value!\n .find(({ name }) => name === 'authenticator') as IdxRemediationValue;\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 as IdxOption[];\n }\n\n getValuesAfterProceed(): RemediationValues {\n this.values = super.getValuesAfterProceed();\n // remove used authenticatorData\n const authenticatorsData = this.values.authenticatorsData!\n .filter(data => compareAuthenticators(this.authenticator, data) !== true);\n return { ...this.values, authenticatorsData };\n }\n}\n"],"file":"AuthenticatorData.js"}
1
+ {"version":3,"sources":["../../../../../lib/idx/remediators/Base/AuthenticatorData.ts"],"names":["AuthenticatorData","Remediator","constructor","remediation","values","authenticator","getAuthenticator","formatAuthenticatorData","authenticatorData","getAuthenticatorData","authenticatorsData","data","mapAuthenticatorDataFromValues","push","canRemediate","some","getNextStep","common","options","getMethodTypes","methodType","id","enrollmentId","getAuthenticatorFromRemediation","value","name","form","getValuesAfterProceed"],"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 { IdxRemediationValue, IdxOption, IdxRemediation, IdxAuthenticator } from '../../types/idx-js';\nimport { isAuthenticator } from '../../types';\nimport { compareAuthenticators } from '../../authenticator/util';\n\nexport type AuthenticatorDataValues = RemediationValues & {\n methodType?: string;\n};\n\n// Base class - DO NOT expose static remediationName\nexport class AuthenticatorData<T extends AuthenticatorDataValues = AuthenticatorDataValues> extends Remediator<T> {\n authenticator: IdxAuthenticator;\n\n constructor(remediation: IdxRemediation, values: T = {} as T) {\n super(remediation, values);\n\n // set before other data calculation\n this.authenticator = this.getAuthenticator()!;\n\n this.formatAuthenticatorData();\n }\n\n protected formatAuthenticatorData() {\n const authenticatorData = this.getAuthenticatorData();\n if (authenticatorData) {\n this.values.authenticatorsData = this.values.authenticatorsData!.map(data => {\n if (compareAuthenticators(this.authenticator, data)) {\n return this.mapAuthenticatorDataFromValues(data);\n }\n return data;\n });\n } else {\n const data = this.mapAuthenticatorDataFromValues();\n if (data) {\n this.values.authenticatorsData!.push(data);\n }\n }\n }\n\n protected getAuthenticatorData() {\n return this.values.authenticatorsData!\n .find((data) => compareAuthenticators(this.authenticator, data));\n }\n\n canRemediate() {\n return this.values.authenticatorsData!\n .some(data => compareAuthenticators(this.authenticator, data));\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 protected mapAuthenticatorDataFromValues(authenticatorData?) {\n // add methodType to authenticatorData if it exists in values\n let { methodType, authenticator } = this.values;\n if (!methodType && isAuthenticator(authenticator)) {\n methodType = authenticator?.methodType;\n }\n \n const { id, enrollmentId } = this.authenticator;\n const data = { \n id,\n enrollmentId,\n ...(authenticatorData && authenticatorData),\n ...(methodType && { methodType }) \n };\n\n return data.methodType ? data : null;\n }\n\n protected getAuthenticatorFromRemediation(): IdxRemediationValue {\n const authenticator = this.remediation.value!\n .find(({ name }) => name === 'authenticator') as IdxRemediationValue;\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 as IdxOption[];\n }\n\n getValuesAfterProceed(): T {\n this.values = super.getValuesAfterProceed();\n // remove used authenticatorData\n const authenticatorsData = this.values.authenticatorsData!\n .filter(data => compareAuthenticators(this.authenticator, data) !== true);\n return { ...this.values, authenticatorsData };\n }\n}\n"],"file":"AuthenticatorData.js"}
@@ -176,7 +176,8 @@ class Remediator {
176
176
  let {
177
177
  name,
178
178
  type,
179
- visible
179
+ visible,
180
+ messages
180
181
  } = inputFromRemediation;
181
182
 
182
183
  if (visible === false) {
@@ -215,6 +216,11 @@ class Remediator {
215
216
  if (Array.isArray(input)) {
216
217
  input.forEach(i => inputs.push(i));
217
218
  } else {
219
+ // guarantees field-level messages are passed back
220
+ if (messages) {
221
+ input.messages = messages;
222
+ }
223
+
218
224
  inputs.push(input);
219
225
  }
220
226
  });
@@ -241,7 +247,11 @@ class Remediator {
241
247
 
242
248
 
243
249
  getValuesAfterProceed() {
244
- const inputs = this.getInputs();
250
+ const inputsFromRemediation = this.remediation.value || []; // "raw" inputs from server response
251
+
252
+ const inputsFromRemediator = this.getInputs(); // "aliased" inputs from SDK remediator
253
+
254
+ const inputs = [...inputsFromRemediation, ...inputsFromRemediator]; // scrub all values related to this remediation
245
255
 
246
256
  for (const input of inputs) {
247
257
  delete (0, _values.default)(this)[input.name];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../lib/idx/remediators/Base/Remediator.ts"],"names":["Remediator","constructor","remediation","values","options","formatAuthenticators","authenticators","authenticator","hasAuthenticatorInList","some","existing","push","authenticatorsData","acc","length","getName","name","canRemediate","required","needed","key","hasData","getData","allValues","res","data","val","value","entry","i","getNextStep","_context","inputs","getInputs","getAuthenticator","type","inputsFromRemediation","forEach","inputFromRemediation","input","visible","alias","aliases","Array","isArray","getMessages","form","messages","field","getValuesAfterProceed","relatesTo","authenticatorFromRemediation","id","enrollmentId"],"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 { NextStep, IdxMessage, Authenticator, Input, IdxOptions, RemediateOptions } from '../../types';\nimport { IdxAuthenticator, IdxRemediation, IdxContext } from '../../types/idx-js';\nimport { getAllValues, getRequiredValues, titleCase, getAuthenticatorFromRemediation } from '../util';\nimport { formatAuthenticator, compareAuthenticators } from '../../authenticator/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 | Authenticator;\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 options: RemediateOptions;\n map?: IdxToRemediationValueMap;\n\n constructor(remediation: IdxRemediation, values: RemediationValues = {}, options: RemediateOptions = {}) {\n // assign fields to the instance\n this.values = { ...values };\n this.options = { ...options };\n this.formatAuthenticators();\n this.remediation = remediation;\n }\n\n private formatAuthenticators() {\n this.values.authenticators = (this.values.authenticators || []) as Authenticator[];\n\n // ensure authenticators are in the correct format\n this.values.authenticators = this.values.authenticators.map(authenticator => {\n return formatAuthenticator(authenticator);\n });\n\n // add authenticator (if any) to \"authenticators\"\n if (this.values.authenticator) {\n const authenticator = formatAuthenticator(this.values.authenticator);\n const hasAuthenticatorInList = this.values.authenticators.some(existing => {\n return compareAuthenticators(authenticator, existing);\n });\n if (!hasAuthenticatorInList) {\n this.values.authenticators.push(authenticator);\n }\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 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 const val = this[`map${titleCase(key)}`](\n this.remediation.value!.find(({name}) => name === key)\n );\n if (val) {\n return val;\n }\n }\n\n // If a map is defined for this key, return the first aliased property that returns a truthy value\n if (this.map && this.map[key]) {\n const entry = this.map[key];\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 // fallback: return the value by key\n return this.values[key];\n }\n\n hasData(\n key: string // idx name\n ): boolean \n {\n // no attempt to format, we want simple true/false\n return !!this.getData(key);\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 const inputs: Input[] = [];\n const inputsFromRemediation = this.remediation.value || [];\n inputsFromRemediation.forEach(inputFromRemediation => {\n let input;\n let { name, type, visible } = inputFromRemediation;\n if (visible === false) {\n return; // Filter out invisible inputs, like stateHandle\n }\n if (typeof this[`getInput${titleCase(name)}`] === 'function') {\n input = this[`getInput${titleCase(name)}`](inputFromRemediation);\n } else if (type !== 'object') {\n // handle general primitive types\n let alias;\n const aliases = (this.map ? this.map[name] : null) || [];\n if (aliases.length === 1) {\n alias = aliases[0];\n } else {\n // try find key from values\n alias = aliases.find(name => Object.keys(this.values).includes(name));\n }\n if (alias) {\n input = { ...inputFromRemediation, name: alias };\n }\n }\n if (!input) {\n input = inputFromRemediation;\n }\n if (Array.isArray(input)) {\n input.forEach(i => inputs.push(i));\n } else {\n inputs.push(input);\n }\n });\n return inputs;\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: IdxMessage[], field) => {\n if (field.messages) {\n messages = [...messages, ...field.messages.value];\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 // relatesTo value may be an authenticator or an authenticatorEnrollment\n const relatesTo = this.remediation.relatesTo?.value;\n if (!relatesTo) {\n return;\n }\n\n const authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);\n if (!authenticatorFromRemediation) {\n // Hopefully value is an authenticator\n return relatesTo;\n }\n\n // If relatesTo is an authenticatorEnrollment, the id is actually the enrollmentId\n // Let's get the correct authenticator id from the form value\n const id = authenticatorFromRemediation.form!.value\n .find(({ name }) => name === 'id')!.value as string;\n const enrollmentId = authenticatorFromRemediation.form!.value\n .find(({ name }) => name === 'enrollmentId')?.value as string;\n\n return {\n ...relatesTo,\n id,\n enrollmentId\n };\n }\n}\n"],"file":"Remediator.js"}
1
+ {"version":3,"sources":["../../../../../lib/idx/remediators/Base/Remediator.ts"],"names":["Remediator","constructor","remediation","values","options","formatAuthenticators","authenticators","authenticator","hasAuthenticatorInList","some","existing","push","authenticatorsData","acc","length","getName","name","canRemediate","required","needed","key","hasData","getData","allValues","res","data","val","value","entry","i","getNextStep","_context","inputs","getInputs","getAuthenticator","type","inputsFromRemediation","forEach","inputFromRemediation","input","visible","messages","alias","aliases","Array","isArray","getMessages","form","field","getValuesAfterProceed","inputsFromRemediator","relatesTo","authenticatorFromRemediation","id","enrollmentId"],"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 { NextStep, IdxMessage, Authenticator, Input, IdxOptions, RemediateOptions } from '../../types';\nimport { IdxAuthenticator, IdxRemediation, IdxContext } from '../../types/idx-js';\nimport { getAllValues, getRequiredValues, titleCase, getAuthenticatorFromRemediation } from '../util';\nimport { formatAuthenticator, compareAuthenticators } from '../../authenticator/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 | Authenticator;\n authenticatorsData?: Authenticator[];\n resend?: boolean;\n}\n\nexport interface RemediatorConstructor {\n new<T extends RemediationValues>(remediation: IdxRemediation, values?: T, options?: RemediateOptions): any;\n}\n\n// Base class - DO NOT expose static remediationName\nexport class Remediator<T extends RemediationValues = RemediationValues> {\n static remediationName: string;\n\n remediation: IdxRemediation;\n values: T;\n options: RemediateOptions;\n map?: IdxToRemediationValueMap;\n\n constructor(remediation: IdxRemediation, values: T = {} as T, options: RemediateOptions = {}) {\n // assign fields to the instance\n this.values = { ...values };\n this.options = { ...options };\n this.formatAuthenticators();\n this.remediation = remediation;\n }\n\n private formatAuthenticators() {\n this.values.authenticators = (this.values.authenticators || []) as Authenticator[];\n\n // ensure authenticators are in the correct format\n this.values.authenticators = this.values.authenticators.map(authenticator => {\n return formatAuthenticator(authenticator);\n });\n\n // add authenticator (if any) to \"authenticators\"\n if (this.values.authenticator) {\n const authenticator = formatAuthenticator(this.values.authenticator);\n const hasAuthenticatorInList = this.values.authenticators.some(existing => {\n return compareAuthenticators(authenticator, existing);\n });\n if (!hasAuthenticatorInList) {\n this.values.authenticators.push(authenticator);\n }\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 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 const val = this[`map${titleCase(key)}`](\n this.remediation.value!.find(({name}) => name === key)\n );\n if (val) {\n return val;\n }\n }\n\n // If a map is defined for this key, return the first aliased property that returns a truthy value\n if (this.map && this.map[key]) {\n const entry = this.map[key];\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 // fallback: return the value by key\n return this.values[key];\n }\n\n hasData(\n key: string // idx name\n ): boolean \n {\n // no attempt to format, we want simple true/false\n return !!this.getData(key);\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 const inputs: Input[] = [];\n const inputsFromRemediation = this.remediation.value || [];\n inputsFromRemediation.forEach(inputFromRemediation => {\n let input;\n let { name, type, visible, messages } = inputFromRemediation;\n if (visible === false) {\n return; // Filter out invisible inputs, like stateHandle\n }\n if (typeof this[`getInput${titleCase(name)}`] === 'function') {\n input = this[`getInput${titleCase(name)}`](inputFromRemediation);\n } else if (type !== 'object') {\n // handle general primitive types\n let alias;\n const aliases = (this.map ? this.map[name] : null) || [];\n if (aliases.length === 1) {\n alias = aliases[0];\n } else {\n // try find key from values\n alias = aliases.find(name => Object.keys(this.values).includes(name));\n }\n if (alias) {\n input = { ...inputFromRemediation, name: alias };\n }\n }\n if (!input) {\n input = inputFromRemediation;\n }\n if (Array.isArray(input)) {\n input.forEach(i => inputs.push(i));\n } else {\n // guarantees field-level messages are passed back\n if (messages) {\n input.messages = messages;\n }\n inputs.push(input);\n }\n });\n return inputs;\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: IdxMessage[], field) => {\n if (field.messages) {\n messages = [...messages, ...field.messages.value];\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(): T {\n const inputsFromRemediation = this.remediation.value || []; // \"raw\" inputs from server response\n const inputsFromRemediator = this.getInputs(); // \"aliased\" inputs from SDK remediator\n const inputs = [\n ...inputsFromRemediation,\n ...inputsFromRemediator\n ];\n // scrub all values related to this remediation\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 // relatesTo value may be an authenticator or an authenticatorEnrollment\n const relatesTo = this.remediation.relatesTo?.value;\n if (!relatesTo) {\n return;\n }\n\n const authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);\n if (!authenticatorFromRemediation) {\n // Hopefully value is an authenticator\n return relatesTo;\n }\n\n // If relatesTo is an authenticatorEnrollment, the id is actually the enrollmentId\n // Let's get the correct authenticator id from the form value\n const id = authenticatorFromRemediation.form!.value\n .find(({ name }) => name === 'id')!.value as string;\n const enrollmentId = authenticatorFromRemediation.form!.value\n .find(({ name }) => name === 'enrollmentId')?.value as string;\n\n return {\n ...relatesTo,\n id,\n enrollmentId\n };\n }\n}\n"],"file":"Remediator.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../lib/idx/remediators/Base/SelectAuthenticator.ts"],"names":["SelectAuthenticator","Remediator","findMatchedOption","authenticators","options","option","authenticator","relatesTo","key","canRemediate","authenticatorFromRemediation","remediation","length","id","matchedOption","getNextStep","common","label","value","mapAuthenticator","remediationValue","selectedAuthenticator","selectedOption","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 { IdxOption, IdxRemediationValue } from '../../types/idx-js';\nimport { Authenticator, isAuthenticator } from '../../types';\nimport { compareAuthenticators, findMatchedOption} from '../../authenticator/util';\n\nexport type SelectAuthenticatorValues = RemediationValues & {\n authenticator?: string | Authenticator;\n};\n\n// Base class - DO NOT expose static remediationName\nexport class SelectAuthenticator extends Remediator {\n values!: SelectAuthenticatorValues;\n selectedAuthenticator?: Authenticator;\n selectedOption?: any;\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, authenticator } = 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\n // Authenticator is explicitly specified by id\n if (isAuthenticator(authenticator) && authenticator.id) {\n return true;\n }\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, authenticator } = this.values;\n\n // Authenticator is explicitly specified by id\n if (isAuthenticator(authenticator) && authenticator.id) {\n this.selectedAuthenticator = authenticator; // track the selected authenticator\n return authenticator;\n }\n\n const { options } = remediationValue;\n const selectedOption = findMatchedOption(authenticators, options);\n this.selectedAuthenticator = selectedOption.relatesTo; // track the selected authenticator\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 compareAuthenticators(authenticator, this.selectedAuthenticator) !== true;\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","findMatchedOption","authenticators","options","option","authenticator","relatesTo","key","canRemediate","authenticatorFromRemediation","remediation","length","id","matchedOption","getNextStep","common","label","value","mapAuthenticator","remediationValue","selectedAuthenticator","selectedOption","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 { IdxOption, IdxRemediationValue } from '../../types/idx-js';\nimport { Authenticator, isAuthenticator } from '../../types';\nimport { compareAuthenticators, findMatchedOption} from '../../authenticator/util';\n\nexport type SelectAuthenticatorValues = RemediationValues & {\n authenticator?: string | Authenticator;\n};\n\n// Base class - DO NOT expose static remediationName\nexport class SelectAuthenticator<T extends SelectAuthenticatorValues = SelectAuthenticatorValues>\n extends Remediator<T> {\n selectedAuthenticator?: Authenticator;\n selectedOption?: any;\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, authenticator } = 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\n // Authenticator is explicitly specified by id\n if (isAuthenticator(authenticator) && authenticator.id) {\n return true;\n }\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, authenticator } = this.values;\n\n // Authenticator is explicitly specified by id\n if (isAuthenticator(authenticator) && authenticator.id) {\n this.selectedAuthenticator = authenticator; // track the selected authenticator\n return authenticator;\n }\n\n const { options } = remediationValue;\n const selectedOption = findMatchedOption(authenticators, options);\n this.selectedAuthenticator = selectedOption.relatesTo; // track the selected authenticator\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(): T {\n this.values = super.getValuesAfterProceed();\n // remove used authenticators\n const authenticators = (this.values.authenticators as Authenticator[])\n .filter(authenticator => {\n return compareAuthenticators(authenticator, this.selectedAuthenticator) !== true;\n });\n return { ...this.values, authenticators };\n }\n\n}\n"],"file":"SelectAuthenticator.js"}
@@ -1 +1 @@
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","getValuesAfterProceed","trimmedValues","valueKey"],"mappings":";;;;;;;;;;;;;;AAaA;;AACA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAUA;AACO,MAAMA,mBAAN,SAAkCC,sBAAlC,CAA6C;AAKlDC,EAAAA,WAAW,CAACC,WAAD,EAA8BC,MAAiC,GAAG,EAAlE,EAAsE;AAC/E,UAAMD,WAAN,EAAmBC,MAAnB;AACA,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;;AAEDE,EAAAA,qBAAqB,GAA8B;AAAA;;AACjD,SAAKb,MAAL,GAAc,MAAMa,qBAAN,EAAd;AACA,QAAIC,aAAa,GAAG,wEAAY,IAAZ,mBAAgCC,QAAQ,IAAIA,QAAQ,KAAK,aAAzD,CAApB;AACA,WAAO,qBAAAD,aAAa,MAAb,CAAAA,aAAa,EAAQ,CAACd,MAAD,EAASe,QAAT,MAAuB,EAAC,GAAGf,MAAJ;AAAY,OAACe,QAAD,GAAY,2BAAYA,QAAZ;AAAxB,KAAvB,CAAR,EAAgF,EAAhF,CAApB;AACD;;AApCiD","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 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 getValuesAfterProceed(): VerifyAuthenticatorValues {\n this.values = super.getValuesAfterProceed();\n let trimmedValues = Object.keys(this.values).filter(valueKey => valueKey !== 'credentials');\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {});\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","getValuesAfterProceed","trimmedValues","valueKey"],"mappings":";;;;;;;;;;;;;;AAaA;;AACA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAUA;AACO,MAAMA,mBAAN,SACGC,sBADH,CACiB;AAItBC,EAAAA,WAAW,CAACC,WAAD,EAA8BC,MAAS,GAAG,EAA1C,EAAmD;AAC5D,UAAMD,WAAN,EAAmBC,MAAnB;AACA,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;;AAEDE,EAAAA,qBAAqB,GAAM;AAAA;;AACzB,SAAKb,MAAL,GAAc,MAAMa,qBAAN,EAAd;AACA,QAAIC,aAAa,GAAG,wEAAY,IAAZ,mBAAgCC,QAAQ,IAAIA,QAAQ,KAAK,aAAzD,CAApB;AACA,WAAO,qBAAAD,aAAa,MAAb,CAAAA,aAAa,EAAQ,CAACd,MAAD,EAASe,QAAT,MAAuB,EAAC,GAAGf,MAAJ;AAAY,OAACe,QAAD,GAAY,2BAAYA,QAAZ;AAAxB,KAAvB,CAAR,EAAgF,EAAhF,CAApB;AACD;;AAnCqB","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<T extends VerifyAuthenticatorValues = VerifyAuthenticatorValues>\n extends Remediator<T> {\n\n authenticator: Authenticator<VerifyAuthenticatorValues>;\n\n constructor(remediation: IdxRemediation, values: T = {} as T) {\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 getValuesAfterProceed(): T {\n this.values = super.getValuesAfterProceed();\n let trimmedValues = Object.keys(this.values).filter(valueKey => valueKey !== 'credentials');\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {} as T);\n }\n}\n"],"file":"VerifyAuthenticator.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/ChallengeAuthenticator.ts"],"names":["ChallengeAuthenticator","VerifyAuthenticator"],"mappings":";;;;;;;;AAYA;;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMO,MAAMA,sBAAN,SAAqCC,wCAArC,CAAyD;;;8BAAnDD,sB,qBACc,yB","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\nimport { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';\n\nexport type ChallengeAuthenticatorValues = VerifyAuthenticatorValues;\n\nexport class ChallengeAuthenticator extends VerifyAuthenticator {\n static remediationName = 'challenge-authenticator';\n values!: ChallengeAuthenticatorValues;\n}\n"],"file":"ChallengeAuthenticator.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/ChallengeAuthenticator.ts"],"names":["ChallengeAuthenticator","VerifyAuthenticator"],"mappings":";;;;;;;;AAYA;;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMO,MAAMA,sBAAN,SAAqCC,wCAArC,CAAuF;;;8BAAjFD,sB,qBACc,yB","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\nimport { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';\n\nexport type ChallengeAuthenticatorValues = VerifyAuthenticatorValues;\n\nexport class ChallengeAuthenticator extends VerifyAuthenticator<ChallengeAuthenticatorValues> {\n static remediationName = 'challenge-authenticator';\n}\n"],"file":"ChallengeAuthenticator.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/EnrollAuthenticator.ts"],"names":["EnrollAuthenticator","VerifyAuthenticator"],"mappings":";;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,MAAMA,mBAAN,SAAkCC,wCAAlC,CAAsD;;;8BAAhDD,mB,qBACc,sB","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 { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';\n\nexport type EnrollAuthenticatorValues = VerifyAuthenticatorValues;\n\nexport class EnrollAuthenticator extends VerifyAuthenticator {\n static remediationName = 'enroll-authenticator';\n values!: EnrollAuthenticatorValues;\n}\n"],"file":"EnrollAuthenticator.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/EnrollAuthenticator.ts"],"names":["EnrollAuthenticator","VerifyAuthenticator"],"mappings":";;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,MAAMA,mBAAN,SAAkCC,wCAAlC,CAAiF;;;8BAA3ED,mB,qBACc,sB","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 { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';\n\nexport type EnrollAuthenticatorValues = VerifyAuthenticatorValues;\n\nexport class EnrollAuthenticator extends VerifyAuthenticator<EnrollAuthenticatorValues> {\n static remediationName = 'enroll-authenticator';\n}\n"],"file":"EnrollAuthenticator.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/EnrollPoll.ts"],"names":["EnrollPoll","Remediator","canRemediate","startPolling","options","step","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,WAAO,CAAC,CAAC,2BAAYC,YAAd,IAA8B,KAAKC,OAAL,CAAaC,IAAb,KAAsB,aAA3D;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;;;8BAA9BnB,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 !!this.values.startPolling || this.options.step === 'enroll-poll';\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","startPolling","options","step","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,CAAsD;AAG3DC,EAAAA,YAAY,GAAG;AACb,WAAO,CAAC,CAAC,2BAAYC,YAAd,IAA8B,KAAKC,OAAL,CAAaC,IAAb,KAAsB,aAA3D;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;;AA1B0D;;;8BAAhDnB,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<EnrollPollValues> {\n static remediationName = 'enroll-poll';\n\n canRemediate() {\n return !!this.values.startPolling || this.options.step === 'enroll-poll';\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 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/EnrollProfile.ts"],"names":["EnrollProfile","Remediator","canRemediate","userProfileFromValues","getData","userProfile","userProfileFromRemediation","remediation","value","name","form","curr","required","mapUserProfile","profileAttributes","attributeNames","data","attributeValues","attributeName","length","getInputUserProfile","input","getErrorMessages","errorRemediation","errors","field","messages","push","message"],"mappings":";;;;;;;;;;;;;;;;;;AAeA;;AAfA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYO,MAAMA,aAAN,SAA4BC,sBAA5B,CAAuC;AAK5CC,EAAAA,YAAY,GAAG;AAAA;;AACb,UAAMC,qBAAqB,GAAG,KAAKC,OAAL,GAAeC,WAA7C;;AACA,QAAI,CAACF,qBAAL,EAA4B;AAC1B,aAAO,KAAP;AACD,KAJY,CAKb;;;AACA,UAAMG,0BAA0B,GAAG,mCAAKC,WAAL,CAAiBC,KAAjB,iBAA6B,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,aAApD,CAAnC;AACA,WAAO,iCAAAH,0BAA0B,CAACI,IAA3B,CAAiCF,KAAjC,kBAA8C,CAACN,YAAD,EAAeS,IAAf,KAAwB;AAC3E,UAAIA,IAAI,CAACC,QAAT,EAAmB;AACjBV,QAAAA,YAAY,GAAGA,YAAY,IAAI,CAAC,CAACC,qBAAqB,CAACQ,IAAI,CAACF,IAAN,CAAtD;AACD;;AACD,aAAOP,YAAP;AACD,KALM,EAKJ,IALI,CAAP;AAMD;;AAEDW,EAAAA,cAAc,CAAC;AAACH,IAAAA,IAAI,EAAE;AAAEF,MAAAA,KAAK,EAAEM;AAAT;AAAP,GAAD,EAAuC;AACnD,UAAMC,cAAc,GAAG,kBAAAD,iBAAiB,MAAjB,CAAAA,iBAAiB,EAAK,CAAC;AAACL,MAAAA;AAAD,KAAD,KAAYA,IAAjB,CAAxC;AACA,UAAMO,IAAI,GAAG,qBAAAD,cAAc,MAAd,CAAAA,cAAc,EAAQ,CAACE,eAAD,EAAkBC,aAAlB,KACjC,2BAAYA,aAAZ,IAA6B,EAC7B,GAAGD,eAD0B;AAE7B,OAACC,aAAD,GAAiB,2BAAYA,aAAZ;AAFY,KAA7B,GAGED,eAJuB,EAIL,EAJK,CAA3B;;AAKA,QAAI,mBAAYD,IAAZ,EAAkBG,MAAlB,KAA6B,CAAjC,EAAoC;AAClC;AACD;;AACD,WAAOH,IAAP;AACD;;AAEDI,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB,WAAO,CAAC,GAAGA,KAAK,CAACX,IAAN,CAAWF,KAAf,CAAP;AACD;;AAEDc,EAAAA,gBAAgB,CAACC,gBAAD,EAAmB;AAAA;;AACjC,WAAO,iCAAAA,gBAAgB,CAACf,KAAjB,CAAuB,CAAvB,EAA0BE,IAA1B,CAA+BF,KAA/B,kBAA4C,CAACgB,MAAD,EAASC,KAAT,KAAmB;AACpE,UAAIA,KAAK,CAACC,QAAV,EAAoB;AAClBF,QAAAA,MAAM,CAACG,IAAP,CAAYF,KAAK,CAACC,QAAN,CAAelB,KAAf,CAAqB,CAArB,EAAwBoB,OAApC;AACD;;AACD,aAAOJ,MAAP;AACD,KALM,EAKJ,EALI,CAAP;AAMD;;AA5C2C;;;8BAAjCxB,a,qBACc,gB","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 { IdxRemediationValue } from '../types/idx-js';\nimport { Remediator, RemediationValues } from './Base/Remediator';\n\nexport interface EnrollProfileValues extends RemediationValues {\n firstName?: string;\n lastName?: string;\n email?: string;\n}\n\nexport class EnrollProfile extends Remediator {\n static remediationName = 'enroll-profile';\n\n values!: EnrollProfileValues;\n\n canRemediate() {\n const userProfileFromValues = this.getData().userProfile;\n if (!userProfileFromValues) {\n return false;\n }\n // eslint-disable-next-line max-len\n const userProfileFromRemediation = this.remediation.value!.find(({ name }) => name === 'userProfile') as IdxRemediationValue;\n return userProfileFromRemediation.form!.value.reduce((canRemediate, curr) => {\n if (curr.required) {\n canRemediate = canRemediate && !!userProfileFromValues[curr.name];\n }\n return canRemediate;\n }, true);\n }\n\n mapUserProfile({form: { value: profileAttributes }}) {\n const attributeNames = profileAttributes.map(({name}) => name);\n const data = attributeNames.reduce((attributeValues, attributeName) => (\n this.values[attributeName] ? {\n ...attributeValues,\n [attributeName]: this.values[attributeName]\n } : attributeValues), {});\n if (Object.keys(data).length === 0) {\n return;\n }\n return data;\n }\n\n getInputUserProfile(input) {\n return [...input.form.value];\n }\n\n getErrorMessages(errorRemediation) {\n return errorRemediation.value[0].form.value.reduce((errors, field) => {\n if (field.messages) {\n errors.push(field.messages.value[0].message);\n }\n return errors;\n }, []);\n }\n}"],"file":"EnrollProfile.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/EnrollProfile.ts"],"names":["EnrollProfile","Remediator","canRemediate","userProfileFromValues","getData","userProfile","userProfileFromRemediation","remediation","value","name","form","curr","required","mapUserProfile","profileAttributes","attributeNames","data","attributeValues","attributeName","length","getInputUserProfile","input","getErrorMessages","errorRemediation","errors","field","messages","push","message"],"mappings":";;;;;;;;;;;;;;;;;;AAeA;;AAfA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYO,MAAMA,aAAN,SAA4BC,sBAA5B,CAA4D;AAGjEC,EAAAA,YAAY,GAAG;AAAA;;AACb,UAAMC,qBAAqB,GAAG,KAAKC,OAAL,GAAeC,WAA7C;;AACA,QAAI,CAACF,qBAAL,EAA4B;AAC1B,aAAO,KAAP;AACD,KAJY,CAKb;;;AACA,UAAMG,0BAA0B,GAAG,mCAAKC,WAAL,CAAiBC,KAAjB,iBAA6B,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,aAApD,CAAnC;AACA,WAAO,iCAAAH,0BAA0B,CAACI,IAA3B,CAAiCF,KAAjC,kBAA8C,CAACN,YAAD,EAAeS,IAAf,KAAwB;AAC3E,UAAIA,IAAI,CAACC,QAAT,EAAmB;AACjBV,QAAAA,YAAY,GAAGA,YAAY,IAAI,CAAC,CAACC,qBAAqB,CAACQ,IAAI,CAACF,IAAN,CAAtD;AACD;;AACD,aAAOP,YAAP;AACD,KALM,EAKJ,IALI,CAAP;AAMD;;AAEDW,EAAAA,cAAc,CAAC;AAACH,IAAAA,IAAI,EAAE;AAAEF,MAAAA,KAAK,EAAEM;AAAT;AAAP,GAAD,EAAuC;AACnD,UAAMC,cAAc,GAAG,kBAAAD,iBAAiB,MAAjB,CAAAA,iBAAiB,EAAK,CAAC;AAACL,MAAAA;AAAD,KAAD,KAAYA,IAAjB,CAAxC;AACA,UAAMO,IAAI,GAAG,qBAAAD,cAAc,MAAd,CAAAA,cAAc,EAAQ,CAACE,eAAD,EAAkBC,aAAlB,KACjC,2BAAYA,aAAZ,IAA6B,EAC7B,GAAGD,eAD0B;AAE7B,OAACC,aAAD,GAAiB,2BAAYA,aAAZ;AAFY,KAA7B,GAGED,eAJuB,EAIL,EAJK,CAA3B;;AAKA,QAAI,mBAAYD,IAAZ,EAAkBG,MAAlB,KAA6B,CAAjC,EAAoC;AAClC;AACD;;AACD,WAAOH,IAAP;AACD;;AAEDI,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB,WAAO,CAAC,GAAGA,KAAK,CAACX,IAAN,CAAWF,KAAf,CAAP;AACD;;AAEDc,EAAAA,gBAAgB,CAACC,gBAAD,EAAmB;AAAA;;AACjC,WAAO,iCAAAA,gBAAgB,CAACf,KAAjB,CAAuB,CAAvB,EAA0BE,IAA1B,CAA+BF,KAA/B,kBAA4C,CAACgB,MAAD,EAASC,KAAT,KAAmB;AACpE,UAAIA,KAAK,CAACC,QAAV,EAAoB;AAClBF,QAAAA,MAAM,CAACG,IAAP,CAAYF,KAAK,CAACC,QAAN,CAAelB,KAAf,CAAqB,CAArB,EAAwBoB,OAApC;AACD;;AACD,aAAOJ,MAAP;AACD,KALM,EAKJ,EALI,CAAP;AAMD;;AA1CgE;;;8BAAtDxB,a,qBACc,gB","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 { IdxRemediationValue } from '../types/idx-js';\nimport { Remediator, RemediationValues } from './Base/Remediator';\n\nexport interface EnrollProfileValues extends RemediationValues {\n firstName?: string;\n lastName?: string;\n email?: string;\n}\n\nexport class EnrollProfile extends Remediator<EnrollProfileValues> {\n static remediationName = 'enroll-profile';\n\n canRemediate() {\n const userProfileFromValues = this.getData().userProfile;\n if (!userProfileFromValues) {\n return false;\n }\n // eslint-disable-next-line max-len\n const userProfileFromRemediation = this.remediation.value!.find(({ name }) => name === 'userProfile') as IdxRemediationValue;\n return userProfileFromRemediation.form!.value.reduce((canRemediate, curr) => {\n if (curr.required) {\n canRemediate = canRemediate && !!userProfileFromValues[curr.name];\n }\n return canRemediate;\n }, true);\n }\n\n mapUserProfile({form: { value: profileAttributes }}) {\n const attributeNames = profileAttributes.map(({name}) => name);\n const data = attributeNames.reduce((attributeValues, attributeName) => (\n this.values[attributeName] ? {\n ...attributeValues,\n [attributeName]: this.values[attributeName]\n } : attributeValues), {});\n if (Object.keys(data).length === 0) {\n return;\n }\n return data;\n }\n\n getInputUserProfile(input) {\n return [...input.form.value];\n }\n\n getErrorMessages(errorRemediation) {\n return errorRemediation.value[0].form.value.reduce((errors, field) => {\n if (field.messages) {\n errors.push(field.messages.value[0].message);\n }\n return errors;\n }, []);\n }\n}"],"file":"EnrollProfile.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/EnrollmentChannelData.ts"],"names":["EnrollmentChannelData","Remediator","getInputEmail","name","type","required","label","getInputPhoneNumber","canRemediate","Boolean","email","phoneNumber","getNextStep","context","common","authenticator","currentAuthenticator","value","getData","stateHandle","getValuesAfterProceed","trimmedValues","valueKey","values"],"mappings":";;;;;;;;;;;;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYO,MAAMA,qBAAN,SAAoCC,sBAApC,CAA+C;AAKpDC,EAAAA,aAAa,GAAG;AACd,WAAO,CACL;AAAEC,MAAAA,IAAI,EAAE,OAAR;AAAiBC,MAAAA,IAAI,EAAE,QAAvB;AAAiCC,MAAAA,QAAQ,EAAE,IAA3C;AAAiDC,MAAAA,KAAK,EAAE;AAAxD,KADK,CAAP;AAGD;;AAEDC,EAAAA,mBAAmB,GAAG;AACpB,WAAO,CACL;AAAEJ,MAAAA,IAAI,EAAE,aAAR;AAAuBC,MAAAA,IAAI,EAAE,QAA7B;AAAuCC,MAAAA,QAAQ,EAAE,IAAjD;AAAuDC,MAAAA,KAAK,EAAE;AAA9D,KADK,CAAP;AAGD;;AAEDE,EAAAA,YAAY,GAAG;AACb,WAAOC,OAAO,CAAC,2BAAYC,KAAZ,IAAqB,2BAAYC,WAAlC,CAAd;AACD;;AAEDC,EAAAA,WAAW,CAACC,OAAD,EAAsB;AAC/B,UAAMC,MAAM,GAAG,MAAMF,WAAN,EAAf;AACA,UAAMG,aAAa,GAAGF,OAAO,CAACG,oBAAR,CAA6BC,KAAnD;AACA,WAAO,EACL,GAAGH,MADE;AAELC,MAAAA;AAFK,KAAP;AAID;;AAEDG,EAAAA,OAAO,GAAG;AACR,WAAO;AACLC,MAAAA,WAAW,EAAE,2BAAYA,WADpB;AAELT,MAAAA,KAAK,EAAE,2BAAYA,KAFd;AAGLC,MAAAA,WAAW,EAAE,2BAAYA;AAHpB,KAAP;AAKD;;AAEDS,EAAAA,qBAAqB,GAAG;AAAA;;AACtB,QAAIC,aAAa,GAAG,wEAAY,IAAZ,mBAAgCC,QAAQ;AAAA;;AAAA,aAAI,CAAC,oCAAC,OAAD,EAAU,aAAV,mBAAkCA,QAAlC,CAAL;AAAA,KAAxC,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;;AAzCmD;;;8BAAzCtB,qB,qBACc,yB","sourcesContent":["/*!\n * Copyright (c) 2021-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 { IdxContext } from '../types/idx-js';\n\n\nexport type EnrollmentChannelDataValues = RemediationValues & {\n email?: string;\n phoneNumber?: string;\n};\n\nexport class EnrollmentChannelData extends Remediator {\n static remediationName = 'enrollment-channel-data';\n\n values!: EnrollmentChannelDataValues;\n\n getInputEmail() {\n return [\n { name: 'email', type: 'string', required: true, label: 'Email' },\n ];\n }\n\n getInputPhoneNumber() {\n return [\n { name: 'phoneNumber', type: 'string', required: true, label: 'Phone Number' },\n ];\n }\n\n canRemediate() {\n return Boolean(this.values.email || this.values.phoneNumber);\n }\n\n getNextStep(context: IdxContext) {\n const common = super.getNextStep();\n const authenticator = context.currentAuthenticator.value;\n return {\n ...common,\n authenticator,\n };\n }\n\n getData() {\n return {\n stateHandle: this.values.stateHandle,\n email: this.values.email,\n phoneNumber: this.values.phoneNumber\n };\n }\n\n getValuesAfterProceed() {\n let trimmedValues = Object.keys(this.values).filter(valueKey => !['email', 'phoneNumber'].includes(valueKey));\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {});\n }\n}\n"],"file":"EnrollmentChannelData.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/EnrollmentChannelData.ts"],"names":["EnrollmentChannelData","Remediator","getInputEmail","name","type","required","label","getInputPhoneNumber","canRemediate","Boolean","email","phoneNumber","getNextStep","context","common","authenticator","currentAuthenticator","value","getData","stateHandle","getValuesAfterProceed","trimmedValues","valueKey","values"],"mappings":";;;;;;;;;;;;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYO,MAAMA,qBAAN,SAAoCC,sBAApC,CAA4E;AAGjFC,EAAAA,aAAa,GAAG;AACd,WAAO,CACL;AAAEC,MAAAA,IAAI,EAAE,OAAR;AAAiBC,MAAAA,IAAI,EAAE,QAAvB;AAAiCC,MAAAA,QAAQ,EAAE,IAA3C;AAAiDC,MAAAA,KAAK,EAAE;AAAxD,KADK,CAAP;AAGD;;AAEDC,EAAAA,mBAAmB,GAAG;AACpB,WAAO,CACL;AAAEJ,MAAAA,IAAI,EAAE,aAAR;AAAuBC,MAAAA,IAAI,EAAE,QAA7B;AAAuCC,MAAAA,QAAQ,EAAE,IAAjD;AAAuDC,MAAAA,KAAK,EAAE;AAA9D,KADK,CAAP;AAGD;;AAEDE,EAAAA,YAAY,GAAG;AACb,WAAOC,OAAO,CAAC,2BAAYC,KAAZ,IAAqB,2BAAYC,WAAlC,CAAd;AACD;;AAEDC,EAAAA,WAAW,CAACC,OAAD,EAAsB;AAC/B,UAAMC,MAAM,GAAG,MAAMF,WAAN,EAAf;AACA,UAAMG,aAAa,GAAGF,OAAO,CAACG,oBAAR,CAA6BC,KAAnD;AACA,WAAO,EACL,GAAGH,MADE;AAELC,MAAAA;AAFK,KAAP;AAID;;AAEDG,EAAAA,OAAO,GAAG;AACR,WAAO;AACLC,MAAAA,WAAW,EAAE,2BAAYA,WADpB;AAELT,MAAAA,KAAK,EAAE,2BAAYA,KAFd;AAGLC,MAAAA,WAAW,EAAE,2BAAYA;AAHpB,KAAP;AAKD;;AAEDS,EAAAA,qBAAqB,GAAG;AAAA;;AACtB,QAAIC,aAAa,GAAG,wEAAY,IAAZ,mBAAgCC,QAAQ;AAAA;;AAAA,aAAI,CAAC,oCAAC,OAAD,EAAU,aAAV,mBAAkCA,QAAlC,CAAL;AAAA,KAAxC,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;;AAvCgF;;;8BAAtEtB,qB,qBACc,yB","sourcesContent":["/*!\n * Copyright (c) 2021-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 { IdxContext } from '../types/idx-js';\n\n\nexport type EnrollmentChannelDataValues = RemediationValues & {\n email?: string;\n phoneNumber?: string;\n};\n\nexport class EnrollmentChannelData extends Remediator<EnrollmentChannelDataValues> {\n static remediationName = 'enrollment-channel-data';\n\n getInputEmail() {\n return [\n { name: 'email', type: 'string', required: true, label: 'Email' },\n ];\n }\n\n getInputPhoneNumber() {\n return [\n { name: 'phoneNumber', type: 'string', required: true, label: 'Phone Number' },\n ];\n }\n\n canRemediate() {\n return Boolean(this.values.email || this.values.phoneNumber);\n }\n\n getNextStep(context: IdxContext) {\n const common = super.getNextStep();\n const authenticator = context.currentAuthenticator.value;\n return {\n ...common,\n authenticator,\n };\n }\n\n getData() {\n return {\n stateHandle: this.values.stateHandle,\n email: this.values.email,\n phoneNumber: this.values.phoneNumber\n };\n }\n\n getValuesAfterProceed() {\n let trimmedValues = Object.keys(this.values).filter(valueKey => !['email', 'phoneNumber'].includes(valueKey));\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {});\n }\n}\n"],"file":"EnrollmentChannelData.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/Identify.ts"],"names":["Identify","Remediator","canRemediate","identifier","getData","mapCredentials","credentials","password","passcode","getInputCredentials","input","form","value","name","required"],"mappings":";;;;;;;;;;AAcA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYO,MAAMA,QAAN,SAAuBC,sBAAvB,CAAkC;AAAA;AAAA;AAAA,+CAKjC;AACJ,oBAAc,CAAC,UAAD;AADV,KALiC;AAAA;;AASvCC,EAAAA,YAAY,GAAG;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAiB,KAAKC,OAAL,EAAvB;AACA,WAAO,CAAC,CAACD,UAAT;AACD;;AAEDE,EAAAA,cAAc,GAAG;AACf,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA;AAAf,6BAA4B,IAA5B,CAAN;;AACA,QAAI,CAACD,WAAD,IAAgB,CAACC,QAArB,EAA+B;AAC7B;AACD;;AACD,WAAOD,WAAW,IAAI;AAAEE,MAAAA,QAAQ,EAAED;AAAZ,KAAtB;AACD;;AAEDE,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB,WAAO,EACL,GAAGA,KAAK,CAACC,IAAN,CAAWC,KAAX,CAAiB,CAAjB,CADE;AAELC,MAAAA,IAAI,EAAE,UAFD;AAGLC,MAAAA,QAAQ,EAAEJ,KAAK,CAACI;AAHX,KAAP;AAKD;;AA5BsC;;;8BAA5Bd,Q,qBACc,U","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 { Credentials } from '../authenticator';\nimport { Remediator, RemediationValues } from './Base/Remediator';\n\nexport interface IdentifyValues extends RemediationValues {\n username?: string;\n password?: string;\n credentials?: Credentials;\n}\n\nexport class Identify extends Remediator {\n static remediationName = 'identify';\n\n values!: IdentifyValues;\n\n map = {\n 'identifier': ['username']\n };\n\n canRemediate() {\n const { identifier } = this.getData();\n return !!identifier;\n }\n\n mapCredentials() {\n const { credentials, password } = this.values;\n if (!credentials && !password) {\n return;\n }\n return credentials || { passcode: password };\n }\n\n getInputCredentials(input) {\n return {\n ...input.form.value[0],\n name: 'password',\n required: input.required\n };\n }\n\n}\n"],"file":"Identify.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/Identify.ts"],"names":["Identify","Remediator","canRemediate","identifier","getData","mapCredentials","credentials","password","passcode","getInputCredentials","input","form","value","name","required"],"mappings":";;;;;;;;;;AAcA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYO,MAAMA,QAAN,SAAuBC,sBAAvB,CAAkD;AAAA;AAAA;AAAA,+CAGjD;AACJ,oBAAc,CAAC,UAAD;AADV,KAHiD;AAAA;;AAOvDC,EAAAA,YAAY,GAAG;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAiB,KAAKC,OAAL,EAAvB;AACA,WAAO,CAAC,CAACD,UAAT;AACD;;AAEDE,EAAAA,cAAc,GAAG;AACf,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA;AAAf,6BAA4B,IAA5B,CAAN;;AACA,QAAI,CAACD,WAAD,IAAgB,CAACC,QAArB,EAA+B;AAC7B;AACD;;AACD,WAAOD,WAAW,IAAI;AAAEE,MAAAA,QAAQ,EAAED;AAAZ,KAAtB;AACD;;AAEDE,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB,WAAO,EACL,GAAGA,KAAK,CAACC,IAAN,CAAWC,KAAX,CAAiB,CAAjB,CADE;AAELC,MAAAA,IAAI,EAAE,UAFD;AAGLC,MAAAA,QAAQ,EAAEJ,KAAK,CAACI;AAHX,KAAP;AAKD;;AA1BsD;;;8BAA5Cd,Q,qBACc,U","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 { Credentials } from '../authenticator';\nimport { Remediator, RemediationValues } from './Base/Remediator';\n\nexport interface IdentifyValues extends RemediationValues {\n username?: string;\n password?: string;\n credentials?: Credentials;\n}\n\nexport class Identify extends Remediator<IdentifyValues> {\n static remediationName = 'identify';\n\n map = {\n 'identifier': ['username']\n };\n\n canRemediate() {\n const { identifier } = this.getData();\n return !!identifier;\n }\n\n mapCredentials() {\n const { credentials, password } = this.values;\n if (!credentials && !password) {\n return;\n }\n return credentials || { passcode: password };\n }\n\n getInputCredentials(input) {\n return {\n ...input.form.value[0],\n name: 'password',\n required: input.required\n };\n }\n\n}\n"],"file":"Identify.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/ReEnrollAuthenticator.ts"],"names":["ReEnrollAuthenticator","Remediator","mapCredentials","newPassword","passcode","getInputCredentials","input","challengeType","getAuthenticator","type","name","form","value"],"mappings":";;;;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASO,MAAMA,qBAAN,SAAoCC,sBAApC,CAA+C;AAKpDC,EAAAA,cAAc,GAAG;AACf,UAAM;AAAEC,MAAAA;AAAF,6BAAkB,IAAlB,CAAN;;AACA,QAAI,CAACA,WAAL,EAAkB;AAChB;AACD;;AACD,WAAO;AACLC,MAAAA,QAAQ,EAAED;AADL,KAAP;AAGD;;AAEDE,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB;AACA,UAAMC,aAAa,GAAG,KAAKC,gBAAL,GAAyBC,IAA/C;AACA,UAAMC,IAAI,GAAGH,aAAa,KAAK,UAAlB,GAA+B,aAA/B,GAA+C,kBAA5D;AACA,WAAO,EACL,GAAGD,KAAK,CAACK,IAAN,CAAWC,KAAX,CAAiB,CAAjB,CADE;AAELF,MAAAA;AAFK,KAAP;AAID;;AAvBmD;;;8BAAzCV,qB,qBACc,wB","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';\n\nexport interface ReEnrollAuthenticatorValues extends RemediationValues {\n newPassword?: string;\n}\n\nexport class ReEnrollAuthenticator extends Remediator {\n static remediationName = 'reenroll-authenticator';\n\n values!: ReEnrollAuthenticatorValues;\n\n mapCredentials() {\n const { newPassword } = this.values;\n if (!newPassword) {\n return;\n }\n return { \n passcode: newPassword,\n };\n }\n\n getInputCredentials(input) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const challengeType = this.getAuthenticator()!.type;\n const name = challengeType === 'password' ? 'newPassword' : 'verificationCode';\n return {\n ...input.form.value[0],\n name\n };\n }\n\n}\n"],"file":"ReEnrollAuthenticator.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/ReEnrollAuthenticator.ts"],"names":["ReEnrollAuthenticator","Remediator","mapCredentials","newPassword","passcode","getInputCredentials","input","challengeType","getAuthenticator","type","name","form","value"],"mappings":";;;;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASO,MAAMA,qBAAN,SAAoCC,sBAApC,CAA4E;AAGjFC,EAAAA,cAAc,GAAG;AACf,UAAM;AAAEC,MAAAA;AAAF,6BAAkB,IAAlB,CAAN;;AACA,QAAI,CAACA,WAAL,EAAkB;AAChB;AACD;;AACD,WAAO;AACLC,MAAAA,QAAQ,EAAED;AADL,KAAP;AAGD;;AAEDE,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB;AACA,UAAMC,aAAa,GAAG,KAAKC,gBAAL,GAAyBC,IAA/C;AACA,UAAMC,IAAI,GAAGH,aAAa,KAAK,UAAlB,GAA+B,aAA/B,GAA+C,kBAA5D;AACA,WAAO,EACL,GAAGD,KAAK,CAACK,IAAN,CAAWC,KAAX,CAAiB,CAAjB,CADE;AAELF,MAAAA;AAFK,KAAP;AAID;;AArBgF;;;8BAAtEV,qB,qBACc,wB","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';\n\nexport interface ReEnrollAuthenticatorValues extends RemediationValues {\n newPassword?: string;\n}\n\nexport class ReEnrollAuthenticator extends Remediator<ReEnrollAuthenticatorValues> {\n static remediationName = 'reenroll-authenticator';\n\n mapCredentials() {\n const { newPassword } = this.values;\n if (!newPassword) {\n return;\n }\n return { \n passcode: newPassword,\n };\n }\n\n getInputCredentials(input) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const challengeType = this.getAuthenticator()!.type;\n const name = challengeType === 'password' ? 'newPassword' : 'verificationCode';\n return {\n ...input.form.value[0],\n name\n };\n }\n\n}\n"],"file":"ReEnrollAuthenticator.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/ResetAuthenticator.ts"],"names":["ResetAuthenticator","VerifyAuthenticator"],"mappings":";;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,MAAMA,kBAAN,SAAiCC,wCAAjC,CAAqD;;;8BAA/CD,kB,qBACc,qB","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 { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';\n\nexport type ResetAuthenticatorValues = VerifyAuthenticatorValues;\n\nexport class ResetAuthenticator extends VerifyAuthenticator {\n static remediationName = 'reset-authenticator';\n values!: ResetAuthenticatorValues;\n}\n"],"file":"ResetAuthenticator.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/ResetAuthenticator.ts"],"names":["ResetAuthenticator","VerifyAuthenticator"],"mappings":";;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,MAAMA,kBAAN,SAAiCC,wCAAjC,CAA+E;;;8BAAzED,kB,qBACc,qB","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 { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';\n\nexport type ResetAuthenticatorValues = VerifyAuthenticatorValues;\n\nexport class ResetAuthenticator extends VerifyAuthenticator<ResetAuthenticatorValues> {\n static remediationName = 'reset-authenticator';\n}\n"],"file":"ResetAuthenticator.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/SelectAuthenticatorAuthenticate.ts"],"names":["SelectAuthenticatorAuthenticate","SelectAuthenticator","constructor","remediation","values","options","isRecoveryFlow","flow","hasPasswordInOptions","some","relatesTo","key","AuthenticatorKey","OKTA_PASSWORD","password","authenticators"],"mappings":";;;;;;;;;;AAaA;;AACA;;AAEA;;AAhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYO,MAAMA,+BAAN,SAA8CC,wCAA9C,CAAkE;AAIvEC,EAAAA,WAAW,CAACC,WAAD,EAA8BC,MAAiC,GAAG,EAAlE,EAAsEC,OAAyB,GAAG,EAAlG,EAAsG;AAAA;;AAC/G,UAAMF,WAAN,EAAmBC,MAAnB,EAA2BC,OAA3B,EAD+G,CAG/G;;AACA,UAAMC,cAAc,GAAG,KAAKD,OAAL,CAAaE,IAAb,KAAsB,iBAA7C;AACA,UAAMC,oBAAoB,4BAAG,2CAAgCL,WAAhC,EAC1BE,OADuB,0DAAG,sBACjBI,IADiB,CACZ,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAmB,CAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEC,GAAX,MAAmBC,wBAAiBC,aAD3C,CAA7B;;AAEA,QAAIL,oBAAoB,KAAKF,cAAc,IAAI,2BAAYQ,QAAnC,CAAxB,EAAsE;AACpE,iCAAYC,cAAZ,GAA6B,CAC3B,IAAG,2BAAYA,cAAZ,IAA8B,EAAjC,CAD2B,EAE3B;AAAEJ,QAAAA,GAAG,EAAEC,wBAAiBC;AAAxB,OAF2B,CAA7B;AAID;AACF;;AAjBsE;;;8BAA5Db,+B,qBACc,mC","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 { SelectAuthenticator, SelectAuthenticatorValues } from './Base/SelectAuthenticator';\nimport { getAuthenticatorFromRemediation } from './util';\nimport { IdxRemediation } from '../types/idx-js';\nimport { AuthenticatorKey, Authenticator, RemediateOptions } from '../types';\n\nexport type SelectAuthenticatorAuthenticateValues = SelectAuthenticatorValues & {\n password?: string;\n};\n\nexport class SelectAuthenticatorAuthenticate extends SelectAuthenticator {\n static remediationName = 'select-authenticator-authenticate';\n values!: SelectAuthenticatorAuthenticateValues;\n\n constructor(remediation: IdxRemediation, values: SelectAuthenticatorValues = {}, options: RemediateOptions = {}) {\n super(remediation, values, options);\n\n // Preset password authenticator to trigger recover action\n const isRecoveryFlow = this.options.flow === 'recoverPassword';\n const hasPasswordInOptions = getAuthenticatorFromRemediation(remediation)\n .options?.some(({ relatesTo }) => relatesTo?.key === AuthenticatorKey.OKTA_PASSWORD);\n if (hasPasswordInOptions && (isRecoveryFlow || this.values.password)) {\n this.values.authenticators = [\n ...this.values.authenticators || [],\n { key: AuthenticatorKey.OKTA_PASSWORD }\n ] as Authenticator[];\n }\n }\n}\n"],"file":"SelectAuthenticatorAuthenticate.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/SelectAuthenticatorAuthenticate.ts"],"names":["SelectAuthenticatorAuthenticate","SelectAuthenticator","constructor","remediation","values","options","isRecoveryFlow","flow","hasPasswordInOptions","some","relatesTo","key","AuthenticatorKey","OKTA_PASSWORD","password","authenticators"],"mappings":";;;;;;;;;;AAaA;;AACA;;AAEA;;AAhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAYO,MAAMA,+BAAN,SAA8CC,wCAA9C,CAAyG;AAG9GC,EAAAA,WAAW,CAACC,WAAD,EAA8BC,MAAiC,GAAG,EAAlE,EAAsEC,OAAyB,GAAG,EAAlG,EAAsG;AAAA;;AAC/G,UAAMF,WAAN,EAAmBC,MAAnB,EAA2BC,OAA3B,EAD+G,CAG/G;;AACA,UAAMC,cAAc,GAAG,KAAKD,OAAL,CAAaE,IAAb,KAAsB,iBAA7C;AACA,UAAMC,oBAAoB,4BAAG,2CAAgCL,WAAhC,EAC1BE,OADuB,0DAAG,sBACjBI,IADiB,CACZ,CAAC;AAAEC,MAAAA;AAAF,KAAD,KAAmB,CAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEC,GAAX,MAAmBC,wBAAiBC,aAD3C,CAA7B;;AAEA,QAAIL,oBAAoB,KAAKF,cAAc,IAAI,2BAAYQ,QAAnC,CAAxB,EAAsE;AACpE,iCAAYC,cAAZ,GAA6B,CAC3B,IAAG,2BAAYA,cAAZ,IAA8B,EAAjC,CAD2B,EAE3B;AAAEJ,QAAAA,GAAG,EAAEC,wBAAiBC;AAAxB,OAF2B,CAA7B;AAID;AACF;;AAhB6G;;;8BAAnGb,+B,qBACc,mC","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 { SelectAuthenticator, SelectAuthenticatorValues } from './Base/SelectAuthenticator';\nimport { getAuthenticatorFromRemediation } from './util';\nimport { IdxRemediation } from '../types/idx-js';\nimport { AuthenticatorKey, Authenticator, RemediateOptions } from '../types';\n\nexport type SelectAuthenticatorAuthenticateValues = SelectAuthenticatorValues & {\n password?: string;\n};\n\nexport class SelectAuthenticatorAuthenticate extends SelectAuthenticator<SelectAuthenticatorAuthenticateValues> {\n static remediationName = 'select-authenticator-authenticate';\n\n constructor(remediation: IdxRemediation, values: SelectAuthenticatorValues = {}, options: RemediateOptions = {}) {\n super(remediation, values, options);\n\n // Preset password authenticator to trigger recover action\n const isRecoveryFlow = this.options.flow === 'recoverPassword';\n const hasPasswordInOptions = getAuthenticatorFromRemediation(remediation)\n .options?.some(({ relatesTo }) => relatesTo?.key === AuthenticatorKey.OKTA_PASSWORD);\n if (hasPasswordInOptions && (isRecoveryFlow || this.values.password)) {\n this.values.authenticators = [\n ...this.values.authenticators || [],\n { key: AuthenticatorKey.OKTA_PASSWORD }\n ] as Authenticator[];\n }\n }\n}\n"],"file":"SelectAuthenticatorAuthenticate.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/SelectAuthenticatorEnroll.ts"],"names":["SelectAuthenticatorEnroll","SelectAuthenticator"],"mappings":";;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,MAAMA,yBAAN,SAAwCC,wCAAxC,CAA4D;;;8BAAtDD,yB,qBACc,6B","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 { SelectAuthenticator, SelectAuthenticatorValues } from './Base/SelectAuthenticator';\n\nexport type SelectAuthenticatorEnrollValues = SelectAuthenticatorValues;\n\nexport class SelectAuthenticatorEnroll extends SelectAuthenticator {\n static remediationName = 'select-authenticator-enroll';\n values!: SelectAuthenticatorEnrollValues;\n}\n"],"file":"SelectAuthenticatorEnroll.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/SelectAuthenticatorEnroll.ts"],"names":["SelectAuthenticatorEnroll","SelectAuthenticator"],"mappings":";;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,MAAMA,yBAAN,SAAwCC,wCAAxC,CAA6F;;;8BAAvFD,yB,qBACc,6B","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 { SelectAuthenticator, SelectAuthenticatorValues } from './Base/SelectAuthenticator';\n\nexport type SelectAuthenticatorEnrollValues = SelectAuthenticatorValues;\n\nexport class SelectAuthenticatorEnroll extends SelectAuthenticator<SelectAuthenticatorEnrollValues> {\n static remediationName = 'select-authenticator-enroll';\n}\n"],"file":"SelectAuthenticatorEnroll.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/SelectAuthenticatorUnlockAccount.ts"],"names":["SelectAuthenticatorUnlockAccount","SelectAuthenticator","identifier","canRemediate","getData","mapAuthenticator","remediationValue","authenticatorMap","methodTypeOption","selectedOption","value","form","name","methodTypeValue","methodType","options","getInputUsername","key"],"mappings":";;;;;;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaO,MAAMA,gCAAN,SAA+CC,wCAA/C,CAAmE;AAAA;AAAA;AAAA,+CAKlE;AACJC,MAAAA,UAAU,EAAE,CAAC,UAAD;AADR,KALkE;AAAA;;AASxEC,EAAAA,YAAY,GAAG;AACb,UAAMD,UAAU,GAAG,KAAKE,OAAL,CAAa,YAAb,CAAnB;AACA,WAAO,CAAC,CAACF,UAAF,IAAgB,MAAMC,YAAN,EAAvB;AACD;;AAEDE,EAAAA,gBAAgB,CAACC,gBAAD,EAAwC;AAAA;;AACtD,UAAMC,gBAAgB,GAAG,MAAMF,gBAAN,CAAuBC,gBAAvB,CAAzB;AACA,UAAME,gBAAgB,2BAAG,KAAKC,cAAR,yDAAG,mDAAqBC,KAArB,CAA2BC,IAA3B,CAAgCD,KAAhC,iBAA2C,CAAC;AAAEE,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,YAAlE,CAAzB,CAFsD,CAItD;AACA;AACA;;AACA,UAAMC,eAAe,GAAG,2BAAYC,UAAZ,KACtBN,gBADsB,aACtBA,gBADsB,uBACtBA,gBAAgB,CAAEE,KADI,MACeF,gBADf,aACeA,gBADf,gDACeA,gBAAgB,CAAEO,OADjC,oFACe,sBAA4B,CAA5B,CADf,2DACe,uBAAgCL,KAD/C,CAAxB;;AAGA,QAAIG,eAAJ,EAAqB;AACnB,aAAO,EACL,GAAGN,gBADE;AAELO,QAAAA,UAAU,EAAED;AAFP,OAAP;AAID;;AAED,WAAON,gBAAP;AACD;;AAEDS,EAAAA,gBAAgB,GAAI;AAClB,WAAO;AAAEJ,MAAAA,IAAI,EAAE,UAAR;AAAoBK,MAAAA,GAAG,EAAE;AAAzB,KAAP;AACD;;AApCuE;;;8BAA7DjB,gC,qBACc,qC","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 { SelectAuthenticator, SelectAuthenticatorValues } from './Base/SelectAuthenticator';\nimport { Authenticator } from '../../types';\nimport { IdxRemediationValue } from '../types/idx-js';\n\n\nexport type SelectAuthenticatorUnlockAccountValues = SelectAuthenticatorValues & {\n identifier?: string;\n methodType?: string;\n};\n\nexport class SelectAuthenticatorUnlockAccount extends SelectAuthenticator {\n static remediationName = 'select-authenticator-unlock-account';\n values!: SelectAuthenticatorUnlockAccountValues;\n authenticator?: Authenticator;\n\n map = {\n identifier: ['username']\n }\n\n canRemediate() {\n const identifier = this.getData('identifier');\n return !!identifier && super.canRemediate();\n }\n\n mapAuthenticator(remediationValue: IdxRemediationValue) {\n const authenticatorMap = super.mapAuthenticator(remediationValue);\n const methodTypeOption = this.selectedOption?.value.form.value.find(({ name }) => name === 'methodType');\n\n // defaults to 'manually defined' value\n // 2nd: option may have pre-defined value, like stateHandle\n // 3rd: if only a single OV option is available, default to that option\n const methodTypeValue = this.values.methodType ||\n methodTypeOption?.value as string || methodTypeOption?.options?.[0]?.value as string;\n\n if (methodTypeValue) {\n return {\n ...authenticatorMap,\n methodType: methodTypeValue\n };\n }\n\n return authenticatorMap;\n }\n\n getInputUsername () {\n return { name: 'username', key: 'string' };\n }\n\n}\n"],"file":"SelectAuthenticatorUnlockAccount.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/SelectAuthenticatorUnlockAccount.ts"],"names":["SelectAuthenticatorUnlockAccount","SelectAuthenticator","identifier","canRemediate","getData","mapAuthenticator","remediationValue","authenticatorMap","methodTypeOption","selectedOption","value","form","name","methodTypeValue","methodType","options","getInputUsername","key"],"mappings":";;;;;;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaO,MAAMA,gCAAN,SAA+CC,wCAA/C,CAA2G;AAAA;AAAA;AAAA,+CAI1G;AACJC,MAAAA,UAAU,EAAE,CAAC,UAAD;AADR,KAJ0G;AAAA;;AAQhHC,EAAAA,YAAY,GAAG;AACb,UAAMD,UAAU,GAAG,KAAKE,OAAL,CAAa,YAAb,CAAnB;AACA,WAAO,CAAC,CAACF,UAAF,IAAgB,MAAMC,YAAN,EAAvB;AACD;;AAEDE,EAAAA,gBAAgB,CAACC,gBAAD,EAAwC;AAAA;;AACtD,UAAMC,gBAAgB,GAAG,MAAMF,gBAAN,CAAuBC,gBAAvB,CAAzB;AACA,UAAME,gBAAgB,2BAAG,KAAKC,cAAR,yDAAG,mDAAqBC,KAArB,CAA2BC,IAA3B,CAAgCD,KAAhC,iBAA2C,CAAC;AAAEE,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,YAAlE,CAAzB,CAFsD,CAItD;AACA;AACA;;AACA,UAAMC,eAAe,GAAG,2BAAYC,UAAZ,KACtBN,gBADsB,aACtBA,gBADsB,uBACtBA,gBAAgB,CAAEE,KADI,MACeF,gBADf,aACeA,gBADf,gDACeA,gBAAgB,CAAEO,OADjC,oFACe,sBAA4B,CAA5B,CADf,2DACe,uBAAgCL,KAD/C,CAAxB;;AAGA,QAAIG,eAAJ,EAAqB;AACnB,aAAO,EACL,GAAGN,gBADE;AAELO,QAAAA,UAAU,EAAED;AAFP,OAAP;AAID;;AAED,WAAON,gBAAP;AACD;;AAEDS,EAAAA,gBAAgB,GAAI;AAClB,WAAO;AAAEJ,MAAAA,IAAI,EAAE,UAAR;AAAoBK,MAAAA,GAAG,EAAE;AAAzB,KAAP;AACD;;AAnC+G;;;8BAArGjB,gC,qBACc,qC","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 { SelectAuthenticator, SelectAuthenticatorValues } from './Base/SelectAuthenticator';\nimport { Authenticator } from '../../types';\nimport { IdxRemediationValue } from '../types/idx-js';\n\n\nexport type SelectAuthenticatorUnlockAccountValues = SelectAuthenticatorValues & {\n identifier?: string;\n methodType?: string;\n};\n\nexport class SelectAuthenticatorUnlockAccount extends SelectAuthenticator<SelectAuthenticatorUnlockAccountValues> {\n static remediationName = 'select-authenticator-unlock-account';\n authenticator?: Authenticator;\n\n map = {\n identifier: ['username']\n };\n\n canRemediate() {\n const identifier = this.getData('identifier');\n return !!identifier && super.canRemediate();\n }\n\n mapAuthenticator(remediationValue: IdxRemediationValue) {\n const authenticatorMap = super.mapAuthenticator(remediationValue);\n const methodTypeOption = this.selectedOption?.value.form.value.find(({ name }) => name === 'methodType');\n\n // defaults to 'manually defined' value\n // 2nd: option may have pre-defined value, like stateHandle\n // 3rd: if only a single OV option is available, default to that option\n const methodTypeValue = this.values.methodType ||\n methodTypeOption?.value as string || methodTypeOption?.options?.[0]?.value as string;\n\n if (methodTypeValue) {\n return {\n ...authenticatorMap,\n methodType: methodTypeValue\n };\n }\n\n return authenticatorMap;\n }\n\n getInputUsername () {\n return { name: 'username', key: 'string' };\n }\n\n}\n"],"file":"SelectAuthenticatorUnlockAccount.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/SelectEnrollProfile.ts"],"names":["SelectEnrollProfile","Remediator","canRemediate"],"mappings":";;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQO,MAAMA,mBAAN,SAAkCC,sBAAlC,CAA6C;AAKlDC,EAAAA,YAAY,GAAG;AACb,WAAO,IAAP;AACD;;AAPiD;;;8BAAvCF,mB,qBACc,uB","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';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SelectEnrollProfileValues extends RemediationValues {}\n\nexport class SelectEnrollProfile extends Remediator {\n static remediationName = 'select-enroll-profile';\n\n values!: SelectEnrollProfileValues;\n\n canRemediate() {\n return true;\n }\n}\n"],"file":"SelectEnrollProfile.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/SelectEnrollProfile.ts"],"names":["SelectEnrollProfile","Remediator","canRemediate"],"mappings":";;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQO,MAAMA,mBAAN,SAAkCC,sBAAlC,CAAwE;AAG7EC,EAAAA,YAAY,GAAG;AACb,WAAO,IAAP;AACD;;AAL4E;;;8BAAlEF,mB,qBACc,uB","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';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface SelectEnrollProfileValues extends RemediationValues {}\n\nexport class SelectEnrollProfile extends Remediator<SelectEnrollProfileValues> {\n static remediationName = 'select-enroll-profile';\n\n canRemediate() {\n return true;\n }\n}\n"],"file":"SelectEnrollProfile.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/SelectEnrollmentChannel.ts"],"names":["SelectEnrollmentChannel","Remediator","canRemediate","Boolean","channel","getNextStep","context","common","options","getChannels","authenticator","currentAuthenticator","value","remediation","remediationValue","form","name","getData","id","stateHandle","getValuesAfterProceed","trimmedValues","valueKey","values"],"mappings":";;;;;;;;;;;;;;;;;;AAaA;;AAEA;;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaO,MAAMA,uBAAN,SAAsCC,sBAAtC,CAAiD;AAKtDC,EAAAA,YAAY,GAAG;AACb,WAAOC,OAAO,CAAC,2BAAYC,OAAb,CAAd;AACD;;AAEDC,EAAAA,WAAW,CAACC,OAAD,EAAsB;AAC/B,UAAMC,MAAM,GAAG,MAAMF,WAAN,EAAf;AACA,UAAMG,OAAO,GAAG,KAAKC,WAAL,EAAhB;AACA,UAAMC,aAAa,GAAGJ,OAAO,CAACK,oBAAR,CAA6BC,KAAnD;AACA,WAAO,EACL,GAAGL,MADE;AAEL,UAAIC,OAAO,IAAI;AAAEA,QAAAA;AAAF,OAAf,CAFK;AAGLE,MAAAA;AAHK,KAAP;AAKD;;AAEOD,EAAAA,WAAW,GAA4B;AAAA;;AAC7C,UAAMC,aAAkC,GAAG,2CAAgC,KAAKG,WAArC,CAA3C;AACA,UAAMC,gBAAgB,GAAGJ,aAAa,CAACE,KAAvC;AACA,oCAAO,8BAAAE,gBAAgB,CAACC,IAAjB,CAAsBH,KAAtB,iBAAiC,CAAC;AAAEI,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,SAAxD,CAAP,0DAAO,sBAAoER,OAA3E;AACD;;AAEDS,EAAAA,OAAO,GAAG;AACR;AACA,UAAMH,gBAAgB,GAAG,KAAKD,WAAL,CAAkBD,KAAlB,CAAyB,CAAzB,EAA4BA,KAArD;AACA,WAAO;AACLF,MAAAA,aAAa,EAAE;AACbQ,QAAAA,EAAE,EAAEJ,gBAAgB,CAACC,IAAjB,CAAsBH,KAAtB,CAA4B,CAA5B,EAA+BA,KADtB;AAEbR,QAAAA,OAAO,EAAE,2BAAYA;AAFR,OADV;AAKLe,MAAAA,WAAW,EAAE,2BAAYA;AALpB,KAAP;AAQD;;AAEDC,EAAAA,qBAAqB,GAAG;AAAA;;AACtB,QAAIC,aAAa,GAAG,yEAAY,IAAZ,oBAAgCC,QAAQ,IAAIA,QAAQ,KAAK,SAAzD,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;;AA1CqD;;;8BAA3CtB,uB,qBACc,2B","sourcesContent":["/*!\n * Copyright (c) 2021-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 { IdxRemediationValueForm, IdxOption, IdxRemediationValue, IdxContext } from '../types/idx-js';\nimport { getAuthenticatorFromRemediation } from './util';\n\n\n\nexport type SelectEnrollmentChannelValues = RemediationValues & {\n channel?: string;\n};\n\nexport class SelectEnrollmentChannel extends Remediator {\n static remediationName = 'select-enrollment-channel';\n\n values!: SelectEnrollmentChannelValues;\n\n canRemediate() {\n return Boolean(this.values.channel);\n }\n\n getNextStep(context: IdxContext) {\n const common = super.getNextStep();\n const options = this.getChannels();\n const authenticator = context.currentAuthenticator.value;\n return {\n ...common,\n ...(options && { options }),\n authenticator,\n };\n }\n\n private getChannels(): IdxOption[] | undefined {\n const authenticator: IdxRemediationValue = getAuthenticatorFromRemediation(this.remediation);\n const remediationValue = authenticator.value as IdxRemediationValueForm;\n return remediationValue.form.value.find(({ name }) => name === 'channel')?.options;\n }\n\n getData() {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const remediationValue = this.remediation!.value![0].value as IdxRemediationValueForm;\n return {\n authenticator: {\n id: remediationValue.form.value[0].value,\n channel: this.values.channel,\n },\n stateHandle: this.values.stateHandle,\n\n };\n }\n\n getValuesAfterProceed() {\n let trimmedValues = Object.keys(this.values).filter(valueKey => valueKey !== 'channel');\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {});\n }\n}\n"],"file":"SelectEnrollmentChannel.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/SelectEnrollmentChannel.ts"],"names":["SelectEnrollmentChannel","Remediator","canRemediate","Boolean","channel","getNextStep","context","common","options","getChannels","authenticator","currentAuthenticator","value","remediation","remediationValue","form","name","getData","id","stateHandle","getValuesAfterProceed","trimmedValues","valueKey","values"],"mappings":";;;;;;;;;;;;;;;;;;AAaA;;AAEA;;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAaO,MAAMA,uBAAN,SAAsCC,sBAAtC,CAAgF;AAGrFC,EAAAA,YAAY,GAAG;AACb,WAAOC,OAAO,CAAC,2BAAYC,OAAb,CAAd;AACD;;AAEDC,EAAAA,WAAW,CAACC,OAAD,EAAsB;AAC/B,UAAMC,MAAM,GAAG,MAAMF,WAAN,EAAf;AACA,UAAMG,OAAO,GAAG,KAAKC,WAAL,EAAhB;AACA,UAAMC,aAAa,GAAGJ,OAAO,CAACK,oBAAR,CAA6BC,KAAnD;AACA,WAAO,EACL,GAAGL,MADE;AAEL,UAAIC,OAAO,IAAI;AAAEA,QAAAA;AAAF,OAAf,CAFK;AAGLE,MAAAA;AAHK,KAAP;AAKD;;AAEOD,EAAAA,WAAW,GAA4B;AAAA;;AAC7C,UAAMC,aAAkC,GAAG,2CAAgC,KAAKG,WAArC,CAA3C;AACA,UAAMC,gBAAgB,GAAGJ,aAAa,CAACE,KAAvC;AACA,oCAAO,8BAAAE,gBAAgB,CAACC,IAAjB,CAAsBH,KAAtB,iBAAiC,CAAC;AAAEI,MAAAA;AAAF,KAAD,KAAcA,IAAI,KAAK,SAAxD,CAAP,0DAAO,sBAAoER,OAA3E;AACD;;AAEDS,EAAAA,OAAO,GAAG;AACR;AACA,UAAMH,gBAAgB,GAAG,KAAKD,WAAL,CAAkBD,KAAlB,CAAyB,CAAzB,EAA4BA,KAArD;AACA,WAAO;AACLF,MAAAA,aAAa,EAAE;AACbQ,QAAAA,EAAE,EAAEJ,gBAAgB,CAACC,IAAjB,CAAsBH,KAAtB,CAA4B,CAA5B,EAA+BA,KADtB;AAEbR,QAAAA,OAAO,EAAE,2BAAYA;AAFR,OADV;AAKLe,MAAAA,WAAW,EAAE,2BAAYA;AALpB,KAAP;AAQD;;AAEDC,EAAAA,qBAAqB,GAAG;AAAA;;AACtB,QAAIC,aAAa,GAAG,yEAAY,IAAZ,oBAAgCC,QAAQ,IAAIA,QAAQ,KAAK,SAAzD,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;;AAxCoF;;;8BAA1EtB,uB,qBACc,2B","sourcesContent":["/*!\n * Copyright (c) 2021-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 { IdxRemediationValueForm, IdxOption, IdxRemediationValue, IdxContext } from '../types/idx-js';\nimport { getAuthenticatorFromRemediation } from './util';\n\n\n\nexport type SelectEnrollmentChannelValues = RemediationValues & {\n channel?: string;\n};\n\nexport class SelectEnrollmentChannel extends Remediator<SelectEnrollmentChannelValues> {\n static remediationName = 'select-enrollment-channel';\n\n canRemediate() {\n return Boolean(this.values.channel);\n }\n\n getNextStep(context: IdxContext) {\n const common = super.getNextStep();\n const options = this.getChannels();\n const authenticator = context.currentAuthenticator.value;\n return {\n ...common,\n ...(options && { options }),\n authenticator,\n };\n }\n\n private getChannels(): IdxOption[] | undefined {\n const authenticator: IdxRemediationValue = getAuthenticatorFromRemediation(this.remediation);\n const remediationValue = authenticator.value as IdxRemediationValueForm;\n return remediationValue.form.value.find(({ name }) => name === 'channel')?.options;\n }\n\n getData() {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const remediationValue = this.remediation!.value![0].value as IdxRemediationValueForm;\n return {\n authenticator: {\n id: remediationValue.form.value[0].value,\n channel: this.values.channel,\n },\n stateHandle: this.values.stateHandle,\n\n };\n }\n\n getValuesAfterProceed() {\n let trimmedValues = Object.keys(this.values).filter(valueKey => valueKey !== 'channel');\n return trimmedValues.reduce((values, valueKey) => ({...values, [valueKey]: this.values[valueKey]}), {});\n }\n}\n"],"file":"SelectEnrollmentChannel.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../lib/idx/remediators/Skip.ts"],"names":["Skip","Remediator","canRemediate","skip","options","step"],"mappings":";;;;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASO,MAAMA,IAAN,SAAmBC,sBAAnB,CAA8B;AAKnCC,EAAAA,YAAY,GAAG;AACb,WAAO,CAAC,CAAC,2BAAYC,IAAd,IAAsB,KAAKC,OAAL,CAAaC,IAAb,KAAsB,MAAnD;AACD;;AAPkC;;;8BAAxBL,I,qBACc,M","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';\n\nexport interface SkipValues extends RemediationValues {\n skip?: boolean;\n}\n\nexport class Skip extends Remediator {\n static remediationName = 'skip';\n\n values!: SkipValues;\n\n canRemediate() {\n return !!this.values.skip || this.options.step === 'skip';\n }\n\n}\n"],"file":"Skip.js"}
1
+ {"version":3,"sources":["../../../../lib/idx/remediators/Skip.ts"],"names":["Skip","Remediator","canRemediate","skip","options","step"],"mappings":";;;;;;;;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASO,MAAMA,IAAN,SAAmBC,sBAAnB,CAA0C;AAG/CC,EAAAA,YAAY,GAAG;AACb,WAAO,CAAC,CAAC,2BAAYC,IAAd,IAAsB,KAAKC,OAAL,CAAaC,IAAb,KAAsB,MAAnD;AACD;;AAL8C;;;8BAApCL,I,qBACc,M","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';\n\nexport interface SkipValues extends RemediationValues {\n skip?: boolean;\n}\n\nexport class Skip extends Remediator<SkipValues> {\n static remediationName = 'skip';\n\n canRemediate() {\n return !!this.values.skip || this.options.step === 'skip';\n }\n\n}\n"],"file":"Skip.js"}
package/cjs/idx/run.js CHANGED
@@ -35,7 +35,7 @@ var _util = require("./util");
35
35
  /* eslint-disable max-statements, complexity, max-depth */
36
36
  function initializeValues(options) {
37
37
  // remove known options, everything else is assumed to be a value
38
- const knownOptions = ['flow', 'remediators', 'actions', 'withCredentials', 'step'];
38
+ const knownOptions = ['flow', 'remediators', 'actions', 'withCredentials', 'step', 'shouldProceedWithEmailAuthenticator'];
39
39
  const values = { ...options
40
40
  };
41
41
  knownOptions.forEach(option => {
@@ -92,7 +92,11 @@ async function getDataFromIntrospect(authClient, data) {
92
92
  activationToken
93
93
  } = options;
94
94
  let idxResponse;
95
- let meta;
95
+ let meta = (0, _transactionMeta.getSavedTransactionMeta)(authClient, {
96
+ state,
97
+ recoveryToken,
98
+ activationToken
99
+ }); // may be undefined
96
100
 
97
101
  if (stateHandle) {
98
102
  idxResponse = await (0, _introspect.introspect)(authClient, {
@@ -103,12 +107,6 @@ async function getDataFromIntrospect(authClient, data) {
103
107
  } else {
104
108
  var _meta;
105
109
 
106
- // Try to resume saved transaction
107
- meta = (0, _transactionMeta.getSavedTransactionMeta)(authClient, {
108
- state,
109
- recoveryToken,
110
- activationToken
111
- });
112
110
  let interactionHandle = (_meta = meta) === null || _meta === void 0 ? void 0 : _meta.interactionHandle; // may be undefined
113
111
 
114
112
  if (!interactionHandle) {
@@ -150,7 +148,9 @@ async function getDataFromRemediate(data) {
150
148
  remediators,
151
149
  actions,
152
150
  flow,
153
- step
151
+ step,
152
+ shouldProceedWithEmailAuthenticator // will be removed in next major version
153
+
154
154
  } = options;
155
155
  const shouldRemediate = autoRemediate !== false && (remediators || actions || step);
156
156
 
@@ -170,7 +170,9 @@ async function getDataFromRemediate(data) {
170
170
  remediators,
171
171
  actions,
172
172
  flow,
173
- step
173
+ step,
174
+ shouldProceedWithEmailAuthenticator // will be removed in next major version
175
+
174
176
  });
175
177
  idxResponse = idxResponseFromRemediation;
176
178
  return { ...data,
@@ -347,7 +349,8 @@ async function run(authClient, options = {}) {
347
349
  context,
348
350
  neededToProceed,
349
351
  proceed,
350
- rawIdxState
352
+ rawIdxState,
353
+ requestDidSucceed
351
354
  } = idxResponse || {};
352
355
  return {
353
356
  status: status,
@@ -379,7 +382,8 @@ async function run(authClient, options = {}) {
379
382
  context: context,
380
383
  neededToProceed: neededToProceed,
381
384
  proceed: proceed,
382
- rawIdxState: rawIdxState
385
+ rawIdxState: rawIdxState,
386
+ requestDidSucceed
383
387
  };
384
388
  }
385
389
  //# sourceMappingURL=run.js.map