@okta/okta-auth-js 5.11.0 → 6.2.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 (421) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +63 -29
  3. package/cjs/AuthStateManager.js +15 -6
  4. package/cjs/AuthStateManager.js.map +1 -1
  5. package/cjs/OktaAuth.js +168 -108
  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 +11 -2
  10. package/cjs/PromiseQueue.js.map +1 -1
  11. package/cjs/SavedObject.js +4 -2
  12. package/cjs/SavedObject.js.map +1 -1
  13. package/cjs/ServiceManager.js +195 -0
  14. package/cjs/ServiceManager.js.map +1 -0
  15. package/cjs/StorageManager.js +16 -9
  16. package/cjs/StorageManager.js.map +1 -1
  17. package/cjs/TokenManager.js +42 -34
  18. package/cjs/TokenManager.js.map +1 -1
  19. package/cjs/TransactionManager.js +26 -7
  20. package/cjs/TransactionManager.js.map +1 -1
  21. package/cjs/browser/browserStorage.js +36 -20
  22. package/cjs/browser/browserStorage.js.map +1 -1
  23. package/cjs/browser/fingerprint.js +12 -4
  24. package/cjs/browser/fingerprint.js.map +1 -1
  25. package/cjs/builderUtil.js +7 -19
  26. package/cjs/builderUtil.js.map +1 -1
  27. package/cjs/clock.js +5 -1
  28. package/cjs/clock.js.map +1 -1
  29. package/cjs/crypto/base64.js +18 -0
  30. package/cjs/crypto/base64.js.map +1 -1
  31. package/cjs/crypto/index.js +6 -4
  32. package/cjs/crypto/index.js.map +1 -1
  33. package/cjs/crypto/node.js +19 -13
  34. package/cjs/crypto/node.js.map +1 -1
  35. package/cjs/crypto/oidcHash.js +5 -1
  36. package/cjs/crypto/oidcHash.js.map +1 -1
  37. package/cjs/crypto/webauthn.js +101 -0
  38. package/cjs/crypto/webauthn.js.map +1 -0
  39. package/cjs/crypto/webcrypto.js +3 -1
  40. package/cjs/crypto/webcrypto.js.map +1 -1
  41. package/cjs/errors/AuthApiError.js +1 -1
  42. package/cjs/errors/AuthPollStopError.js +1 -1
  43. package/cjs/errors/AuthSdkError.js +1 -1
  44. package/cjs/errors/CustomError.js +5 -1
  45. package/cjs/errors/CustomError.js.map +1 -1
  46. package/cjs/errors/OAuthError.js +1 -1
  47. package/cjs/errors/index.js +1 -1
  48. package/cjs/features.js +9 -3
  49. package/cjs/features.js.map +1 -1
  50. package/cjs/fetch/fetchRequest.js +19 -6
  51. package/cjs/fetch/fetchRequest.js.map +1 -1
  52. package/cjs/http/headers.js.map +1 -1
  53. package/cjs/http/index.js +4 -2
  54. package/cjs/http/index.js.map +1 -1
  55. package/cjs/http/request.js +11 -5
  56. package/cjs/http/request.js.map +1 -1
  57. package/cjs/idx/authenticate.js +8 -5
  58. package/cjs/idx/authenticate.js.map +1 -1
  59. package/cjs/idx/authenticator/Authenticator.js.map +1 -1
  60. package/cjs/idx/authenticator/OktaPassword.js.map +1 -1
  61. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js +1 -1
  62. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -1
  63. package/cjs/idx/authenticator/SecurityQuestionVerification.js +2 -1
  64. package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -1
  65. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js +2 -2
  66. package/cjs/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -1
  67. package/cjs/idx/authenticator/WebauthnEnrollment.js +46 -0
  68. package/cjs/idx/authenticator/WebauthnEnrollment.js.map +1 -0
  69. package/cjs/idx/authenticator/WebauthnVerification.js +55 -0
  70. package/cjs/idx/authenticator/WebauthnVerification.js.map +1 -0
  71. package/cjs/idx/authenticator/getAuthenticator.js +17 -6
  72. package/cjs/idx/authenticator/getAuthenticator.js.map +1 -1
  73. package/cjs/idx/authenticator/index.js +34 -6
  74. package/cjs/idx/authenticator/index.js.map +1 -1
  75. package/cjs/idx/cancel.js.map +1 -1
  76. package/cjs/idx/emailVerify.js +73 -0
  77. package/cjs/idx/emailVerify.js.map +1 -0
  78. package/cjs/idx/flow/AccountUnlockFlow.js +30 -0
  79. package/cjs/idx/flow/AccountUnlockFlow.js.map +1 -0
  80. package/cjs/idx/flow/FlowSpecification.js +24 -4
  81. package/cjs/idx/flow/FlowSpecification.js.map +1 -1
  82. package/cjs/idx/flow/PasswordRecoveryFlow.js +4 -1
  83. package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -1
  84. package/cjs/idx/flow/RegistrationFlow.js +2 -0
  85. package/cjs/idx/flow/RegistrationFlow.js.map +1 -1
  86. package/cjs/idx/flow/index.js +20 -5
  87. package/cjs/idx/flow/index.js.map +1 -1
  88. package/cjs/idx/handleInteractionCodeRedirect.js +6 -1
  89. package/cjs/idx/handleInteractionCodeRedirect.js.map +1 -1
  90. package/cjs/idx/headers.js +21 -5
  91. package/cjs/idx/headers.js.map +1 -1
  92. package/cjs/idx/idx-js/client.js +91 -0
  93. package/cjs/idx/idx-js/client.js.map +1 -0
  94. package/cjs/idx/idx-js/index.js +162 -0
  95. package/cjs/idx/idx-js/index.js.map +1 -0
  96. package/cjs/idx/idx-js/interact.js +83 -0
  97. package/cjs/idx/idx-js/interact.js.map +1 -0
  98. package/cjs/idx/idx-js/introspect.js +58 -0
  99. package/cjs/idx/idx-js/introspect.js.map +1 -0
  100. package/cjs/idx/idx-js/parsers.js +41 -0
  101. package/cjs/idx/idx-js/parsers.js.map +1 -0
  102. package/cjs/idx/idx-js/util.js +34 -0
  103. package/cjs/idx/idx-js/util.js.map +1 -0
  104. package/cjs/idx/idx-js/v1/actionParser.js +90 -0
  105. package/cjs/idx/idx-js/v1/actionParser.js.map +1 -0
  106. package/cjs/idx/idx-js/v1/generateIdxAction.js +117 -0
  107. package/cjs/idx/idx-js/v1/generateIdxAction.js.map +1 -0
  108. package/cjs/idx/idx-js/v1/idxResponseParser.js +137 -0
  109. package/cjs/idx/idx-js/v1/idxResponseParser.js.map +1 -0
  110. package/cjs/idx/idx-js/v1/makeIdxState.js +64 -0
  111. package/cjs/idx/idx-js/v1/makeIdxState.js.map +1 -0
  112. package/cjs/idx/idx-js/v1/parsers.js +24 -0
  113. package/cjs/idx/idx-js/v1/parsers.js.map +1 -0
  114. package/cjs/idx/idx-js/v1/remediationParser.js +32 -0
  115. package/cjs/idx/idx-js/v1/remediationParser.js.map +1 -0
  116. package/cjs/idx/index.js +121 -109
  117. package/cjs/idx/index.js.map +1 -1
  118. package/cjs/idx/interact.js +53 -36
  119. package/cjs/idx/interact.js.map +1 -1
  120. package/cjs/idx/introspect.js +17 -19
  121. package/cjs/idx/introspect.js.map +1 -1
  122. package/cjs/idx/poll.js +13 -3
  123. package/cjs/idx/poll.js.map +1 -1
  124. package/cjs/idx/proceed.js +4 -7
  125. package/cjs/idx/proceed.js.map +1 -1
  126. package/cjs/idx/recoverPassword.js +1 -1
  127. package/cjs/idx/recoverPassword.js.map +1 -1
  128. package/cjs/idx/register.js +11 -16
  129. package/cjs/idx/register.js.map +1 -1
  130. package/cjs/idx/remediate.js +74 -27
  131. package/cjs/idx/remediate.js.map +1 -1
  132. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js +12 -4
  133. package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
  134. package/cjs/idx/remediators/AuthenticatorVerificationData.js +52 -9
  135. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  136. package/cjs/idx/remediators/Base/AuthenticatorData.js +31 -13
  137. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  138. package/cjs/idx/remediators/Base/Remediator.js +67 -31
  139. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  140. package/cjs/idx/remediators/Base/SelectAuthenticator.js +46 -30
  141. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  142. package/cjs/idx/remediators/Base/VerifyAuthenticator.js +16 -4
  143. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  144. package/cjs/idx/remediators/ChallengeAuthenticator.js +2 -2
  145. package/cjs/idx/remediators/ChallengeAuthenticator.js.map +1 -1
  146. package/cjs/idx/remediators/ChallengePoll.js +2 -2
  147. package/cjs/idx/remediators/EnrollAuthenticator.js +2 -2
  148. package/cjs/idx/remediators/EnrollAuthenticator.js.map +1 -1
  149. package/cjs/idx/remediators/EnrollPoll.js +18 -9
  150. package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
  151. package/cjs/idx/remediators/EnrollProfile.js +24 -9
  152. package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
  153. package/cjs/idx/remediators/EnrollmentChannelData.js +96 -0
  154. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -0
  155. package/cjs/idx/remediators/Identify.js +5 -3
  156. package/cjs/idx/remediators/Identify.js.map +1 -1
  157. package/cjs/idx/remediators/ReEnrollAuthenticator.js +6 -3
  158. package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
  159. package/cjs/idx/remediators/RedirectIdp.js +2 -2
  160. package/cjs/idx/remediators/ResetAuthenticator.js +2 -2
  161. package/cjs/idx/remediators/ResetAuthenticator.js.map +1 -1
  162. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js +7 -5
  163. package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
  164. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js +2 -2
  165. package/cjs/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -1
  166. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js +72 -0
  167. package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -0
  168. package/cjs/idx/remediators/SelectEnrollProfile.js +2 -2
  169. package/cjs/idx/remediators/SelectEnrollProfile.js.map +1 -1
  170. package/cjs/idx/remediators/SelectEnrollmentChannel.js +86 -0
  171. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -0
  172. package/cjs/idx/remediators/Skip.js +5 -3
  173. package/cjs/idx/remediators/Skip.js.map +1 -1
  174. package/cjs/idx/remediators/index.js +57 -16
  175. package/cjs/idx/remediators/index.js.map +1 -1
  176. package/cjs/idx/remediators/util.js +18 -3
  177. package/cjs/idx/remediators/util.js.map +1 -1
  178. package/cjs/idx/run.js +145 -49
  179. package/cjs/idx/run.js.map +1 -1
  180. package/cjs/idx/startTransaction.js +4 -2
  181. package/cjs/idx/startTransaction.js.map +1 -1
  182. package/cjs/idx/transactionMeta.js +82 -69
  183. package/cjs/idx/transactionMeta.js.map +1 -1
  184. package/cjs/idx/types/idx-js.js.map +1 -1
  185. package/cjs/idx/types/index.js +59 -7
  186. package/cjs/idx/types/index.js.map +1 -1
  187. package/cjs/idx/unlockAccount.js +48 -0
  188. package/cjs/idx/unlockAccount.js.map +1 -0
  189. package/cjs/index.js +33 -13
  190. package/cjs/index.js.map +1 -1
  191. package/cjs/oidc/endpoints/authorize.js +10 -2
  192. package/cjs/oidc/endpoints/authorize.js.map +1 -1
  193. package/cjs/oidc/endpoints/index.js +5 -3
  194. package/cjs/oidc/endpoints/index.js.map +1 -1
  195. package/cjs/oidc/endpoints/token.js +16 -3
  196. package/cjs/oidc/endpoints/token.js.map +1 -1
  197. package/cjs/oidc/endpoints/well-known.js +7 -3
  198. package/cjs/oidc/endpoints/well-known.js.map +1 -1
  199. package/cjs/oidc/exchangeCodeForTokens.js +12 -4
  200. package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
  201. package/cjs/oidc/getToken.js +12 -6
  202. package/cjs/oidc/getToken.js.map +1 -1
  203. package/cjs/oidc/getUserInfo.js +7 -3
  204. package/cjs/oidc/getUserInfo.js.map +1 -1
  205. package/cjs/oidc/getWithPopup.js +8 -2
  206. package/cjs/oidc/getWithPopup.js.map +1 -1
  207. package/cjs/oidc/getWithRedirect.js +15 -38
  208. package/cjs/oidc/getWithRedirect.js.map +1 -1
  209. package/cjs/oidc/getWithoutPrompt.js +8 -2
  210. package/cjs/oidc/getWithoutPrompt.js.map +1 -1
  211. package/cjs/oidc/handleOAuthResponse.js +87 -87
  212. package/cjs/oidc/handleOAuthResponse.js.map +1 -1
  213. package/cjs/oidc/index.js +4 -2
  214. package/cjs/oidc/index.js.map +1 -1
  215. package/cjs/oidc/parseFromUrl.js +9 -3
  216. package/cjs/oidc/parseFromUrl.js.map +1 -1
  217. package/cjs/oidc/renewToken.js.map +1 -1
  218. package/cjs/oidc/renewTokens.js +6 -2
  219. package/cjs/oidc/renewTokens.js.map +1 -1
  220. package/cjs/oidc/renewTokensWithRefresh.js +5 -1
  221. package/cjs/oidc/renewTokensWithRefresh.js.map +1 -1
  222. package/cjs/oidc/revokeToken.js +34 -31
  223. package/cjs/oidc/revokeToken.js.map +1 -1
  224. package/cjs/oidc/util/browser.js +5 -1
  225. package/cjs/oidc/util/browser.js.map +1 -1
  226. package/cjs/oidc/util/defaultTokenParams.js.map +1 -1
  227. package/cjs/oidc/util/errors.js.map +1 -1
  228. package/cjs/oidc/util/index.js +27 -11
  229. package/cjs/oidc/util/index.js.map +1 -1
  230. package/cjs/oidc/util/loginRedirect.js +10 -1
  231. package/cjs/oidc/util/loginRedirect.js.map +1 -1
  232. package/cjs/oidc/util/oauth.js +4 -2
  233. package/cjs/oidc/util/oauth.js.map +1 -1
  234. package/cjs/oidc/util/oauthMeta.js +36 -0
  235. package/cjs/oidc/util/oauthMeta.js.map +1 -0
  236. package/cjs/oidc/util/pkce.js +11 -3
  237. package/cjs/oidc/util/pkce.js.map +1 -1
  238. package/cjs/oidc/util/prepareTokenParams.js +62 -39
  239. package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
  240. package/cjs/oidc/util/validateClaims.js +3 -1
  241. package/cjs/oidc/util/validateClaims.js.map +1 -1
  242. package/cjs/oidc/verifyToken.js +13 -4
  243. package/cjs/oidc/verifyToken.js.map +1 -1
  244. package/cjs/options/browser.js +81 -0
  245. package/cjs/options/browser.js.map +1 -0
  246. package/cjs/options/index.js +94 -0
  247. package/cjs/options/index.js.map +1 -0
  248. package/cjs/options/node.js +46 -0
  249. package/cjs/options/node.js.map +1 -0
  250. package/cjs/server/serverStorage.js +9 -5
  251. package/cjs/server/serverStorage.js.map +1 -1
  252. package/cjs/services/AutoRenewService.js +94 -0
  253. package/cjs/services/AutoRenewService.js.map +1 -0
  254. package/cjs/services/SyncStorageService.js +93 -0
  255. package/cjs/services/SyncStorageService.js.map +1 -0
  256. package/cjs/services/index.js +30 -0
  257. package/cjs/services/index.js.map +1 -0
  258. package/cjs/tx/AuthTransaction.js +18 -9
  259. package/cjs/tx/AuthTransaction.js.map +1 -1
  260. package/cjs/tx/TransactionState.js +0 -17
  261. package/cjs/tx/TransactionState.js.map +1 -1
  262. package/cjs/tx/api.js +11 -6
  263. package/cjs/tx/api.js.map +1 -1
  264. package/cjs/tx/index.js +7 -5
  265. package/cjs/tx/index.js.map +1 -1
  266. package/cjs/tx/poll.js +6 -4
  267. package/cjs/tx/poll.js.map +1 -1
  268. package/cjs/tx/util.js +5 -1
  269. package/cjs/tx/util.js.map +1 -1
  270. package/cjs/types/Service.js +2 -0
  271. package/cjs/types/Service.js.map +1 -0
  272. package/cjs/types/Transaction.js +10 -2
  273. package/cjs/types/Transaction.js.map +1 -1
  274. package/cjs/types/index.js +29 -14
  275. package/cjs/types/index.js.map +1 -1
  276. package/cjs/util/index.js +7 -18
  277. package/cjs/util/index.js.map +1 -1
  278. package/cjs/util/misc.js +5 -1
  279. package/cjs/util/misc.js.map +1 -1
  280. package/cjs/util/object.js +16 -6
  281. package/cjs/util/object.js.map +1 -1
  282. package/cjs/util/sharedStorage.js +5 -1
  283. package/cjs/util/sharedStorage.js.map +1 -1
  284. package/cjs/util/url.js.map +1 -1
  285. package/dist/okta-auth-js.min.js +1 -1
  286. package/dist/okta-auth-js.min.js.LICENSE.txt +0 -20
  287. package/dist/okta-auth-js.min.js.map +1 -1
  288. package/dist/okta-auth-js.polyfill.js +1 -1
  289. package/dist/okta-auth-js.polyfill.js.map +1 -1
  290. package/dist/okta-auth-js.umd.js +1 -1
  291. package/dist/okta-auth-js.umd.js.LICENSE.txt +1 -19
  292. package/dist/okta-auth-js.umd.js.map +1 -1
  293. package/esm/{index.js → esm.browser.js} +3283 -2698
  294. package/esm/esm.browser.js.map +1 -0
  295. package/esm/esm.node.mjs +9277 -0
  296. package/esm/esm.node.mjs.map +1 -0
  297. package/lib/AuthStateManager.d.ts +2 -5
  298. package/lib/OktaAuth.d.ts +14 -16
  299. package/lib/ServiceManager.d.ts +38 -0
  300. package/lib/StorageManager.d.ts +2 -2
  301. package/lib/TokenManager.d.ts +4 -5
  302. package/lib/TransactionManager.d.ts +4 -3
  303. package/lib/browser/fingerprint.d.ts +2 -3
  304. package/lib/builderUtil.d.ts +1 -2
  305. package/lib/crypto/base64.d.ts +2 -0
  306. package/lib/crypto/browser.d.ts +1 -1
  307. package/lib/crypto/webauthn.d.ts +25 -0
  308. package/lib/features.d.ts +1 -1
  309. package/lib/http/headers.d.ts +2 -2
  310. package/lib/http/request.d.ts +4 -4
  311. package/lib/idx/authenticate.d.ts +2 -2
  312. package/lib/idx/authenticator/Authenticator.d.ts +4 -5
  313. package/lib/idx/authenticator/OktaPassword.d.ts +7 -9
  314. package/lib/idx/authenticator/SecurityQuestionEnrollment.d.ts +9 -8
  315. package/lib/idx/authenticator/SecurityQuestionVerification.d.ts +7 -7
  316. package/lib/idx/authenticator/VerificationCodeAuthenticator.d.ts +6 -2
  317. package/lib/idx/authenticator/WebauthnEnrollment.d.ts +16 -0
  318. package/lib/idx/authenticator/WebauthnVerification.d.ts +17 -0
  319. package/lib/idx/authenticator/getAuthenticator.d.ts +1 -1
  320. package/lib/idx/authenticator/index.d.ts +9 -0
  321. package/lib/idx/cancel.d.ts +2 -2
  322. package/lib/idx/emailVerify.d.ts +26 -0
  323. package/lib/{util/emailVerify.d.ts → idx/flow/AccountUnlockFlow.d.ts} +2 -6
  324. package/lib/idx/flow/FlowSpecification.d.ts +3 -2
  325. package/lib/idx/flow/index.d.ts +1 -0
  326. package/lib/idx/headers.d.ts +3 -2
  327. package/lib/idx/idx-js/client.d.ts +36 -0
  328. package/lib/idx/idx-js/index.d.ts +51 -0
  329. package/lib/idx/idx-js/interact.d.ts +25 -0
  330. package/lib/idx/idx-js/introspect.d.ts +20 -0
  331. package/lib/idx/idx-js/parsers.d.ts +15 -0
  332. package/lib/idx/idx-js/util.d.ts +12 -0
  333. package/lib/idx/idx-js/v1/actionParser.d.ts +16 -0
  334. package/lib/idx/idx-js/v1/generateIdxAction.d.ts +13 -0
  335. package/lib/idx/idx-js/v1/idxResponseParser.d.ts +20 -0
  336. package/lib/idx/idx-js/v1/makeIdxState.d.ts +13 -0
  337. package/lib/idx/idx-js/v1/parsers.d.ts +16 -0
  338. package/lib/idx/idx-js/v1/remediationParser.d.ts +12 -0
  339. package/lib/idx/index.d.ts +12 -10
  340. package/lib/idx/interact.d.ts +7 -13
  341. package/lib/idx/introspect.d.ts +4 -3
  342. package/lib/idx/poll.d.ts +2 -2
  343. package/lib/idx/proceed.d.ts +8 -5
  344. package/lib/idx/recoverPassword.d.ts +2 -2
  345. package/lib/idx/register.d.ts +2 -2
  346. package/lib/idx/remediate.d.ts +10 -4
  347. package/lib/idx/remediators/AuthenticatorEnrollmentData.d.ts +3 -3
  348. package/lib/idx/remediators/AuthenticatorVerificationData.d.ts +5 -5
  349. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +10 -10
  350. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +10 -7
  351. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +8 -12
  352. package/lib/idx/remediators/EnrollProfile.d.ts +1 -1
  353. package/lib/idx/remediators/EnrollmentChannelData.d.ts +54 -0
  354. package/lib/idx/remediators/Identify.d.ts +2 -2
  355. package/lib/idx/remediators/ReEnrollAuthenticator.d.ts +2 -2
  356. package/lib/idx/remediators/RedirectIdp.d.ts +3 -3
  357. package/lib/idx/remediators/SelectAuthenticatorUnlockAccount.d.ts +38 -0
  358. package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +40 -0
  359. package/lib/idx/remediators/index.d.ts +3 -0
  360. package/lib/idx/remediators/util.d.ts +2 -2
  361. package/lib/idx/run.d.ts +5 -3
  362. package/lib/idx/startTransaction.d.ts +3 -2
  363. package/lib/idx/transactionMeta.d.ts +10 -31
  364. package/lib/idx/types/FlowIdentifier.d.ts +1 -1
  365. package/lib/idx/types/idx-js.d.ts +44 -1
  366. package/lib/idx/types/index.d.ts +36 -9
  367. package/lib/idx/unlockAccount.d.ts +15 -0
  368. package/lib/index.d.ts +1 -0
  369. package/lib/oidc/endpoints/well-known.d.ts +3 -3
  370. package/lib/oidc/exchangeCodeForTokens.d.ts +14 -2
  371. package/lib/oidc/getToken.d.ts +2 -2
  372. package/lib/oidc/getWithPopup.d.ts +2 -2
  373. package/lib/oidc/getWithRedirect.d.ts +2 -2
  374. package/lib/oidc/getWithoutPrompt.d.ts +2 -2
  375. package/lib/oidc/handleOAuthResponse.d.ts +2 -2
  376. package/lib/oidc/parseFromUrl.d.ts +1 -1
  377. package/lib/oidc/renewToken.d.ts +2 -2
  378. package/lib/oidc/renewTokens.d.ts +1 -1
  379. package/lib/oidc/renewTokensWithRefresh.d.ts +2 -2
  380. package/lib/oidc/revokeToken.d.ts +2 -2
  381. package/lib/oidc/util/browser.d.ts +3 -3
  382. package/lib/oidc/util/defaultTokenParams.d.ts +2 -2
  383. package/lib/oidc/util/errors.d.ts +2 -2
  384. package/lib/oidc/util/index.d.ts +1 -0
  385. package/lib/oidc/util/loginRedirect.d.ts +4 -4
  386. package/lib/oidc/util/oauth.d.ts +4 -11
  387. package/lib/oidc/util/oauthMeta.d.ts +2 -0
  388. package/lib/oidc/util/prepareTokenParams.d.ts +5 -2
  389. package/lib/oidc/util/validateClaims.d.ts +2 -2
  390. package/lib/oidc/verifyToken.d.ts +2 -2
  391. package/lib/options/browser.d.ts +16 -0
  392. package/lib/{options.d.ts → options/index.d.ts} +1 -1
  393. package/lib/options/node.d.ts +16 -0
  394. package/lib/server/serverStorage.d.ts +1 -1
  395. package/lib/services/AutoRenewService.d.ts +27 -0
  396. package/lib/services/{TokenService.d.ts → SyncStorageService.d.ts} +8 -5
  397. package/lib/services/index.d.ts +13 -0
  398. package/lib/tx/AuthTransaction.d.ts +2 -2
  399. package/lib/tx/TransactionState.d.ts +11 -1
  400. package/lib/tx/api.d.ts +6 -6
  401. package/lib/types/OktaAuthOptions.d.ts +11 -8
  402. package/lib/types/Service.d.ts +23 -0
  403. package/lib/types/Storage.d.ts +3 -3
  404. package/lib/types/Transaction.d.ts +10 -7
  405. package/lib/types/UserClaims.d.ts +3 -3
  406. package/lib/types/api.d.ts +49 -22
  407. package/lib/types/index.d.ts +1 -1
  408. package/lib/util/console.d.ts +1 -1
  409. package/lib/util/index.d.ts +0 -1
  410. package/lib/util/sharedStorage.d.ts +1 -1
  411. package/lib/util/types.d.ts +1 -1
  412. package/lib/util/url.d.ts +2 -2
  413. package/package.json +30 -13
  414. package/polyfill/index.js +1 -0
  415. package/cjs/options.js +0 -154
  416. package/cjs/options.js.map +0 -1
  417. package/cjs/services/TokenService.js +0 -108
  418. package/cjs/services/TokenService.js.map +0 -1
  419. package/cjs/util/emailVerify.js +0 -28
  420. package/cjs/util/emailVerify.js.map +0 -1
  421. package/esm/index.js.map +0 -1
@@ -0,0 +1,16 @@
1
+ /*!
2
+ * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+ import { StorageManagerOptions, OktaAuthOptions } from '../types';
13
+ export { default as storage } from '../server/serverStorage';
14
+ export declare const STORAGE_MANAGER_OPTIONS: StorageManagerOptions;
15
+ export declare const enableSharedStorage = false;
16
+ export declare function getCookieSettings(args?: OktaAuthOptions, isHTTPS?: boolean): import("../types").CookieOptions | undefined;
@@ -18,7 +18,7 @@ declare class ServerStorage implements StorageUtil {
18
18
  testStorageType(storageType: StorageType): boolean;
19
19
  getStorageByType(storageType: StorageType): SimpleStorage;
20
20
  findStorageType(): StorageType;
21
- getHttpCache(): any;
21
+ getHttpCache(): null;
22
22
  getStorage(): SimpleStorage;
23
23
  }
24
24
  declare const _default: ServerStorage;
@@ -0,0 +1,27 @@
1
+ /*!
2
+ * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+ import { TokenManager } from '../TokenManager';
13
+ import { ServiceInterface, ServiceManagerOptions } from '../types';
14
+ export declare class AutoRenewService implements ServiceInterface {
15
+ private tokenManager;
16
+ private options;
17
+ private renewTimeQueue;
18
+ private started;
19
+ constructor(tokenManager: TokenManager, options?: ServiceManagerOptions);
20
+ private shouldThrottleRenew;
21
+ requiresLeadership(): boolean;
22
+ private onTokenExpiredHandler;
23
+ canStart(): boolean;
24
+ start(): void;
25
+ stop(): void;
26
+ isStarted(): boolean;
27
+ }
@@ -10,14 +10,17 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
  import { TokenManager } from '../TokenManager';
13
- import { TokenManagerOptions } from '../types';
14
- export declare class TokenService {
13
+ import { ServiceManagerOptions, ServiceInterface } from '../types';
14
+ export declare class SyncStorageService implements ServiceInterface {
15
15
  private tokenManager;
16
16
  private options;
17
- private storageListener;
18
- private onTokenExpiredHandler;
19
17
  private syncTimeout;
20
- constructor(tokenManager: TokenManager, options?: TokenManagerOptions);
18
+ private started;
19
+ constructor(tokenManager: TokenManager, options?: ServiceManagerOptions);
20
+ private storageListener;
21
+ requiresLeadership(): boolean;
22
+ isStarted(): boolean;
23
+ canStart(): boolean;
21
24
  start(): void;
22
25
  stop(): void;
23
26
  }
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+ export * from './AutoRenewService';
13
+ export * from './SyncStorageService';
@@ -42,7 +42,7 @@ export declare class AuthTransaction implements TransactionState, AuthTransactio
42
42
  activate?: AuthTransactionFunction;
43
43
  poll?: AuthTransactionFunction;
44
44
  prev?: AuthTransactionFunction;
45
- data: TransactionState;
45
+ data?: TransactionState;
46
46
  stateToken?: string;
47
47
  sessionToken?: string;
48
48
  status: string | IdxStatus;
@@ -53,6 +53,6 @@ export declare class AuthTransaction implements TransactionState, AuthTransactio
53
53
  scopes?: Array<Record<string, any>>;
54
54
  target?: Record<string, any>;
55
55
  authentication?: Record<string, any>;
56
- constructor(sdk: any, res?: any);
56
+ constructor(sdk: any, res?: TransactionState | null);
57
57
  }
58
58
  export {};
@@ -9,8 +9,17 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- export declare class TransactionState {
12
+ export interface TransactionLink {
13
+ name?: string;
14
+ type: string;
15
+ href: string;
16
+ hints?: {
17
+ allow?: string[];
18
+ };
19
+ }
20
+ export interface TransactionState {
13
21
  interactionHandle?: string;
22
+ status: string;
14
23
  stateToken?: string;
15
24
  type?: string;
16
25
  expiresAt?: string;
@@ -24,4 +33,5 @@ export declare class TransactionState {
24
33
  profile?: {
25
34
  updatePhone?: boolean;
26
35
  };
36
+ _links?: Record<string, TransactionLink>;
27
37
  }
package/lib/tx/api.d.ts CHANGED
@@ -11,9 +11,9 @@
11
11
  *
12
12
  */
13
13
  import { AuthTransaction } from './AuthTransaction';
14
- declare function transactionStatus(sdk: any, args: any): Promise<any>;
15
- declare function resumeTransaction(sdk: any, args: any): any;
16
- declare function introspect(sdk: any, args: any): Promise<AuthTransaction>;
17
- declare function transactionExists(sdk: any): boolean;
18
- declare function postToTransaction(sdk: any, url: any, args: any, options?: any): Promise<AuthTransaction>;
19
- export { transactionStatus, resumeTransaction, transactionExists, postToTransaction, introspect, };
14
+ export declare function transactionStatus(sdk: any, args: any): Promise<any>;
15
+ export declare function resumeTransaction(sdk: any, args: any): any;
16
+ export declare function introspectAuthn(sdk: any, args: any): Promise<AuthTransaction>;
17
+ export declare function transactionStep(sdk: any, args: any): Promise<any>;
18
+ export declare function transactionExists(sdk: any): boolean;
19
+ export declare function postToTransaction(sdk: any, url: any, args: any, options?: any): Promise<AuthTransaction>;
@@ -9,14 +9,17 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- import { StorageManagerOptions, StorageUtil } from './Storage';
12
+ import { StorageManagerOptions, StorageUtil, SimpleStorage } from './Storage';
13
13
  import { CookieOptions } from './Cookies';
14
14
  import { HttpRequestClient } from './http';
15
15
  import { AuthState } from './AuthState';
16
16
  import { TransactionManagerOptions } from './Transaction';
17
- import { SimpleStorage } from './Storage';
18
17
  import { FlowIdentifier } from '../idx/types';
18
+ import { ServiceManagerOptions } from './Service';
19
19
  import OktaAuth from '../OktaAuth';
20
+ export interface IsAuthenticatedOptions {
21
+ onExpiredToken?: 'renew' | 'remove' | 'none';
22
+ }
20
23
  export interface TokenManagerOptions {
21
24
  autoRenew?: boolean;
22
25
  autoRemove?: boolean;
@@ -28,10 +31,6 @@ export interface TokenManagerOptions {
28
31
  syncStorage?: boolean;
29
32
  _storageEventDelay?: number;
30
33
  }
31
- export interface CustomUserAgent {
32
- template?: string;
33
- value?: string;
34
- }
35
34
  export interface CustomUrls {
36
35
  issuer?: string;
37
36
  authorizeUrl?: string;
@@ -56,16 +55,20 @@ export interface OktaAuthOptions extends CustomUrls {
56
55
  storageUtil?: StorageUtil;
57
56
  ajaxRequest?: object;
58
57
  httpRequestClient?: HttpRequestClient;
59
- userAgent?: CustomUserAgent;
60
58
  cookies?: CookieOptions;
61
59
  transformErrorXHR?: (xhr: object) => any;
62
60
  headers?: object;
63
61
  maxClockSkew?: number;
64
62
  transformAuthState?: (oktaAuth: OktaAuth, authState: AuthState) => Promise<AuthState>;
65
- restoreOriginalUri?: (oktaAuth: OktaAuth, originalUri: string) => Promise<void>;
63
+ restoreOriginalUri?: (oktaAuth: OktaAuth, originalUri?: string) => Promise<void>;
66
64
  devMode?: boolean;
67
65
  storageManager?: StorageManagerOptions;
66
+ services?: ServiceManagerOptions;
68
67
  transactionManager?: TransactionManagerOptions;
69
68
  flow?: FlowIdentifier;
69
+ codeChallenge?: string;
70
+ codeChallengeMethod?: string;
71
+ recoveryToken?: string;
72
+ activationToken?: string;
70
73
  clientSecret?: string;
71
74
  }
@@ -0,0 +1,23 @@
1
+ export interface ServiceManagerInterface {
2
+ isLeader(): boolean;
3
+ start(): void;
4
+ stop(): void;
5
+ getService(name: string): ServiceInterface | undefined;
6
+ }
7
+ export interface ServiceInterface {
8
+ start(): void;
9
+ stop(): void;
10
+ isStarted(): boolean;
11
+ canStart(): boolean;
12
+ requiresLeadership(): boolean;
13
+ }
14
+ export interface AutoRenewServiceOptions {
15
+ autoRenew?: boolean;
16
+ autoRemove?: boolean;
17
+ }
18
+ export interface SyncStorageServiceOptions {
19
+ syncStorage?: boolean;
20
+ }
21
+ export declare type ServiceManagerOptions = AutoRenewServiceOptions & SyncStorageServiceOptions & {
22
+ broadcastChannelName?: string;
23
+ };
@@ -49,13 +49,13 @@ export interface StorageOptions extends CookieOptions {
49
49
  storageTypes?: StorageType[];
50
50
  storageProvider?: SimpleStorage;
51
51
  storageKey?: string;
52
- useMultipleCookies?: boolean;
52
+ useSeparateCookies?: boolean;
53
53
  }
54
54
  export declare type StorageType = 'memory' | 'sessionStorage' | 'localStorage' | 'cookie' | 'custom' | 'auto';
55
55
  export interface StorageUtil {
56
56
  storage: TxStorage;
57
57
  testStorageType(storageType: StorageType): boolean;
58
- getStorageByType(storageType: StorageType, options: StorageOptions): SimpleStorage;
58
+ getStorageByType(storageType: StorageType, options?: StorageOptions): SimpleStorage;
59
59
  findStorageType(types: StorageType[]): StorageType;
60
60
  }
61
61
  export interface BrowserStorageUtil extends StorageUtil {
@@ -79,7 +79,7 @@ export interface NodeStorageUtil extends StorageUtil {
79
79
  getStorage(): SimpleStorage;
80
80
  }
81
81
  export interface CookieStorage extends SimpleStorage {
82
- setItem(key: string, value: any, expiresAt?: string): void;
82
+ setItem(key: string, value: any, expiresAt?: string | null): void;
83
83
  getItem(key?: string): any;
84
84
  removeItem(key: string): any;
85
85
  }
@@ -9,9 +9,9 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- import StorageManager from '../StorageManager';
12
+ import { StorageManager } from '../StorageManager';
13
13
  import { CustomUrls } from './OktaAuthOptions';
14
- import { FlowIdentifier } from '../idx/types';
14
+ import { FlowIdentifier, IdxTransactionMeta } from '../idx/types';
15
15
  export interface TransactionManagerOptions {
16
16
  storageManager?: StorageManager;
17
17
  enableSharedStorage?: boolean;
@@ -19,12 +19,19 @@ export interface TransactionManagerOptions {
19
19
  saveNonceCookie?: boolean;
20
20
  saveStateCookie?: boolean;
21
21
  saveParamsCookie?: boolean;
22
+ saveLastResponse?: boolean;
22
23
  }
23
24
  export interface TransactionMetaOptions {
24
25
  pkce?: boolean;
25
26
  oauth?: boolean;
26
27
  muteWarning?: boolean;
27
28
  state?: string;
29
+ flow?: FlowIdentifier;
30
+ codeVerifier?: string;
31
+ codeChallenge?: string;
32
+ codeChallengeMethod?: string;
33
+ activationToken?: string;
34
+ recoveryToken?: string;
28
35
  }
29
36
  export interface OAuthTransactionMeta {
30
37
  issuer: string;
@@ -32,6 +39,7 @@ export interface OAuthTransactionMeta {
32
39
  state: string;
33
40
  nonce: string;
34
41
  responseType: string | string[];
42
+ responseMode?: string;
35
43
  scopes: string[];
36
44
  clientId: string;
37
45
  urls: CustomUrls;
@@ -43,11 +51,6 @@ export interface PKCETransactionMeta extends OAuthTransactionMeta {
43
51
  codeChallengeMethod: string;
44
52
  codeChallenge: string;
45
53
  }
46
- export interface IdxTransactionMeta extends PKCETransactionMeta {
47
- interactionHandle?: string;
48
- remediations?: string[];
49
- flow?: FlowIdentifier;
50
- }
51
54
  export declare type CustomAuthTransactionMeta = Record<string, string | undefined>;
52
55
  export declare type TransactionMeta = IdxTransactionMeta | PKCETransactionMeta | OAuthTransactionMeta | CustomAuthTransactionMeta;
53
56
  export declare function isOAuthTransactionMeta(obj: any): obj is OAuthTransactionMeta;
@@ -15,7 +15,7 @@
15
15
  * ID Token or returned from the /userinfo response and depend on the
16
16
  * response_type and scope parameters in the authorize request
17
17
  */
18
- export interface UserClaims {
18
+ export declare type UserClaims<T = {}> = T & {
19
19
  auth_time?: number;
20
20
  aud?: string;
21
21
  email?: string;
@@ -34,5 +34,5 @@ export interface UserClaims {
34
34
  updated_at?: number;
35
35
  ver?: number;
36
36
  zoneinfo?: string;
37
- [propName: string]: any;
38
- }
37
+ at_hash?: string;
38
+ };
@@ -14,27 +14,28 @@ import { Token, Tokens, RevocableToken, AccessToken, IDToken, RefreshToken } fro
14
14
  import { JWTObject } from './JWT';
15
15
  import { UserClaims } from './UserClaims';
16
16
  import { CustomUrls, OktaAuthOptions } from './OktaAuthOptions';
17
- import StorageManager from '../StorageManager';
17
+ import { StorageManager } from '../StorageManager';
18
18
  import TransactionManager from '../TransactionManager';
19
19
  import { TokenManagerInterface } from './TokenManager';
20
+ import { ServiceManagerInterface } from './Service';
20
21
  import { OktaUserAgent } from '../OktaUserAgent';
21
- import { FlowIdentifier, IdxPollOptions } from '../idx/types';
22
- import { AuthenticationOptions, RegistrationOptions as IdxRegistrationOptions, PasswordRecoveryOptions, ProceedOptions, CancelOptions, IdxOptions, IdxTransaction } from '../idx/types';
22
+ import { AuthenticationOptions, RegistrationOptions as IdxRegistrationOptions, PasswordRecoveryOptions, AccountUnlockOptions, ProceedOptions, CancelOptions, IdxOptions, IdxTransaction, IdxTransactionMeta, EmailVerifyCallbackResponse, IdxAuthenticator, ChallengeData, ActivationData, WebauthnEnrollValues, WebauthnVerificationValues, FlowIdentifier, IdxPollOptions } from '../idx/types';
23
23
  import { InteractOptions, InteractResponse } from '../idx/interact';
24
24
  import { IntrospectOptions } from '../idx/introspect';
25
25
  import { IdxResponse } from '../idx/types/idx-js';
26
- export interface OktaAuth {
26
+ import { TransactionMetaOptions } from './Transaction';
27
+ export interface OktaAuthInterface {
27
28
  options: OktaAuthOptions;
28
- userAgent: string;
29
29
  getIssuerOrigin(): string;
30
- getOriginalUri(): string;
30
+ getOriginalUri(): string | undefined;
31
31
  _oktaUserAgent: OktaUserAgent;
32
32
  storageManager: StorageManager;
33
33
  transactionManager: TransactionManager;
34
34
  tokenManager: TokenManagerInterface;
35
+ serviceManager: ServiceManagerInterface;
35
36
  idx: IdxAPI;
36
- features?: FeaturesAPI;
37
- token?: TokenAPI;
37
+ features: FeaturesAPI;
38
+ token: TokenAPI;
38
39
  }
39
40
  export interface APIError {
40
41
  errorSummary: string;
@@ -83,11 +84,10 @@ export interface TokenParams extends CustomUrls {
83
84
  scopes?: string[];
84
85
  display?: string;
85
86
  ignoreSignature?: boolean;
86
- codeChallengeMethod?: string;
87
87
  codeVerifier?: string;
88
88
  authorizationCode?: string;
89
89
  codeChallenge?: string;
90
- grantType?: string;
90
+ codeChallengeMethod?: string;
91
91
  interactionCode?: string;
92
92
  idp?: string;
93
93
  idpScope?: string | string[];
@@ -136,8 +136,8 @@ export interface TokenAPI extends BaseTokenAPI {
136
136
  getWithoutPrompt(params?: TokenParams): Promise<TokenResponse>;
137
137
  getWithPopup(params?: TokenParams): Promise<TokenResponse>;
138
138
  revoke(token: RevocableToken): Promise<object>;
139
- renew(token: Token): Promise<Token>;
140
- renewTokens(): Promise<Tokens>;
139
+ renew(token: Token): Promise<Token | undefined>;
140
+ renewTokens(options?: TokenParams): Promise<Tokens>;
141
141
  renewTokensWithRefresh(tokenParams: TokenParams, refreshTokenObject: RefreshToken): Promise<Tokens>;
142
142
  verify(token: IDToken, params?: object): Promise<IDToken>;
143
143
  isLoginRedirect(): boolean;
@@ -163,20 +163,33 @@ export interface FeaturesAPI {
163
163
  isPKCESupported(): boolean;
164
164
  isIE11OrLess(): boolean;
165
165
  }
166
+ export interface CryptoAPI {
167
+ base64UrlToBuffer(b64u: string): Uint8Array;
168
+ bufferToBase64Url(bin: Uint8Array): string;
169
+ }
170
+ export interface WebauthnAPI {
171
+ getAssertion(credential: PublicKeyCredential): WebauthnVerificationValues;
172
+ getAttestation(credential: PublicKeyCredential): WebauthnEnrollValues;
173
+ buildCredentialRequestOptions(challengeData: ChallengeData, authenticatorEnrollments: IdxAuthenticator[]): CredentialRequestOptions;
174
+ buildCredentialCreationOptions(activationData: ActivationData, authenticatorEnrollments: IdxAuthenticator[]): CredentialCreationOptions;
175
+ }
166
176
  export interface SupportsCodeFlow {
167
177
  useInteractionCodeFlow?: boolean;
168
178
  }
169
179
  export interface SigninOptions extends SupportsCodeFlow, AuthenticationOptions {
170
180
  relayState?: string;
171
- context?: string;
181
+ context?: {
182
+ deviceToken?: string;
183
+ };
172
184
  sendFingerprint?: boolean;
185
+ stateToken?: string;
173
186
  }
174
187
  export interface SigninWithRedirectOptions extends SigninOptions, TokenParams {
175
188
  originalUri?: string;
176
189
  }
177
190
  export interface SigninWithCredentialsOptions extends SigninOptions {
178
- username: string;
179
- password: string;
191
+ username?: string;
192
+ password?: string;
180
193
  }
181
194
  export interface SigninAPI {
182
195
  signIn(opts: SigninOptions): Promise<AuthTransaction>;
@@ -192,7 +205,7 @@ export interface SignoutOptions extends SignoutRedirectUrlOptions {
192
205
  revokeRefreshToken?: boolean;
193
206
  accessToken?: AccessToken;
194
207
  refreshToken?: RefreshToken;
195
- clearTokensAfterRedirect?: boolean;
208
+ clearTokensBeforeRedirect?: boolean;
196
209
  }
197
210
  export interface SignoutAPI {
198
211
  signOut(opts: SignoutOptions): any;
@@ -215,15 +228,29 @@ export interface IdxAPI {
215
228
  introspect: (options?: IntrospectOptions) => Promise<IdxResponse>;
216
229
  authenticate: (options?: AuthenticationOptions) => Promise<IdxTransaction>;
217
230
  register: (options?: IdxRegistrationOptions) => Promise<IdxTransaction>;
231
+ recoverPassword: (options?: PasswordRecoveryOptions) => Promise<IdxTransaction>;
232
+ unlockAccount: (options?: AccountUnlockOptions) => Promise<IdxTransaction>;
218
233
  poll: (options?: IdxPollOptions) => Promise<IdxTransaction>;
234
+ start: (options?: IdxOptions) => Promise<IdxTransaction>;
235
+ canProceed(options?: {
236
+ state?: string;
237
+ }): boolean;
219
238
  proceed: (options?: ProceedOptions) => Promise<IdxTransaction>;
220
239
  cancel: (options?: CancelOptions) => Promise<IdxTransaction>;
240
+ getFlow(): FlowIdentifier | undefined;
241
+ setFlow(flow: FlowIdentifier): void;
221
242
  startTransaction: (options?: IdxOptions) => Promise<IdxTransaction>;
222
- recoverPassword: (options?: PasswordRecoveryOptions) => Promise<IdxTransaction>;
243
+ isInteractionRequired: (hashOrSearch?: string) => boolean;
244
+ isInteractionRequiredError: (error: Error) => boolean;
223
245
  handleInteractionCodeRedirect: (url: string) => Promise<void>;
224
- getFlow(): FlowIdentifier;
225
- setFlow(flow: FlowIdentifier): void;
226
- canProceed(options?: {
227
- state?: string;
228
- }): boolean;
246
+ isEmailVerifyCallback: (search: string) => boolean;
247
+ parseEmailVerifyCallback: (search: string) => EmailVerifyCallbackResponse;
248
+ handleEmailVerifyCallback: (search: string) => Promise<IdxTransaction | undefined>;
249
+ isEmailVerifyCallbackError: (error: Error) => boolean;
250
+ getSavedTransactionMeta: (options?: TransactionMetaOptions) => IdxTransactionMeta | undefined;
251
+ createTransactionMeta: (options?: TransactionMetaOptions) => Promise<IdxTransactionMeta>;
252
+ getTransactionMeta: (options?: TransactionMetaOptions) => Promise<IdxTransactionMeta>;
253
+ saveTransactionMeta: (meta: unknown) => void;
254
+ clearTransactionMeta: () => void;
255
+ isTransactionMetaValid: (meta: unknown) => boolean;
229
256
  }
@@ -22,5 +22,5 @@ export * from './OktaAuthOptions';
22
22
  export * from './Storage';
23
23
  export * from './Token';
24
24
  export * from './TokenManager';
25
+ export * from './Service';
25
26
  export * from './UserClaims';
26
- export * from './AuthState';
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- export declare function getNativeConsole(): Console;
12
+ export declare function getNativeConsole(): Console | undefined;
13
13
  export declare function getConsole(): Console | {
14
14
  log: () => void;
15
15
  warn: () => void;
@@ -10,7 +10,6 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
  export * from './console';
13
- export * from './emailVerify';
14
13
  export * from './misc';
15
14
  export * from './object';
16
15
  export * from './types';
@@ -1,5 +1,5 @@
1
1
  import { TransactionMeta } from '../types';
2
- import StorageManager from '../StorageManager';
2
+ import { StorageManager } from '../StorageManager';
3
3
  export declare function pruneSharedStorage(storageManager: StorageManager): void;
4
4
  export declare function saveTransactionToSharedStorage(storageManager: StorageManager, state: string, meta: TransactionMeta): void;
5
5
  export declare function loadTransactionFromSharedStorage(storageManager: StorageManager, state: string): any;
@@ -13,4 +13,4 @@ export declare function isString(obj: any): obj is string;
13
13
  export declare function isObject(obj: any): obj is object;
14
14
  export declare function isNumber(obj: any): obj is number;
15
15
  export declare function isFunction(fn: any): fn is Function;
16
- export declare function isPromise(obj: any): boolean;
16
+ export declare function isPromise(obj: any): any;
package/lib/util/url.d.ts CHANGED
@@ -10,7 +10,7 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
  export declare function isAbsoluteUrl(url: any): boolean;
13
- export declare function toAbsoluteUrl(url: string, baseUrl: any): string;
14
- export declare function toRelativeUrl(url: string, baseUrl: any): string;
13
+ export declare function toAbsoluteUrl(url: string | undefined, baseUrl: any): string;
14
+ export declare function toRelativeUrl(url: string | undefined, baseUrl: any): string;
15
15
  export declare function toQueryString(obj: any): string;
16
16
  export declare function removeTrailingSlash(path: any): any;
package/package.json CHANGED
@@ -2,13 +2,23 @@
2
2
  "private": false,
3
3
  "name": "@okta/okta-auth-js",
4
4
  "description": "The Okta Auth SDK",
5
- "version": "5.11.0",
5
+ "version": "6.2.0",
6
6
  "homepage": "https://github.com/okta/okta-auth-js",
7
7
  "license": "Apache-2.0",
8
8
  "main": "cjs/index.js",
9
- "module": "esm/index.js",
9
+ "module": "esm/esm.node.mjs",
10
10
  "browser": "dist/okta-auth-js.umd.js",
11
11
  "types": "lib/index.d.ts",
12
+ "exports": {
13
+ "node": {
14
+ "import": "./esm/esm.node.mjs",
15
+ "require": "./cjs/index.js"
16
+ },
17
+ "browser": {
18
+ "import": "./esm/esm.browser.js"
19
+ },
20
+ "default": "./dist/okta-auth-js.umd.js"
21
+ },
12
22
  "repository": {
13
23
  "type": "git",
14
24
  "url": "https://github.com/okta/okta-auth-js.git"
@@ -20,7 +30,7 @@
20
30
  "banners": "node ./scripts/maintain-banners.js",
21
31
  "clean": "yarn clean:build",
22
32
  "clean:build": "rimraf build && rimraf build2",
23
- "dev": "webpack --config webpack.dev.config.js",
33
+ "dev": "NODE_ENV=development yarn build:esm --watch",
24
34
  "lint": "eslint .",
25
35
  "tsd": "tsd",
26
36
  "lint:report": "eslint -f checkstyle -o ./build2/reports/lint/eslint-checkstyle-result.xml .",
@@ -36,6 +46,9 @@
36
46
  "test:report": "yarn test --ci --silent || true",
37
47
  "test:samples": "yarn workspace @okta/test.e2e.samples start",
38
48
  "test:integration": "jest --config ./jest.integration.js",
49
+ "test:bundle:esm:browser": "cross-env BUNDLE_ENV=browser NODE_OPTIONS=--experimental-vm-modules jest --config ./jest.esm.mjs",
50
+ "test:bundle:esm:node": "cross-env BUNDLE_ENV=node NODE_OPTIONS=--experimental-vm-modules jest --config ./jest.esm.mjs",
51
+ "test:bundle:cjs": "cross-env BUNDLE_ENV=node jest --config ./jest.cjs.js",
39
52
  "build": "node scripts/build.js",
40
53
  "build:cdn": "cross-env NODE_ENV=production webpack --config webpack.cdn.config.js",
41
54
  "build:web": "cross-env NODE_ENV=production webpack --config webpack.config.js",
@@ -70,14 +83,16 @@
70
83
  },
71
84
  "dependencies": {
72
85
  "@babel/runtime": "^7.12.5",
73
- "@okta/okta-idx-js": "0.23.0",
86
+ "@babel/runtime-corejs3": "^7.17.0",
74
87
  "@peculiar/webcrypto": "1.1.6",
75
88
  "Base64": "1.1.0",
76
89
  "atob": "^2.1.2",
90
+ "broadcast-channel": "^4.10.0",
77
91
  "btoa": "^1.2.1",
78
92
  "core-js": "^3.6.5",
79
- "cross-fetch": "^3.0.6",
80
- "js-cookie": "2.2.1",
93
+ "cross-fetch": "^3.1.5",
94
+ "js-cookie": "^3.0.1",
95
+ "jsonpath-plus": "^6.0.1",
81
96
  "node-cache": "^5.1.2",
82
97
  "p-cancelable": "^2.0.0",
83
98
  "text-encoding": "^0.7.0",
@@ -94,11 +109,11 @@
94
109
  "@babel/plugin-transform-typescript": "^7.10.5",
95
110
  "@babel/preset-env": "^7.8.2",
96
111
  "@babel/preset-typescript": "^7.10.4",
97
- "@okta/okta-signin-widget": "5.13.0",
112
+ "@okta/okta-signin-widget": "6.0.0",
98
113
  "@rollup/plugin-alias": "^3.1.8",
99
114
  "@rollup/plugin-babel": "^5.3.0",
100
115
  "@rollup/plugin-replace": "^3.0.0",
101
- "@types/jest": "^25.2.3",
116
+ "@types/jest": "^27.4.0",
102
117
  "@types/node": "^14.0.3",
103
118
  "@typescript-eslint/eslint-plugin": "^2.34.0",
104
119
  "@typescript-eslint/parser": "^2.34.0",
@@ -109,14 +124,16 @@
109
124
  "chalk": "2.4.2",
110
125
  "cross-env": "^5.1.1",
111
126
  "eslint": "^7.1.0",
127
+ "eslint-import-resolver-typescript": "^2.5.0",
112
128
  "eslint-plugin-compat": "^3.3.0",
129
+ "eslint-plugin-import": "^2.25.4",
113
130
  "eslint-plugin-jasmine": "^2.10.1",
114
131
  "eslint-plugin-jsdoc": "^25.4.2",
115
132
  "eslint-plugin-node": "^11.1.0",
116
133
  "globby": "^6.1.0",
117
134
  "istanbul-instrumenter-loader": "^3.0.1",
118
135
  "jasmine-ajax": "^4.0.0",
119
- "jest": "^26.6.3",
136
+ "jest": "^27.5.1",
120
137
  "jest-junit": "^9.0.0",
121
138
  "json-loader": "0.5.4",
122
139
  "lodash": "4.17.20",
@@ -125,7 +142,7 @@
125
142
  "rollup-plugin-license": "^2.6.0",
126
143
  "rollup-plugin-typescript2": "^0.30.0",
127
144
  "shelljs": "0.8.4",
128
- "ts-jest": "^26.4.3",
145
+ "ts-jest": "^27.1.3",
129
146
  "ts-loader": "^9.2.6",
130
147
  "tsd": "^0.17.0",
131
148
  "typescript": "^4.2.3",
@@ -169,8 +186,8 @@
169
186
  }
170
187
  },
171
188
  "okta": {
172
- "commitSha": "260aa263e5979e25661158077403d10a8c3ae12b",
173
- "fullVersion": "5.11.0-g260aa26",
174
- "testedSha": "d3d7b7449d91a1591ce9512732b5b26e9b9e875d"
189
+ "commitSha": "c1146b767599072407241c5d85486f00a5a3d0b1",
190
+ "fullVersion": "6.2.0-gc1146b7",
191
+ "testedSha": "f1acdd465de85c20d3ac73cdba345c926a94caf4"
175
192
  }
176
193
  }
package/polyfill/index.js CHANGED
@@ -14,6 +14,7 @@
14
14
  // Polyfills objects needed to support IE 11+
15
15
  require('core-js/features/object/assign');
16
16
  require('core-js/features/object/values');
17
+ require('core-js/features/object/from-entries');
17
18
  require('core-js/es/promise');
18
19
  require('core-js/es/typed-array/uint8-array');
19
20
  require('core-js/features/array/from');