@okta/okta-auth-js 5.9.1 → 6.0.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 (275) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/README.md +16 -3
  3. package/cjs/AuthStateManager.js +2 -1
  4. package/cjs/AuthStateManager.js.map +1 -1
  5. package/cjs/OktaAuth.js +95 -78
  6. package/cjs/OktaAuth.js.map +1 -1
  7. package/cjs/OktaUserAgent.js +2 -2
  8. package/cjs/OktaUserAgent.js.map +1 -1
  9. package/cjs/PromiseQueue.js +6 -1
  10. package/cjs/PromiseQueue.js.map +1 -1
  11. package/cjs/StorageManager.js +3 -1
  12. package/cjs/StorageManager.js.map +1 -1
  13. package/cjs/TokenManager.js +33 -5
  14. package/cjs/TokenManager.js.map +1 -1
  15. package/cjs/TransactionManager.js +17 -4
  16. package/cjs/TransactionManager.js.map +1 -1
  17. package/cjs/browser/browserStorage.js +7 -5
  18. package/cjs/browser/browserStorage.js.map +1 -1
  19. package/cjs/browser/fingerprint.js +3 -1
  20. package/cjs/browser/fingerprint.js.map +1 -1
  21. package/cjs/builderUtil.js +3 -17
  22. package/cjs/builderUtil.js.map +1 -1
  23. package/cjs/crypto/oidcHash.js.map +1 -1
  24. package/cjs/features.js +9 -3
  25. package/cjs/features.js.map +1 -1
  26. package/cjs/fetch/fetchRequest.js +2 -1
  27. package/cjs/fetch/fetchRequest.js.map +1 -1
  28. package/cjs/http/request.js +2 -0
  29. package/cjs/http/request.js.map +1 -1
  30. package/cjs/idx/authenticate.js +8 -5
  31. package/cjs/idx/authenticate.js.map +1 -1
  32. package/cjs/idx/authenticator/Authenticator.js +14 -0
  33. package/cjs/idx/authenticator/Authenticator.js.map +1 -0
  34. package/cjs/idx/authenticator/OktaPassword.js +31 -0
  35. package/cjs/idx/authenticator/OktaPassword.js.map +1 -0
  36. package/cjs/idx/authenticator/OktaVerifyTotp.js +17 -0
  37. package/cjs/idx/authenticator/OktaVerifyTotp.js.map +1 -0
  38. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js +50 -0
  39. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -0
  40. package/cjs/idx/authenticator/SecurityQuestionVerification.js +32 -0
  41. package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -0
  42. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js +34 -0
  43. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -0
  44. package/cjs/idx/authenticator/getAuthenticator.js +41 -0
  45. package/cjs/idx/authenticator/getAuthenticator.js.map +1 -0
  46. package/cjs/idx/authenticator/index.js +80 -0
  47. package/cjs/idx/authenticator/index.js.map +1 -0
  48. package/cjs/idx/cancel.js +5 -0
  49. package/cjs/idx/cancel.js.map +1 -1
  50. package/cjs/idx/emailVerify.js +73 -0
  51. package/cjs/idx/emailVerify.js.map +1 -0
  52. package/cjs/idx/flow/AuthenticationFlow.js +4 -1
  53. package/cjs/idx/flow/AuthenticationFlow.js.map +1 -1
  54. package/cjs/idx/flow/FlowSpecification.js +16 -14
  55. package/cjs/idx/flow/FlowSpecification.js.map +1 -1
  56. package/cjs/idx/flow/RegistrationFlow.js +3 -0
  57. package/cjs/idx/flow/RegistrationFlow.js.map +1 -1
  58. package/cjs/idx/flow/index.js +0 -52
  59. package/cjs/idx/flow/index.js.map +1 -1
  60. package/cjs/idx/handleInteractionCodeRedirect.js +1 -0
  61. package/cjs/idx/handleInteractionCodeRedirect.js.map +1 -1
  62. package/cjs/idx/index.js +26 -0
  63. package/cjs/idx/index.js.map +1 -1
  64. package/cjs/idx/interact.js +47 -29
  65. package/cjs/idx/interact.js.map +1 -1
  66. package/cjs/idx/introspect.js +12 -14
  67. package/cjs/idx/introspect.js.map +1 -1
  68. package/cjs/idx/poll.js +59 -0
  69. package/cjs/idx/poll.js.map +1 -0
  70. package/cjs/idx/proceed.js +4 -7
  71. package/cjs/idx/proceed.js.map +1 -1
  72. package/cjs/idx/recoverPassword.js +1 -1
  73. package/cjs/idx/recoverPassword.js.map +1 -1
  74. package/cjs/idx/register.js +16 -14
  75. package/cjs/idx/register.js.map +1 -1
  76. package/cjs/idx/remediate.js +55 -92
  77. package/cjs/idx/remediate.js.map +1 -1
  78. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js +11 -12
  79. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
  80. package/cjs/idx/remediators/AuthenticatorVerificationData.js +8 -9
  81. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  82. package/cjs/idx/remediators/Base/AuthenticatorData.js +48 -35
  83. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  84. package/cjs/idx/remediators/Base/Remediator.js +53 -20
  85. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  86. package/cjs/idx/remediators/Base/SelectAuthenticator.js +20 -19
  87. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  88. package/cjs/idx/remediators/Base/VerifyAuthenticator.js +8 -28
  89. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  90. package/cjs/idx/remediators/ChallengeAuthenticator.js.map +1 -1
  91. package/cjs/idx/remediators/ChallengePoll.js +26 -0
  92. package/cjs/idx/remediators/ChallengePoll.js.map +1 -0
  93. package/cjs/idx/remediators/EnrollAuthenticator.js.map +1 -1
  94. package/cjs/idx/remediators/EnrollPoll.js +55 -0
  95. package/cjs/idx/remediators/EnrollPoll.js.map +1 -0
  96. package/cjs/idx/remediators/EnrollProfile.js +4 -1
  97. package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
  98. package/cjs/idx/remediators/EnrollmentChannelData.js +80 -0
  99. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -0
  100. package/cjs/idx/remediators/Identify.js +2 -35
  101. package/cjs/idx/remediators/Identify.js.map +1 -1
  102. package/cjs/idx/remediators/ReEnrollAuthenticator.js +1 -0
  103. package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
  104. package/cjs/idx/remediators/ResetAuthenticator.js.map +1 -1
  105. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js +23 -2
  106. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
  107. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -1
  108. package/cjs/idx/remediators/SelectEnrollProfile.js.map +1 -1
  109. package/cjs/idx/remediators/SelectEnrollmentChannel.js +74 -0
  110. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -0
  111. package/cjs/idx/remediators/Skip.js +7 -0
  112. package/cjs/idx/remediators/Skip.js.map +1 -1
  113. package/cjs/idx/remediators/index.js +52 -0
  114. package/cjs/idx/remediators/index.js.map +1 -1
  115. package/cjs/idx/remediators/util.js +7 -2
  116. package/cjs/idx/remediators/util.js.map +1 -1
  117. package/cjs/idx/run.js +110 -52
  118. package/cjs/idx/run.js.map +1 -1
  119. package/cjs/idx/startTransaction.js +4 -2
  120. package/cjs/idx/startTransaction.js.map +1 -1
  121. package/cjs/idx/transactionMeta.js +82 -69
  122. package/cjs/idx/transactionMeta.js.map +1 -1
  123. package/cjs/idx/types/idx-js.js.map +1 -1
  124. package/cjs/idx/types/index.js +21 -4
  125. package/cjs/idx/types/index.js.map +1 -1
  126. package/cjs/index.js +14 -0
  127. package/cjs/index.js.map +1 -1
  128. package/cjs/oidc/endpoints/authorize.js +2 -0
  129. package/cjs/oidc/endpoints/authorize.js.map +1 -1
  130. package/cjs/oidc/endpoints/token.js +1 -0
  131. package/cjs/oidc/endpoints/token.js.map +1 -1
  132. package/cjs/oidc/exchangeCodeForTokens.js +3 -3
  133. package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
  134. package/cjs/oidc/getToken.js +3 -1
  135. package/cjs/oidc/getToken.js.map +1 -1
  136. package/cjs/oidc/getWithRedirect.js +10 -37
  137. package/cjs/oidc/getWithRedirect.js.map +1 -1
  138. package/cjs/oidc/handleOAuthResponse.js +80 -86
  139. package/cjs/oidc/handleOAuthResponse.js.map +1 -1
  140. package/cjs/oidc/parseFromUrl.js.map +1 -1
  141. package/cjs/oidc/renewToken.js.map +1 -1
  142. package/cjs/oidc/renewTokens.js +1 -1
  143. package/cjs/oidc/renewTokens.js.map +1 -1
  144. package/cjs/oidc/revokeToken.js +28 -29
  145. package/cjs/oidc/revokeToken.js.map +1 -1
  146. package/cjs/oidc/util/index.js +14 -0
  147. package/cjs/oidc/util/index.js.map +1 -1
  148. package/cjs/oidc/util/loginRedirect.js +6 -1
  149. package/cjs/oidc/util/loginRedirect.js.map +1 -1
  150. package/cjs/oidc/util/oauth.js.map +1 -1
  151. package/cjs/oidc/util/oauthMeta.js +36 -0
  152. package/cjs/oidc/util/oauthMeta.js.map +1 -0
  153. package/cjs/oidc/util/pkce.js.map +1 -1
  154. package/cjs/oidc/util/prepareTokenParams.js +57 -36
  155. package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
  156. package/cjs/oidc/util/validateClaims.js +2 -0
  157. package/cjs/oidc/util/validateClaims.js.map +1 -1
  158. package/cjs/oidc/verifyToken.js +2 -1
  159. package/cjs/oidc/verifyToken.js.map +1 -1
  160. package/cjs/options.js +6 -2
  161. package/cjs/options.js.map +1 -1
  162. package/cjs/server/serverStorage.js +1 -1
  163. package/cjs/server/serverStorage.js.map +1 -1
  164. package/cjs/services/TokenService.js +3 -0
  165. package/cjs/services/TokenService.js.map +1 -1
  166. package/cjs/tx/AuthTransaction.js +3 -0
  167. package/cjs/tx/AuthTransaction.js.map +1 -1
  168. package/cjs/tx/TransactionState.js +0 -17
  169. package/cjs/tx/TransactionState.js.map +1 -1
  170. package/cjs/tx/api.js +3 -2
  171. package/cjs/tx/api.js.map +1 -1
  172. package/cjs/types/Token.js.map +1 -1
  173. package/cjs/types/Transaction.js.map +1 -1
  174. package/cjs/util/index.js +0 -13
  175. package/cjs/util/index.js.map +1 -1
  176. package/cjs/util/url.js.map +1 -1
  177. package/dist/okta-auth-js.min.js +1 -1
  178. package/dist/okta-auth-js.min.js.map +1 -1
  179. package/dist/okta-auth-js.umd.js +1 -1
  180. package/dist/okta-auth-js.umd.js.map +1 -1
  181. package/esm/index.js +2603 -1814
  182. package/esm/index.js.map +1 -1
  183. package/lib/AuthStateManager.d.ts +1 -2
  184. package/lib/OktaAuth.d.ts +4 -10
  185. package/lib/StorageManager.d.ts +1 -1
  186. package/lib/TokenManager.d.ts +4 -2
  187. package/lib/TransactionManager.d.ts +3 -2
  188. package/lib/browser/fingerprint.d.ts +1 -1
  189. package/lib/builderUtil.d.ts +1 -2
  190. package/lib/crypto/browser.d.ts +1 -1
  191. package/lib/features.d.ts +1 -1
  192. package/lib/idx/authenticate.d.ts +1 -1
  193. package/lib/idx/authenticator/Authenticator.d.ts +12 -0
  194. package/lib/idx/authenticator/OktaPassword.d.ts +11 -0
  195. package/lib/idx/authenticator/OktaVerifyTotp.d.ts +9 -0
  196. package/lib/idx/authenticator/SecurityQuestionEnrollment.d.ts +28 -0
  197. package/lib/idx/authenticator/SecurityQuestionVerification.d.ts +14 -0
  198. package/lib/idx/authenticator/VerificationCodeAuthenticator.d.ts +10 -0
  199. package/lib/idx/authenticator/getAuthenticator.d.ts +3 -0
  200. package/lib/idx/authenticator/index.d.ts +6 -0
  201. package/lib/idx/cancel.d.ts +1 -1
  202. package/lib/{util → idx}/emailVerify.d.ts +10 -1
  203. package/lib/idx/flow/FlowSpecification.d.ts +1 -2
  204. package/lib/idx/flow/index.d.ts +0 -4
  205. package/lib/idx/index.d.ts +2 -0
  206. package/lib/idx/interact.d.ts +5 -11
  207. package/lib/idx/introspect.d.ts +3 -2
  208. package/lib/idx/{flow/AuthenticationFlowMonitor.d.ts → poll.d.ts} +3 -5
  209. package/lib/idx/proceed.d.ts +4 -1
  210. package/lib/idx/recoverPassword.d.ts +1 -1
  211. package/lib/idx/register.d.ts +1 -1
  212. package/lib/idx/remediate.d.ts +10 -4
  213. package/lib/idx/remediators/AuthenticatorEnrollmentData.d.ts +12 -8
  214. package/lib/idx/remediators/AuthenticatorVerificationData.d.ts +3 -4
  215. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +13 -8
  216. package/lib/idx/remediators/Base/Remediator.d.ts +9 -6
  217. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +9 -8
  218. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +10 -5
  219. package/lib/idx/{flow/RegistrationFlowMonitor.d.ts → remediators/ChallengePoll.d.ts} +3 -3
  220. package/lib/idx/{flow/PasswordRecoveryFlowMonitor.d.ts → remediators/EnrollPoll.d.ts} +12 -4
  221. package/lib/idx/remediators/EnrollProfile.d.ts +1 -1
  222. package/lib/idx/remediators/EnrollmentChannelData.d.ts +53 -0
  223. package/lib/idx/remediators/Identify.d.ts +2 -5
  224. package/lib/idx/remediators/ReEnrollAuthenticator.d.ts +2 -2
  225. package/lib/idx/remediators/RedirectIdp.d.ts +3 -3
  226. package/lib/idx/remediators/SelectAuthenticatorAuthenticate.d.ts +6 -2
  227. package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +39 -0
  228. package/lib/idx/remediators/Skip.d.ts +3 -0
  229. package/lib/idx/remediators/index.d.ts +4 -0
  230. package/lib/idx/remediators/util.d.ts +2 -2
  231. package/lib/idx/run.d.ts +4 -3
  232. package/lib/idx/startTransaction.d.ts +3 -2
  233. package/lib/idx/transactionMeta.d.ts +6 -27
  234. package/lib/idx/types/idx-js.d.ts +57 -2
  235. package/lib/idx/types/index.d.ts +25 -8
  236. package/lib/index.d.ts +1 -0
  237. package/lib/oidc/exchangeCodeForTokens.d.ts +12 -0
  238. package/lib/oidc/getWithRedirect.d.ts +1 -1
  239. package/lib/oidc/handleOAuthResponse.d.ts +1 -1
  240. package/lib/oidc/parseFromUrl.d.ts +1 -1
  241. package/lib/oidc/renewToken.d.ts +1 -1
  242. package/lib/oidc/renewTokens.d.ts +1 -1
  243. package/lib/oidc/util/browser.d.ts +1 -1
  244. package/lib/oidc/util/errors.d.ts +1 -1
  245. package/lib/oidc/util/index.d.ts +1 -0
  246. package/lib/oidc/util/oauth.d.ts +1 -8
  247. package/lib/oidc/util/oauthMeta.d.ts +2 -0
  248. package/lib/oidc/util/prepareTokenParams.d.ts +3 -0
  249. package/lib/server/serverStorage.d.ts +1 -1
  250. package/lib/services/TokenService.d.ts +2 -2
  251. package/lib/tx/AuthTransaction.d.ts +2 -2
  252. package/lib/tx/TransactionState.d.ts +11 -1
  253. package/lib/tx/api.d.ts +6 -6
  254. package/lib/types/OktaAuthOptions.d.ts +6 -6
  255. package/lib/types/Storage.d.ts +3 -3
  256. package/lib/types/Token.d.ts +1 -0
  257. package/lib/types/Transaction.d.ts +11 -0
  258. package/lib/types/UserClaims.d.ts +3 -3
  259. package/lib/types/api.d.ts +31 -17
  260. package/lib/util/console.d.ts +1 -1
  261. package/lib/util/index.d.ts +0 -1
  262. package/lib/util/types.d.ts +1 -1
  263. package/lib/util/url.d.ts +2 -2
  264. package/package.json +6 -8
  265. package/cjs/idx/flow/AuthenticationFlowMonitor.js +0 -45
  266. package/cjs/idx/flow/AuthenticationFlowMonitor.js.map +0 -1
  267. package/cjs/idx/flow/FlowMonitor.js +0 -69
  268. package/cjs/idx/flow/FlowMonitor.js.map +0 -1
  269. package/cjs/idx/flow/PasswordRecoveryFlowMonitor.js +0 -55
  270. package/cjs/idx/flow/PasswordRecoveryFlowMonitor.js.map +0 -1
  271. package/cjs/idx/flow/RegistrationFlowMonitor.js +0 -35
  272. package/cjs/idx/flow/RegistrationFlowMonitor.js.map +0 -1
  273. package/cjs/util/emailVerify.js +0 -28
  274. package/cjs/util/emailVerify.js.map +0 -1
  275. package/lib/idx/flow/FlowMonitor.d.ts +0 -23
@@ -1 +1 @@
1
- {"version":3,"sources":["../../lib/features.ts"],"names":["isWindowsPhone","isBrowser","document","window","isIE11OrLess","documentMode","getUserAgent","navigator","userAgent","isFingerprintSupported","agent","test","isPopupPostMessageSupported","isIE8or9","postMessage","isTokenVerifySupported","webcrypto","subtle","Uint8Array","hasTextEncoder","TextEncoder","isPKCESupported","isHTTPS","location","protocol","isLocalhost","hostname"],"mappings":";;;;;;;;;;;;;AAeA;;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AACA;AAIA,MAAMA,cAAc,GAAG,mCAAvB;;AAEO,SAASC,SAAT,GAAqB;AAC1B,SAAO,OAAOC,QAAP,KAAoB,WAApB,IAAmC,OAAOC,MAAP,KAAkB,WAA5D;AACD;;AAEM,SAASC,YAAT,GAAwB;AAC7B,SAAOH,SAAS,MAAM,CAAC,CAACC,QAAQ,CAACG,YAA1B,IAA0CH,QAAQ,CAACG,YAAT,IAAyB,EAA1E;AACD;;AAEM,SAASC,YAAT,GAAwB;AAC7B,SAAOC,SAAS,CAACC,SAAjB;AACD;;AAEM,SAASC,sBAAT,GAAkC;AACvC,QAAMC,KAAK,GAAGJ,YAAY,EAA1B;AACA,SAAOI,KAAK,IAAI,CAACV,cAAc,CAACW,IAAf,CAAoBD,KAApB,CAAjB;AACD;;AAEM,SAASE,2BAAT,GAAuC;AAC5C,MAAI,CAACX,SAAS,EAAd,EAAkB;AAChB,WAAO,KAAP;AACD;;AACD,MAAIY,QAAQ,GAAGX,QAAQ,CAACG,YAAT,IAAyBH,QAAQ,CAACG,YAAT,GAAwB,EAAhE;;AACA,MAAIF,MAAM,CAACW,WAAP,IAAsB,CAACD,QAA3B,EAAqC;AACnC,WAAO,IAAP;AACD;;AACD,SAAO,KAAP;AACD;;AAEM,SAASE,sBAAT,GAAkC;AACvC,SAAO,OAAOC,iBAAP,KAAqB,WAArB,IACFA,sBAAc,IADZ,IAEF,OAAOA,kBAAUC,MAAjB,KAA4B,WAF1B,IAGF,OAAOC,UAAP,KAAsB,WAH3B;AAID;;AAEM,SAASC,cAAT,GAA0B;AAC/B,SAAO,OAAOC,WAAP,KAAuB,WAA9B;AACD;;AAEM,SAASC,eAAT,GAA2B;AAChC,SAAON,sBAAsB,MAAMI,cAAc,EAAjD;AACD;;AAEM,SAASG,OAAT,GAAmB;AACxB,MAAI,CAACrB,SAAS,EAAd,EAAkB;AAChB,WAAO,KAAP;AACD;;AACD,SAAOE,MAAM,CAACoB,QAAP,CAAgBC,QAAhB,KAA6B,QAApC;AACD;;AAEM,SAASC,WAAT,GAAuB;AAC5B;AACA,SAAOxB,SAAS,MAAME,MAAM,CAACoB,QAAP,CAAgBG,QAAhB,KAA6B,WAAnD;AACD","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint-disable node/no-unsupported-features/node-builtins */\n/* global document, window, TextEncoder, navigator */\n\nimport { webcrypto } from './crypto';\n\nconst isWindowsPhone = /windows phone|iemobile|wpdesktop/i;\t\n\nexport function isBrowser() {\n return typeof document !== 'undefined' && typeof window !== 'undefined';\n}\n\nexport function isIE11OrLess() {\n return isBrowser() && !!document.documentMode && document.documentMode <= 11;\n}\n\nexport function getUserAgent() {\n return navigator.userAgent;\n}\n\nexport function isFingerprintSupported() {\n const agent = getUserAgent();\n return agent && !isWindowsPhone.test(agent);\t\n}\n\nexport function isPopupPostMessageSupported() {\n if (!isBrowser()) {\n return false;\n }\n var isIE8or9 = document.documentMode && document.documentMode < 10;\n if (window.postMessage && !isIE8or9) {\n return true;\n }\n return false;\n}\n\nexport function isTokenVerifySupported() {\n return typeof webcrypto !== 'undefined'\n && webcrypto !== null\n && typeof webcrypto.subtle !== 'undefined'\n && typeof Uint8Array !== 'undefined';\n}\n\nexport function hasTextEncoder() {\n return typeof TextEncoder !== 'undefined';\n}\n\nexport function isPKCESupported() {\n return isTokenVerifySupported() && hasTextEncoder();\n}\n\nexport function isHTTPS() {\n if (!isBrowser()) {\n return false;\n }\n return window.location.protocol === 'https:';\n}\n\nexport function isLocalhost() {\n // eslint-disable-next-line compat/compat\n return isBrowser() && window.location.hostname === 'localhost';\n}\n\n"],"file":"features.js"}
1
+ {"version":3,"sources":["../../lib/features.ts"],"names":["isWindowsPhone","isBrowser","document","window","isIE11OrLess","documentMode","getUserAgent","navigator","userAgent","isFingerprintSupported","agent","test","isPopupPostMessageSupported","isIE8or9","postMessage","isTokenVerifySupported","webcrypto","subtle","Uint8Array","hasTextEncoder","TextEncoder","isPKCESupported","isHTTPS","location","protocol","isLocalhost","hostname"],"mappings":";;;;;;;;;;;;;AAeA;;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AACA;AAIA,MAAMA,cAAc,GAAG,mCAAvB;;AAEO,SAASC,SAAT,GAAqB;AAC1B,SAAO,OAAOC,QAAP,KAAoB,WAApB,IAAmC,OAAOC,MAAP,KAAkB,WAA5D;AACD;;AAEM,SAASC,YAAT,GAAwB;AAC7B,MAAI,CAACH,SAAS,EAAd,EAAkB;AAChB,WAAO,KAAP;AACD;;AACD,QAAMI,YAAY,GAAIH,QAAD,CAAkBG,YAAvC;AACA,SAAO,CAAC,CAACA,YAAF,IAAkBA,YAAY,IAAI,EAAzC;AACD;;AAEM,SAASC,YAAT,GAAwB;AAC7B,SAAOC,SAAS,CAACC,SAAjB;AACD;;AAEM,SAASC,sBAAT,GAAkC;AACvC,QAAMC,KAAK,GAAGJ,YAAY,EAA1B;AACA,SAAOI,KAAK,IAAI,CAACV,cAAc,CAACW,IAAf,CAAoBD,KAApB,CAAjB;AACD;;AAEM,SAASE,2BAAT,GAAuC;AAC5C,MAAI,CAACX,SAAS,EAAd,EAAkB;AAChB,WAAO,KAAP;AACD;;AACD,QAAMI,YAAY,GAAIH,QAAD,CAAkBG,YAAvC;AACA,MAAIQ,QAAQ,GAAGR,YAAY,IAAIA,YAAY,GAAG,EAA9C;;AACA,MAAI,OAAOF,MAAM,CAACW,WAAd,KAA8B,WAA9B,IAA6C,CAACD,QAAlD,EAA4D;AAC1D,WAAO,IAAP;AACD;;AACD,SAAO,KAAP;AACD;;AAEM,SAASE,sBAAT,GAAkC;AACvC,SAAO,OAAOC,iBAAP,KAAqB,WAArB,IACFA,sBAAc,IADZ,IAEF,OAAOA,kBAAUC,MAAjB,KAA4B,WAF1B,IAGF,OAAOC,UAAP,KAAsB,WAH3B;AAID;;AAEM,SAASC,cAAT,GAA0B;AAC/B,SAAO,OAAOC,WAAP,KAAuB,WAA9B;AACD;;AAEM,SAASC,eAAT,GAA2B;AAChC,SAAON,sBAAsB,MAAMI,cAAc,EAAjD;AACD;;AAEM,SAASG,OAAT,GAAmB;AACxB,MAAI,CAACrB,SAAS,EAAd,EAAkB;AAChB,WAAO,KAAP;AACD;;AACD,SAAOE,MAAM,CAACoB,QAAP,CAAgBC,QAAhB,KAA6B,QAApC;AACD;;AAEM,SAASC,WAAT,GAAuB;AAC5B;AACA,SAAOxB,SAAS,MAAME,MAAM,CAACoB,QAAP,CAAgBG,QAAhB,KAA6B,WAAnD;AACD","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n/* eslint-disable node/no-unsupported-features/node-builtins */\n/* global document, window, TextEncoder, navigator */\n\nimport { webcrypto } from './crypto';\n\nconst isWindowsPhone = /windows phone|iemobile|wpdesktop/i;\t\n\nexport function isBrowser() {\n return typeof document !== 'undefined' && typeof window !== 'undefined';\n}\n\nexport function isIE11OrLess() {\n if (!isBrowser()) {\n return false;\n }\n const documentMode = (document as any).documentMode;\n return !!documentMode && documentMode <= 11;\n}\n\nexport function getUserAgent() {\n return navigator.userAgent;\n}\n\nexport function isFingerprintSupported() {\n const agent = getUserAgent();\n return agent && !isWindowsPhone.test(agent);\t\n}\n\nexport function isPopupPostMessageSupported() {\n if (!isBrowser()) {\n return false;\n }\n const documentMode = (document as any).documentMode;\n var isIE8or9 = documentMode && documentMode < 10;\n if (typeof window.postMessage !== 'undefined' && !isIE8or9) {\n return true;\n }\n return false;\n}\n\nexport function isTokenVerifySupported() {\n return typeof webcrypto !== 'undefined'\n && webcrypto !== null\n && typeof webcrypto.subtle !== 'undefined'\n && typeof Uint8Array !== 'undefined';\n}\n\nexport function hasTextEncoder() {\n return typeof TextEncoder !== 'undefined';\n}\n\nexport function isPKCESupported() {\n return isTokenVerifySupported() && hasTextEncoder();\n}\n\nexport function isHTTPS() {\n if (!isBrowser()) {\n return false;\n }\n return window.location.protocol === 'https:';\n}\n\nexport function isLocalhost() {\n // eslint-disable-next-line compat/compat\n return isBrowser() && window.location.hostname === 'localhost';\n}\n\n"],"file":"features.js"}
@@ -18,7 +18,8 @@ var _crossFetch = _interopRequireDefault(require("cross-fetch"));
18
18
  * See the License for the specific language governing permissions and limitations under the License.
19
19
  */
20
20
  function readData(response) {
21
- if (response.headers.get('Content-Type') && response.headers.get('Content-Type').toLowerCase().indexOf('application/json') >= 0) {
21
+ if (response.headers.get('Content-Type') && // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
22
+ response.headers.get('Content-Type').toLowerCase().indexOf('application/json') >= 0) {
22
23
  return response.json() // JSON parse can fail if response is not a valid object
23
24
  .catch(e => {
24
25
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/fetch/fetchRequest.ts"],"names":["readData","response","headers","get","toLowerCase","indexOf","json","catch","e","error","errorSummary","text","formatResult","status","data","isObject","pair","entries","result","responseText","JSON","stringify","responseType","responseJSON","fetchRequest","method","url","args","body","contentType","fetch","global","crossFetch","fetchPromise","credentials","withCredentials","finally","Promise","resolve","then","ok"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2018-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 crossFetch from 'cross-fetch';\nimport { FetchOptions, FetchResponse, HttpResponse } from '../types';\n\nfunction readData(response: FetchResponse): Promise<object | string> {\n if (response.headers.get('Content-Type') &&\n response.headers.get('Content-Type').toLowerCase().indexOf('application/json') >= 0) {\n return response.json()\n // JSON parse can fail if response is not a valid object\n .catch(e => {\n return {\n error: e,\n errorSummary: 'Could not parse server response'\n };\n });\n } else {\n return response.text();\n }\n}\n\nfunction formatResult(status: number, data: object | string, response: Response) {\n const isObject = typeof data === 'object';\n const headers = {};\n for (const pair of response.headers.entries()) {\n headers[pair[0]] = pair[1];\n }\n const result: HttpResponse = {\n responseText: isObject ? JSON.stringify(data) : data as string,\n status: status,\n headers\n };\n if (isObject) {\n result.responseType = 'json';\n result.responseJSON = data as object;\n }\n return result;\n}\n\n/* eslint-disable complexity */\nfunction fetchRequest(method: string, url: string, args: FetchOptions) {\n var body = args.data;\n var headers = args.headers || {};\n var contentType = (headers['Content-Type'] || headers['content-type'] || '');\n\n // JSON encode body (if appropriate)\n if (contentType === 'application/json' && body && typeof body !== 'string') {\n body = JSON.stringify(body);\n }\n var fetch = global.fetch || crossFetch;\n var fetchPromise = fetch(url, {\n method: method,\n headers: args.headers,\n body: body as string,\n credentials: args.withCredentials ? 'include' : 'omit'\n });\n\n if (!fetchPromise.finally) {\n fetchPromise = Promise.resolve(fetchPromise);\n }\n\n return fetchPromise.then(function(response) {\n var error = !response.ok;\n var status = response.status;\n return readData(response)\n .then(data => {\n return formatResult(status, data, response);\n })\n .then(result => {\n if (error || result.responseJSON?.error) {\n // Throwing result object since error handling is done in http.js\n throw result;\n }\n return result;\n });\n });\n}\n\nexport default fetchRequest;\n"],"file":"fetchRequest.js"}
1
+ {"version":3,"sources":["../../../lib/fetch/fetchRequest.ts"],"names":["readData","response","headers","get","toLowerCase","indexOf","json","catch","e","error","errorSummary","text","formatResult","status","data","isObject","pair","entries","result","responseText","JSON","stringify","responseType","responseJSON","fetchRequest","method","url","args","body","contentType","fetch","global","crossFetch","fetchPromise","credentials","withCredentials","finally","Promise","resolve","then","ok"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2018-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 crossFetch from 'cross-fetch';\nimport { FetchOptions, HttpResponse } from '../types';\n\nfunction readData(response: Response): Promise<object | string> {\n if (response.headers.get('Content-Type') &&\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n response.headers.get('Content-Type')!.toLowerCase().indexOf('application/json') >= 0) {\n return response.json()\n // JSON parse can fail if response is not a valid object\n .catch(e => {\n return {\n error: e,\n errorSummary: 'Could not parse server response'\n };\n });\n } else {\n return response.text();\n }\n}\n\nfunction formatResult(status: number, data: object | string, response: Response) {\n const isObject = typeof data === 'object';\n const headers = {};\n for (const pair of (response.headers as any).entries()) {\n headers[pair[0]] = pair[1];\n }\n const result: HttpResponse = {\n responseText: isObject ? JSON.stringify(data) : data as string,\n status: status,\n headers\n };\n if (isObject) {\n result.responseType = 'json';\n result.responseJSON = data as object;\n }\n return result;\n}\n\n/* eslint-disable complexity */\nfunction fetchRequest(method: string, url: string, args: FetchOptions) {\n var body = args.data;\n var headers = args.headers || {};\n var contentType = (headers['Content-Type'] || headers['content-type'] || '');\n\n // JSON encode body (if appropriate)\n if (contentType === 'application/json' && body && typeof body !== 'string') {\n body = JSON.stringify(body);\n }\n var fetch = global.fetch || crossFetch;\n var fetchPromise = fetch(url, {\n method: method,\n headers: args.headers,\n body: body as string,\n credentials: args.withCredentials ? 'include' : 'omit'\n });\n\n if (!fetchPromise.finally) {\n fetchPromise = Promise.resolve(fetchPromise);\n }\n\n return fetchPromise.then(function(response) {\n var error = !response.ok;\n var status = response.status;\n return readData(response)\n .then(data => {\n return formatResult(status, data, response);\n })\n .then(result => {\n if (error || result.responseJSON?.error) {\n // Throwing result object since error handling is done in http.js\n throw result;\n }\n return result;\n });\n });\n}\n\nexport default fetchRequest;\n"],"file":"fetchRequest.js"}
@@ -12,6 +12,8 @@ var _AuthApiError = _interopRequireDefault(require("../errors/AuthApiError"));
12
12
 
13
13
  var _constants = require("../constants");
14
14
 
15
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
16
+
15
17
  /*!
16
18
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
17
19
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/http/request.ts"],"names":["httpRequest","sdk","options","url","method","args","saveAuthnState","accessToken","withCredentials","storageUtil","storage","httpCache","storageManager","getHttpCache","cookies","cacheResponse","cacheContents","getStorage","cachedResponse","Date","now","expiresAt","Promise","resolve","response","oktaUserAgentHeader","_oktaUserAgent","getHttpHeader","headers","Object","assign","ajaxOptions","data","undefined","err","res","httpRequestClient","then","resp","responseText","JSON","parse","stateToken","delete","STATE_TOKEN_KEY_NAME","set","updateStorage","Math","floor","DEFAULT_CACHE_DURATION","catch","serverErr","e","errorSummary","status","transformErrorXHR","AuthApiError","errorCode","get","getIssuerOrigin","getOptions","post","postOptions"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\n/* eslint-disable complexity */\nimport { isString, clone, isAbsoluteUrl, removeNils } from '../util';\nimport AuthApiError from '../errors/AuthApiError';\nimport { STATE_TOKEN_KEY_NAME, DEFAULT_CACHE_DURATION } from '../constants';\nimport { OktaAuth, RequestOptions, FetchOptions, RequestData } from '../types';\n\nexport function httpRequest(sdk: OktaAuth, options: RequestOptions): Promise<any> {\n options = options || {};\n var url = options.url,\n method = options.method,\n args = options.args,\n saveAuthnState = options.saveAuthnState,\n accessToken = options.accessToken,\n withCredentials = options.withCredentials === true, // default value is false\n storageUtil = sdk.options.storageUtil,\n storage = storageUtil.storage,\n httpCache = sdk.storageManager.getHttpCache(sdk.options.cookies);\n\n if (options.cacheResponse) {\n var cacheContents = httpCache.getStorage();\n var cachedResponse = cacheContents[url];\n if (cachedResponse && Date.now()/1000 < cachedResponse.expiresAt) {\n return Promise.resolve(cachedResponse.response);\n }\n }\n\n var oktaUserAgentHeader = sdk._oktaUserAgent.getHttpHeader();\n var headers: HeadersInit = {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n ...oktaUserAgentHeader\n };\n Object.assign(headers, sdk.options.headers, options.headers);\n headers = removeNils(headers) as HeadersInit;\n\n if (accessToken && isString(accessToken)) {\n headers['Authorization'] = 'Bearer ' + accessToken;\n }\n\n var ajaxOptions: FetchOptions = {\n headers,\n data: args || undefined,\n withCredentials\n };\n\n var err, res;\n return sdk.options.httpRequestClient(method, url, ajaxOptions)\n .then(function(resp) {\n res = resp.responseText;\n if (res && isString(res)) {\n res = JSON.parse(res);\n if (res && typeof res === 'object' && !res.headers) {\n res.headers = resp.headers;\n }\n }\n\n if (saveAuthnState) {\n if (!res.stateToken) {\n storage.delete(STATE_TOKEN_KEY_NAME);\n }\n }\n\n if (res && res.stateToken && res.expiresAt) {\n storage.set(STATE_TOKEN_KEY_NAME, res.stateToken, res.expiresAt, sdk.options.cookies);\n }\n\n if (res && options.cacheResponse) {\n httpCache.updateStorage(url, {\n expiresAt: Math.floor(Date.now()/1000) + DEFAULT_CACHE_DURATION,\n response: res\n });\n }\n\n return res;\n })\n .catch(function(resp) {\n var serverErr = resp.responseText || {};\n if (isString(serverErr)) {\n try {\n serverErr = JSON.parse(serverErr);\n } catch (e) {\n serverErr = {\n errorSummary: 'Unknown error'\n };\n }\n }\n\n if (resp.status >= 500) {\n serverErr.errorSummary = 'Unknown error';\n }\n\n if (sdk.options.transformErrorXHR) {\n resp = sdk.options.transformErrorXHR(clone(resp));\n }\n\n err = new AuthApiError(serverErr, resp);\n\n if (err.errorCode === 'E0000011') {\n storage.delete(STATE_TOKEN_KEY_NAME);\n }\n\n throw err;\n });\n}\n\nexport function get(sdk: OktaAuth, url: string, options?: RequestOptions) {\n url = isAbsoluteUrl(url) ? url : sdk.getIssuerOrigin() + url;\n var getOptions = {\n url: url,\n method: 'GET'\n };\n Object.assign(getOptions, options);\n return httpRequest(sdk, getOptions);\n}\n\nexport function post(sdk: OktaAuth, url: string, args?: RequestData, options?: RequestOptions) {\n url = isAbsoluteUrl(url) ? url : sdk.getIssuerOrigin() + url;\n var postOptions = {\n url: url,\n method: 'POST',\n args: args,\n saveAuthnState: true\n };\n Object.assign(postOptions, options);\n return httpRequest(sdk, postOptions);\n}\n"],"file":"request.js"}
1
+ {"version":3,"sources":["../../../lib/http/request.ts"],"names":["httpRequest","sdk","options","url","method","args","saveAuthnState","accessToken","withCredentials","storageUtil","storage","httpCache","storageManager","getHttpCache","cookies","cacheResponse","cacheContents","getStorage","cachedResponse","Date","now","expiresAt","Promise","resolve","response","oktaUserAgentHeader","_oktaUserAgent","getHttpHeader","headers","Object","assign","ajaxOptions","data","undefined","err","res","httpRequestClient","then","resp","responseText","JSON","parse","stateToken","delete","STATE_TOKEN_KEY_NAME","set","updateStorage","Math","floor","DEFAULT_CACHE_DURATION","catch","serverErr","e","errorSummary","status","transformErrorXHR","AuthApiError","errorCode","get","getIssuerOrigin","getOptions","post","postOptions"],"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 { isString, clone, isAbsoluteUrl, removeNils } from '../util';\nimport AuthApiError from '../errors/AuthApiError';\nimport { STATE_TOKEN_KEY_NAME, DEFAULT_CACHE_DURATION } from '../constants';\nimport { OktaAuth, RequestOptions, FetchOptions, RequestData } from '../types';\n\nexport function httpRequest(sdk: OktaAuth, options: RequestOptions): Promise<any> {\n options = options || {};\n var url = options.url,\n method = options.method,\n args = options.args,\n saveAuthnState = options.saveAuthnState,\n accessToken = options.accessToken,\n withCredentials = options.withCredentials === true, // default value is false\n storageUtil = sdk.options.storageUtil,\n storage = storageUtil!.storage,\n httpCache = sdk.storageManager.getHttpCache(sdk.options.cookies);\n\n if (options.cacheResponse) {\n var cacheContents = httpCache.getStorage();\n var cachedResponse = cacheContents[url as string];\n if (cachedResponse && Date.now()/1000 < cachedResponse.expiresAt) {\n return Promise.resolve(cachedResponse.response);\n }\n }\n\n var oktaUserAgentHeader = sdk._oktaUserAgent.getHttpHeader();\n var headers: HeadersInit = {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json',\n ...oktaUserAgentHeader\n };\n Object.assign(headers, sdk.options.headers, options.headers);\n headers = removeNils(headers) as HeadersInit;\n\n if (accessToken && isString(accessToken)) {\n headers['Authorization'] = 'Bearer ' + accessToken;\n }\n\n var ajaxOptions: FetchOptions = {\n headers,\n data: args || undefined,\n withCredentials\n };\n\n var err, res;\n return sdk.options.httpRequestClient!(method!, url!, ajaxOptions)\n .then(function(resp) {\n res = resp.responseText;\n if (res && isString(res)) {\n res = JSON.parse(res);\n if (res && typeof res === 'object' && !res.headers) {\n res.headers = resp.headers;\n }\n }\n\n if (saveAuthnState) {\n if (!res.stateToken) {\n storage.delete(STATE_TOKEN_KEY_NAME);\n }\n }\n\n if (res && res.stateToken && res.expiresAt) {\n storage.set(STATE_TOKEN_KEY_NAME, res.stateToken, res.expiresAt, sdk.options.cookies!);\n }\n\n if (res && options.cacheResponse) {\n httpCache.updateStorage(url!, {\n expiresAt: Math.floor(Date.now()/1000) + DEFAULT_CACHE_DURATION,\n response: res\n });\n }\n\n return res;\n })\n .catch(function(resp) {\n var serverErr = resp.responseText || {};\n if (isString(serverErr)) {\n try {\n serverErr = JSON.parse(serverErr);\n } catch (e) {\n serverErr = {\n errorSummary: 'Unknown error'\n };\n }\n }\n\n if (resp.status >= 500) {\n serverErr.errorSummary = 'Unknown error';\n }\n\n if (sdk.options.transformErrorXHR) {\n resp = sdk.options.transformErrorXHR(clone(resp));\n }\n\n err = new AuthApiError(serverErr, resp);\n\n if (err.errorCode === 'E0000011') {\n storage.delete(STATE_TOKEN_KEY_NAME);\n }\n\n throw err;\n });\n}\n\nexport function get(sdk: OktaAuth, url: string, options?: RequestOptions) {\n url = isAbsoluteUrl(url) ? url : sdk.getIssuerOrigin() + url;\n var getOptions = {\n url: url,\n method: 'GET'\n };\n Object.assign(getOptions, options);\n return httpRequest(sdk, getOptions);\n}\n\nexport function post(sdk: OktaAuth, url: string, args?: RequestData, options?: RequestOptions) {\n url = isAbsoluteUrl(url) ? url : sdk.getIssuerOrigin() + url;\n var postOptions = {\n url: url,\n method: 'POST',\n args: args,\n saveAuthnState: true\n };\n Object.assign(postOptions, options);\n return httpRequest(sdk, postOptions);\n}\n"],"file":"request.js"}
@@ -2,9 +2,9 @@
2
2
 
3
3
  exports.authenticate = authenticate;
4
4
 
5
- var _run = require("./run");
5
+ var _types = require("../types");
6
6
 
7
- var _flow = require("./flow");
7
+ var _run = require("./run");
8
8
 
9
9
  /*!
10
10
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
@@ -17,10 +17,13 @@ var _flow = require("./flow");
17
17
  *
18
18
  * See the License for the specific language governing permissions and limitations under the License.
19
19
  */
20
- async function authenticate(authClient, options) {
21
- const flowSpec = (0, _flow.getFlowSpecification)(authClient, 'authenticate');
20
+ async function authenticate(authClient, options = {}) {
21
+ if (options.password && !options.authenticator) {
22
+ options.authenticator = _types.AuthenticatorKey.OKTA_PASSWORD;
23
+ }
24
+
22
25
  return (0, _run.run)(authClient, { ...options,
23
- ...flowSpec
26
+ flow: 'authenticate'
24
27
  });
25
28
  }
26
29
  //# sourceMappingURL=authenticate.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/idx/authenticate.ts"],"names":["authenticate","authClient","options","flowSpec"],"mappings":";;;;AAkBA;;AAUA;;AA5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA6BO,eAAeA,YAAf,CACLC,UADK,EACiBC,OADjB,EAEoB;AACzB,QAAMC,QAAQ,GAAG,gCAAqBF,UAArB,EAAiC,cAAjC,CAAjB;AACA,SAAO,cAAIA,UAAJ,EAAgB,EACrB,GAAGC,OADkB;AAErB,OAAGC;AAFkB,GAAhB,CAAP;AAID","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nimport { \n OktaAuth,\n IdxOptions,\n IdxTransaction,\n} from '../types';\nimport { run } from './run';\nimport { \n IdentifyValues,\n SelectAuthenticatorAuthenticateValues,\n ChallengeAuthenticatorValues,\n ReEnrollAuthenticatorValues,\n AuthenticatorEnrollmentDataValues,\n SelectAuthenticatorEnrollValues,\n EnrollAuthenticatorValues,\n} from './remediators';\nimport { getFlowSpecification } from './flow';\n\nexport type AuthenticationOptions = IdxOptions \n & IdentifyValues \n & SelectAuthenticatorAuthenticateValues \n & SelectAuthenticatorEnrollValues\n & ChallengeAuthenticatorValues \n & ReEnrollAuthenticatorValues\n & AuthenticatorEnrollmentDataValues\n & EnrollAuthenticatorValues;\n\nexport async function authenticate(\n authClient: OktaAuth, options: AuthenticationOptions\n): Promise<IdxTransaction> {\n const flowSpec = getFlowSpecification(authClient, 'authenticate');\n return run(authClient, { \n ...options, \n ...flowSpec\n });\n}\n"],"file":"authenticate.js"}
1
+ {"version":3,"sources":["../../../lib/idx/authenticate.ts"],"names":["authenticate","authClient","options","password","authenticator","AuthenticatorKey","OKTA_PASSWORD","flow"],"mappings":";;;;AAaA;;AAMA;;AAnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA6BO,eAAeA,YAAf,CACLC,UADK,EACiBC,OAA8B,GAAG,EADlD,EAEoB;AACzB,MAAIA,OAAO,CAACC,QAAR,IAAoB,CAACD,OAAO,CAACE,aAAjC,EAAgD;AAC9CF,IAAAA,OAAO,CAACE,aAAR,GAAwBC,wBAAiBC,aAAzC;AACD;;AACD,SAAO,cAAIL,UAAJ,EAAgB,EACrB,GAAGC,OADkB;AAErBK,IAAAA,IAAI,EAAE;AAFe,GAAhB,CAAP;AAID","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nimport { \n OktaAuth,\n IdxOptions,\n IdxTransaction,\n AuthenticatorKey\n} from '../types';\nimport { run } from './run';\nimport { \n IdentifyValues,\n SelectAuthenticatorAuthenticateValues,\n ChallengeAuthenticatorValues,\n ReEnrollAuthenticatorValues,\n AuthenticatorEnrollmentDataValues,\n SelectAuthenticatorEnrollValues,\n EnrollAuthenticatorValues,\n} from './remediators';\n\nexport type AuthenticationOptions = IdxOptions \n & IdentifyValues \n & SelectAuthenticatorAuthenticateValues \n & SelectAuthenticatorEnrollValues\n & ChallengeAuthenticatorValues \n & ReEnrollAuthenticatorValues\n & AuthenticatorEnrollmentDataValues\n & EnrollAuthenticatorValues;\n\nexport async function authenticate(\n authClient: OktaAuth, options: AuthenticationOptions = {}\n): Promise<IdxTransaction> {\n if (options.password && !options.authenticator) {\n options.authenticator = AuthenticatorKey.OKTA_PASSWORD;\n }\n return run(authClient, { \n ...options, \n flow: 'authenticate'\n });\n}\n"],"file":"authenticate.js"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ exports.Authenticator = void 0;
4
+
5
+ class Authenticator {
6
+ constructor(authenticator) {
7
+ this.meta = authenticator;
8
+ } // TODO: add type
9
+
10
+
11
+ }
12
+
13
+ exports.Authenticator = Authenticator;
14
+ //# sourceMappingURL=Authenticator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/idx/authenticator/Authenticator.ts"],"names":["Authenticator","constructor","authenticator","meta"],"mappings":";;;;AAQO,MAAeA,aAAf,CAA6B;AAGlCC,EAAAA,WAAW,CAACC,aAAD,EAAkC;AAC3C,SAAKC,IAAL,GAAYD,aAAZ;AACD,GALiC,CAWiC;;;AAXjC","sourcesContent":["import { RemediationValues } from '../remediators';\nimport { IdxAuthenticator, IdxRemediationValue } from '../types/idx-js';\n\n\nexport interface Credentials {\n [key: string]: string;\n}\n\nexport abstract class Authenticator {\n meta: IdxAuthenticator;\n\n constructor(authenticator: IdxAuthenticator) {\n this.meta = authenticator;\n }\n\n abstract canVerify(values: RemediationValues): boolean;\n\n abstract mapCredentials(values: RemediationValues): Credentials;\n\n abstract getInputs(idxRemediationValue: IdxRemediationValue): any; // TODO: add type\n}\n"],"file":"Authenticator.js"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ exports.OktaPassword = void 0;
4
+
5
+ var _Authenticator = require("./Authenticator");
6
+
7
+ class OktaPassword extends _Authenticator.Authenticator {
8
+ canVerify(values) {
9
+ return !!values.password;
10
+ }
11
+
12
+ mapCredentials(values) {
13
+ return {
14
+ passcode: values.password
15
+ };
16
+ }
17
+
18
+ getInputs(idxRemediationValue) {
19
+ var _idxRemediationValue$;
20
+
21
+ return { ...((_idxRemediationValue$ = idxRemediationValue.form) === null || _idxRemediationValue$ === void 0 ? void 0 : _idxRemediationValue$.value[0]),
22
+ name: 'password',
23
+ type: 'string',
24
+ required: idxRemediationValue.required
25
+ };
26
+ }
27
+
28
+ }
29
+
30
+ exports.OktaPassword = OktaPassword;
31
+ //# sourceMappingURL=OktaPassword.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/idx/authenticator/OktaPassword.ts"],"names":["OktaPassword","Authenticator","canVerify","values","password","mapCredentials","passcode","getInputs","idxRemediationValue","form","value","name","type","required"],"mappings":";;;;AAAA;;AAMO,MAAMA,YAAN,SAA2BC,4BAA3B,CAAyC;AAC9CC,EAAAA,SAAS,CAACC,MAAD,EAAS;AAChB,WAAO,CAAC,CAACA,MAAM,CAACC,QAAhB;AACD;;AAEDC,EAAAA,cAAc,CAACF,MAAD,EAAS;AACrB,WAAO;AAAEG,MAAAA,QAAQ,EAAEH,MAAM,CAACC;AAAnB,KAAP;AACD;;AAEDG,EAAAA,SAAS,CAACC,mBAAD,EAAsB;AAAA;;AAC7B,WAAO,EACL,6BAAGA,mBAAmB,CAACC,IAAvB,0DAAG,sBAA0BC,KAA1B,CAAgC,CAAhC,CAAH,CADK;AAELC,MAAAA,IAAI,EAAE,UAFD;AAGLC,MAAAA,IAAI,EAAE,QAHD;AAILC,MAAAA,QAAQ,EAAEL,mBAAmB,CAACK;AAJzB,KAAP;AAMD;;AAhB6C","sourcesContent":["import { Authenticator } from './Authenticator';\n\nexport type OktaPasswordInputValues = {\n password: string;\n};\n\nexport class OktaPassword extends Authenticator {\n canVerify(values) {\n return !!values.password;\n }\n\n mapCredentials(values) {\n return { passcode: values.password };\n }\n\n getInputs(idxRemediationValue) {\n return {\n ...idxRemediationValue.form?.value[0],\n name: 'password',\n type: 'string',\n required: idxRemediationValue.required\n };\n }\n}\n"],"file":"OktaPassword.js"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ exports.OktaVerifyTotp = void 0;
4
+
5
+ var _VerificationCodeAuthenticator = require("./VerificationCodeAuthenticator");
6
+
7
+ class OktaVerifyTotp extends _VerificationCodeAuthenticator.VerificationCodeAuthenticator {
8
+ mapCredentials(values) {
9
+ return {
10
+ totp: values.verificationCode
11
+ };
12
+ }
13
+
14
+ }
15
+
16
+ exports.OktaVerifyTotp = OktaVerifyTotp;
17
+ //# sourceMappingURL=OktaVerifyTotp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/idx/authenticator/OktaVerifyTotp.ts"],"names":["OktaVerifyTotp","VerificationCodeAuthenticator","mapCredentials","values","totp","verificationCode"],"mappings":";;;;AACA;;AAMO,MAAMA,cAAN,SAA6BC,4DAA7B,CAA2D;AAChEC,EAAAA,cAAc,CAACC,MAAD,EAA0B;AACtC,WAAO;AAAEC,MAAAA,IAAI,EAAED,MAAM,CAACE;AAAf,KAAP;AACD;;AAH+D","sourcesContent":["import { Credentials } from './Authenticator';\nimport { VerificationCodeAuthenticator } from './VerificationCodeAuthenticator';\n\ninterface TotpCredentials extends Credentials {\n totp: string;\n}\n\nexport class OktaVerifyTotp extends VerificationCodeAuthenticator {\n mapCredentials(values): TotpCredentials {\n return { totp: values.verificationCode };\n }\n}\n"],"file":"OktaVerifyTotp.js"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ exports.SecurityQuestionEnrollment = void 0;
4
+
5
+ var _Authenticator = require("./Authenticator");
6
+
7
+ class SecurityQuestionEnrollment extends _Authenticator.Authenticator {
8
+ canVerify(values) {
9
+ const {
10
+ questionKey,
11
+ question,
12
+ answer
13
+ } = values;
14
+ return questionKey && answer || question && answer;
15
+ }
16
+
17
+ mapCredentials(values) {
18
+ const {
19
+ questionKey,
20
+ question,
21
+ answer
22
+ } = values;
23
+ return {
24
+ questionKey: question ? 'custom' : questionKey,
25
+ question,
26
+ answer
27
+ };
28
+ }
29
+
30
+ getInputs() {
31
+ return [{
32
+ name: 'questionKey',
33
+ type: 'string',
34
+ require: true
35
+ }, {
36
+ name: 'question',
37
+ type: 'string',
38
+ label: 'Create a security question'
39
+ }, {
40
+ name: 'answer',
41
+ type: 'string',
42
+ label: 'Answer',
43
+ required: true
44
+ }];
45
+ }
46
+
47
+ }
48
+
49
+ exports.SecurityQuestionEnrollment = SecurityQuestionEnrollment;
50
+ //# sourceMappingURL=SecurityQuestionEnrollment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/idx/authenticator/SecurityQuestionEnrollment.ts"],"names":["SecurityQuestionEnrollment","Authenticator","canVerify","values","questionKey","question","answer","mapCredentials","getInputs","name","type","require","label","required"],"mappings":";;;;AAAA;;AAEO,MAAMA,0BAAN,SAAyCC,4BAAzC,CAAuD;AAC5DC,EAAAA,SAAS,CAACC,MAAD,EAAS;AAChB,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA,QAAf;AAAyBC,MAAAA;AAAzB,QAAoCH,MAA1C;AACA,WAAQC,WAAW,IAAIE,MAAhB,IAA4BD,QAAQ,IAAIC,MAA/C;AACD;;AAEDC,EAAAA,cAAc,CAACJ,MAAD,EAAS;AACrB,UAAM;AAAEC,MAAAA,WAAF;AAAeC,MAAAA,QAAf;AAAyBC,MAAAA;AAAzB,QAAoCH,MAA1C;AACA,WAAO;AACLC,MAAAA,WAAW,EAAEC,QAAQ,GAAG,QAAH,GAAcD,WAD9B;AAELC,MAAAA,QAFK;AAGLC,MAAAA;AAHK,KAAP;AAKD;;AAEDE,EAAAA,SAAS,GAAG;AACV,WAAO,CACL;AAAEC,MAAAA,IAAI,EAAE,aAAR;AAAuBC,MAAAA,IAAI,EAAE,QAA7B;AAAuCC,MAAAA,OAAO,EAAE;AAAhD,KADK,EAEL;AAAEF,MAAAA,IAAI,EAAE,UAAR;AAAoBC,MAAAA,IAAI,EAAE,QAA1B;AAAoCE,MAAAA,KAAK,EAAE;AAA3C,KAFK,EAGL;AAAEH,MAAAA,IAAI,EAAE,QAAR;AAAkBC,MAAAA,IAAI,EAAE,QAAxB;AAAkCE,MAAAA,KAAK,EAAE,QAAzC;AAAmDC,MAAAA,QAAQ,EAAE;AAA7D,KAHK,CAAP;AAKD;;AArB2D","sourcesContent":["import { Authenticator } from './Authenticator';\n\nexport class SecurityQuestionEnrollment extends Authenticator {\n canVerify(values) {\n const { questionKey, question, answer } = values;\n return (questionKey && answer) || (question && answer);\n }\n\n mapCredentials(values) {\n const { questionKey, question, answer } = values;\n return {\n questionKey: question ? 'custom' : questionKey,\n question,\n answer\n };\n }\n\n getInputs() {\n return [\n { name: 'questionKey', type: 'string', require: true },\n { name: 'question', type: 'string', label: 'Create a security question' },\n { name: 'answer', type: 'string', label: 'Answer', required: true },\n ];\n }\n}\n"],"file":"SecurityQuestionEnrollment.js"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ exports.SecurityQuestionVerification = void 0;
4
+
5
+ var _Authenticator = require("./Authenticator");
6
+
7
+ /* eslint-disable @typescript-eslint/no-non-null-assertion */
8
+ class SecurityQuestionVerification extends _Authenticator.Authenticator {
9
+ canVerify(values) {
10
+ return values.answer;
11
+ }
12
+
13
+ mapCredentials(values) {
14
+ return {
15
+ questionKey: this.meta.contextualData.enrolledQuestion.questionKey,
16
+ answer: values.answer
17
+ };
18
+ }
19
+
20
+ getInputs() {
21
+ return [{
22
+ name: 'answer',
23
+ type: 'string',
24
+ label: 'Answer',
25
+ required: true
26
+ }];
27
+ }
28
+
29
+ }
30
+
31
+ exports.SecurityQuestionVerification = SecurityQuestionVerification;
32
+ //# sourceMappingURL=SecurityQuestionVerification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/idx/authenticator/SecurityQuestionVerification.ts"],"names":["SecurityQuestionVerification","Authenticator","canVerify","values","answer","mapCredentials","questionKey","meta","contextualData","enrolledQuestion","getInputs","name","type","label","required"],"mappings":";;;;AACA;;AADA;AAGO,MAAMA,4BAAN,SAA2CC,4BAA3C,CAAyD;AAC9DC,EAAAA,SAAS,CAACC,MAAD,EAAS;AAChB,WAAOA,MAAM,CAACC,MAAd;AACD;;AAEDC,EAAAA,cAAc,CAACF,MAAD,EAAS;AACrB,WAAO;AACLG,MAAAA,WAAW,EAAE,KAAKC,IAAL,CAAUC,cAAV,CAA0BC,gBAA1B,CAA4CH,WADpD;AAELF,MAAAA,MAAM,EAAED,MAAM,CAACC;AAFV,KAAP;AAID;;AAEDM,EAAAA,SAAS,GAAG;AACV,WAAO,CACL;AAAEC,MAAAA,IAAI,EAAE,QAAR;AAAkBC,MAAAA,IAAI,EAAE,QAAxB;AAAkCC,MAAAA,KAAK,EAAE,QAAzC;AAAmDC,MAAAA,QAAQ,EAAE;AAA7D,KADK,CAAP;AAGD;;AAhB6D","sourcesContent":["/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { Authenticator } from './Authenticator';\n\nexport class SecurityQuestionVerification extends Authenticator {\n canVerify(values) {\n return values.answer;\n }\n\n mapCredentials(values) {\n return {\n questionKey: this.meta.contextualData!.enrolledQuestion!.questionKey,\n answer: values.answer\n };\n }\n\n getInputs() {\n return [\n { name: 'answer', type: 'string', label: 'Answer', required: true }\n ];\n }\n}\n"],"file":"SecurityQuestionVerification.js"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ exports.VerificationCodeAuthenticator = void 0;
4
+
5
+ var _Authenticator = require("./Authenticator");
6
+
7
+ // general authenticator to handle "verificationCode" input
8
+ // it can be used for "email", "phone", "google authenticator"
9
+ // a new authenticator class should be created if special cases need to be handled
10
+ class VerificationCodeAuthenticator extends _Authenticator.Authenticator {
11
+ canVerify(values) {
12
+ return values.verificationCode || values.otp;
13
+ }
14
+
15
+ mapCredentials(values) {
16
+ return {
17
+ passcode: values.verificationCode || values.otp
18
+ };
19
+ }
20
+
21
+ getInputs(idxRemediationValue) {
22
+ var _idxRemediationValue$;
23
+
24
+ return { ...((_idxRemediationValue$ = idxRemediationValue.form) === null || _idxRemediationValue$ === void 0 ? void 0 : _idxRemediationValue$.value[0]),
25
+ name: 'verificationCode',
26
+ type: 'string',
27
+ required: idxRemediationValue.required
28
+ };
29
+ }
30
+
31
+ }
32
+
33
+ exports.VerificationCodeAuthenticator = VerificationCodeAuthenticator;
34
+ //# sourceMappingURL=VerificationCodeAuthenticator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/idx/authenticator/VerificationCodeAuthenticator.ts"],"names":["VerificationCodeAuthenticator","Authenticator","canVerify","values","verificationCode","otp","mapCredentials","passcode","getInputs","idxRemediationValue","form","value","name","type","required"],"mappings":";;;;AAAA;;AAMA;AACA;AACA;AACO,MAAMA,6BAAN,SAA4CC,4BAA5C,CAA0D;AAC/DC,EAAAA,SAAS,CAACC,MAAD,EAAS;AAChB,WAAQA,MAAM,CAACC,gBAAP,IAA2BD,MAAM,CAACE,GAA1C;AACD;;AAEDC,EAAAA,cAAc,CAACH,MAAD,EAAoD;AAChE,WAAO;AAAEI,MAAAA,QAAQ,EAAEJ,MAAM,CAACC,gBAAP,IAA2BD,MAAM,CAACE;AAA9C,KAAP;AACD;;AAEDG,EAAAA,SAAS,CAACC,mBAAD,EAAsB;AAAA;;AAC7B,WAAO,EACL,6BAAGA,mBAAmB,CAACC,IAAvB,0DAAG,sBAA0BC,KAA1B,CAAgC,CAAhC,CAAH,CADK;AAELC,MAAAA,IAAI,EAAE,kBAFD;AAGLC,MAAAA,IAAI,EAAE,QAHD;AAILC,MAAAA,QAAQ,EAAEL,mBAAmB,CAACK;AAJzB,KAAP;AAMD;;AAhB8D","sourcesContent":["import { Authenticator, Credentials } from './Authenticator';\n\ninterface VerificationCodeCredentials extends Credentials {\n passcode: string;\n}\n\n// general authenticator to handle \"verificationCode\" input\n// it can be used for \"email\", \"phone\", \"google authenticator\"\n// a new authenticator class should be created if special cases need to be handled\nexport class VerificationCodeAuthenticator extends Authenticator {\n canVerify(values) {\n return (values.verificationCode || values.otp);\n }\n\n mapCredentials(values): VerificationCodeCredentials | Credentials {\n return { passcode: values.verificationCode || values.otp };\n }\n\n getInputs(idxRemediationValue) {\n return {\n ...idxRemediationValue.form?.value[0],\n name: 'verificationCode',\n type: 'string',\n required: idxRemediationValue.required\n };\n }\n}\n"],"file":"VerificationCodeAuthenticator.js"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ exports.getAuthenticator = getAuthenticator;
4
+
5
+ var _OktaVerifyTotp = require("./OktaVerifyTotp");
6
+
7
+ var _VerificationCodeAuthenticator = require("./VerificationCodeAuthenticator");
8
+
9
+ var _OktaPassword = require("./OktaPassword");
10
+
11
+ var _SecurityQuestionEnrollment = require("./SecurityQuestionEnrollment");
12
+
13
+ var _SecurityQuestionVerification = require("./SecurityQuestionVerification");
14
+
15
+ var _types = require("../types");
16
+
17
+ function getAuthenticator(remediation) {
18
+ var _value$contextualData;
19
+
20
+ const relatesTo = remediation.relatesTo;
21
+ const value = (relatesTo === null || relatesTo === void 0 ? void 0 : relatesTo.value) || {};
22
+
23
+ switch (value.key) {
24
+ case _types.AuthenticatorKey.OKTA_PASSWORD:
25
+ return new _OktaPassword.OktaPassword(value);
26
+
27
+ case _types.AuthenticatorKey.SECURITY_QUESTION:
28
+ if ((_value$contextualData = value.contextualData) !== null && _value$contextualData !== void 0 && _value$contextualData.enrolledQuestion) {
29
+ return new _SecurityQuestionVerification.SecurityQuestionVerification(value);
30
+ } else {
31
+ return new _SecurityQuestionEnrollment.SecurityQuestionEnrollment(value);
32
+ }
33
+
34
+ case _types.AuthenticatorKey.OKTA_VERIFY:
35
+ return new _OktaVerifyTotp.OktaVerifyTotp(value);
36
+
37
+ default:
38
+ return new _VerificationCodeAuthenticator.VerificationCodeAuthenticator(value);
39
+ }
40
+ }
41
+ //# sourceMappingURL=getAuthenticator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/idx/authenticator/getAuthenticator.ts"],"names":["getAuthenticator","remediation","relatesTo","value","key","AuthenticatorKey","OKTA_PASSWORD","OktaPassword","SECURITY_QUESTION","contextualData","enrolledQuestion","SecurityQuestionVerification","SecurityQuestionEnrollment","OKTA_VERIFY","OktaVerifyTotp","VerificationCodeAuthenticator"],"mappings":";;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AAEA;;AAEO,SAASA,gBAAT,CAA0BC,WAA1B,EAAsE;AAAA;;AAC3E,QAAMC,SAAS,GAAGD,WAAW,CAACC,SAA9B;AACA,QAAMC,KAAK,GAAG,CAAAD,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEC,KAAX,KAAoB,EAAlC;;AACA,UAAQA,KAAK,CAACC,GAAd;AACE,SAAKC,wBAAiBC,aAAtB;AACE,aAAO,IAAIC,0BAAJ,CAAiBJ,KAAjB,CAAP;;AACF,SAAKE,wBAAiBG,iBAAtB;AACE,mCAAIL,KAAK,CAACM,cAAV,kDAAI,sBAAsBC,gBAA1B,EAA4C;AAC1C,eAAO,IAAIC,0DAAJ,CAAiCR,KAAjC,CAAP;AACD,OAFD,MAEO;AACL,eAAO,IAAIS,sDAAJ,CAA+BT,KAA/B,CAAP;AACD;;AACH,SAAKE,wBAAiBQ,WAAtB;AACE,aAAO,IAAIC,8BAAJ,CAAmBX,KAAnB,CAAP;;AACF;AACE,aAAO,IAAIY,4DAAJ,CAAkCZ,KAAlC,CAAP;AAZJ;AAcD","sourcesContent":["import { OktaVerifyTotp } from './OktaVerifyTotp';\nimport { Authenticator } from './Authenticator';\nimport { VerificationCodeAuthenticator } from './VerificationCodeAuthenticator';\nimport { OktaPassword } from './OktaPassword';\nimport { SecurityQuestionEnrollment } from './SecurityQuestionEnrollment';\nimport { SecurityQuestionVerification } from './SecurityQuestionVerification';\nimport { IdxAuthenticator, IdxRemediation } from '../types/idx-js';\nimport { AuthenticatorKey } from '../types';\n\nexport function getAuthenticator(remediation: IdxRemediation): Authenticator {\n const relatesTo = remediation.relatesTo;\n const value = relatesTo?.value || {} as IdxAuthenticator;\n switch (value.key) {\n case AuthenticatorKey.OKTA_PASSWORD:\n return new OktaPassword(value);\n case AuthenticatorKey.SECURITY_QUESTION:\n if (value.contextualData?.enrolledQuestion) {\n return new SecurityQuestionVerification(value);\n } else {\n return new SecurityQuestionEnrollment(value);\n }\n case AuthenticatorKey.OKTA_VERIFY:\n return new OktaVerifyTotp(value);\n default:\n return new VerificationCodeAuthenticator(value);\n }\n}\n"],"file":"getAuthenticator.js"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+
3
+ var _getAuthenticator = require("./getAuthenticator");
4
+
5
+ Object.keys(_getAuthenticator).forEach(function (key) {
6
+ if (key === "default" || key === "__esModule") return;
7
+ if (key in exports && exports[key] === _getAuthenticator[key]) return;
8
+ Object.defineProperty(exports, key, {
9
+ enumerable: true,
10
+ get: function () {
11
+ return _getAuthenticator[key];
12
+ }
13
+ });
14
+ });
15
+
16
+ var _Authenticator = require("./Authenticator");
17
+
18
+ Object.keys(_Authenticator).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _Authenticator[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _Authenticator[key];
25
+ }
26
+ });
27
+ });
28
+
29
+ var _VerificationCodeAuthenticator = require("./VerificationCodeAuthenticator");
30
+
31
+ Object.keys(_VerificationCodeAuthenticator).forEach(function (key) {
32
+ if (key === "default" || key === "__esModule") return;
33
+ if (key in exports && exports[key] === _VerificationCodeAuthenticator[key]) return;
34
+ Object.defineProperty(exports, key, {
35
+ enumerable: true,
36
+ get: function () {
37
+ return _VerificationCodeAuthenticator[key];
38
+ }
39
+ });
40
+ });
41
+
42
+ var _OktaPassword = require("./OktaPassword");
43
+
44
+ Object.keys(_OktaPassword).forEach(function (key) {
45
+ if (key === "default" || key === "__esModule") return;
46
+ if (key in exports && exports[key] === _OktaPassword[key]) return;
47
+ Object.defineProperty(exports, key, {
48
+ enumerable: true,
49
+ get: function () {
50
+ return _OktaPassword[key];
51
+ }
52
+ });
53
+ });
54
+
55
+ var _SecurityQuestionEnrollment = require("./SecurityQuestionEnrollment");
56
+
57
+ Object.keys(_SecurityQuestionEnrollment).forEach(function (key) {
58
+ if (key === "default" || key === "__esModule") return;
59
+ if (key in exports && exports[key] === _SecurityQuestionEnrollment[key]) return;
60
+ Object.defineProperty(exports, key, {
61
+ enumerable: true,
62
+ get: function () {
63
+ return _SecurityQuestionEnrollment[key];
64
+ }
65
+ });
66
+ });
67
+
68
+ var _SecurityQuestionVerification = require("./SecurityQuestionVerification");
69
+
70
+ Object.keys(_SecurityQuestionVerification).forEach(function (key) {
71
+ if (key === "default" || key === "__esModule") return;
72
+ if (key in exports && exports[key] === _SecurityQuestionVerification[key]) return;
73
+ Object.defineProperty(exports, key, {
74
+ enumerable: true,
75
+ get: function () {
76
+ return _SecurityQuestionVerification[key];
77
+ }
78
+ });
79
+ });
80
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../lib/idx/authenticator/index.ts"],"names":[],"mappings":";;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './getAuthenticator';\nexport * from './Authenticator';\nexport * from './VerificationCodeAuthenticator';\nexport * from './OktaPassword';\nexport * from './SecurityQuestionEnrollment';\nexport * from './SecurityQuestionVerification';\n"],"file":"index.js"}
package/cjs/idx/cancel.js CHANGED
@@ -4,6 +4,8 @@ exports.cancel = cancel;
4
4
 
5
5
  var _run = require("./run");
6
6
 
7
+ var _flow = require("./flow");
8
+
7
9
  /*!
8
10
  * Copyright (c) 2021, Okta, Inc. and/or its affiliates. All rights reserved.
9
11
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -16,7 +18,10 @@ var _run = require("./run");
16
18
  * See the License for the specific language governing permissions and limitations under the License.
17
19
  */
18
20
  async function cancel(authClient, options) {
21
+ const meta = authClient.transactionManager.load();
22
+ const flowSpec = (0, _flow.getFlowSpecification)(authClient, meta.flow);
19
23
  return (0, _run.run)(authClient, { ...options,
24
+ ...flowSpec,
20
25
  actions: ['cancel']
21
26
  });
22
27
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/idx/cancel.ts"],"names":["cancel","authClient","options","actions"],"mappings":";;;;AAaA;;AAbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAOO,eAAeA,MAAf,CAAuBC,UAAvB,EAA6CC,OAA7C,EAAqE;AAC1E,SAAO,cAAID,UAAJ,EAAgB,EACrB,GAAGC,OADkB;AAErBC,IAAAA,OAAO,EAAE,CAAC,QAAD;AAFY,GAAhB,CAAP;AAID","sourcesContent":["/*!\n * Copyright (c) 2021, 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 { OktaAuth, IdxOptions } from '../types';\nimport { run } from './run';\n\nexport type CancelOptions = IdxOptions;\n\nexport async function cancel (authClient: OktaAuth, options: CancelOptions) {\n return run(authClient, {\n ...options,\n actions: ['cancel']\n });\n}\n"],"file":"cancel.js"}
1
+ {"version":3,"sources":["../../../lib/idx/cancel.ts"],"names":["cancel","authClient","options","meta","transactionManager","load","flowSpec","flow","actions"],"mappings":";;;;AAaA;;AACA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAQO,eAAeA,MAAf,CAAuBC,UAAvB,EAA6CC,OAA7C,EAAsE;AAC3E,QAAMC,IAAI,GAAGF,UAAU,CAACG,kBAAX,CAA8BC,IAA9B,EAAb;AACA,QAAMC,QAAQ,GAAG,gCAAqBL,UAArB,EAAiCE,IAAI,CAACI,IAAtC,CAAjB;AACA,SAAO,cAAIN,UAAJ,EAAgB,EACrB,GAAGC,OADkB;AAErB,OAAGI,QAFkB;AAGrBE,IAAAA,OAAO,EAAE,CAAC,QAAD;AAHY,GAAhB,CAAP;AAKD","sourcesContent":["/*!\n * Copyright (c) 2021, 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 { OktaAuth, IdxOptions, IdxTransactionMeta } from '../types';\nimport { run } from './run';\nimport { getFlowSpecification } from './flow';\n\nexport type CancelOptions = IdxOptions;\n\nexport async function cancel (authClient: OktaAuth, options?: CancelOptions) {\n const meta = authClient.transactionManager.load() as IdxTransactionMeta;\n const flowSpec = getFlowSpecification(authClient, meta.flow);\n return run(authClient, {\n ...options,\n ...flowSpec,\n actions: ['cancel']\n });\n}\n"],"file":"cancel.js"}