@okta/okta-auth-js 6.4.2 → 6.4.5

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 (86) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/cjs/OktaAuth.js.map +1 -1
  3. package/cjs/OktaUserAgent.js +2 -2
  4. package/cjs/TransactionManager.js +25 -13
  5. package/cjs/TransactionManager.js.map +1 -1
  6. package/cjs/errors/AuthApiError.js.map +1 -1
  7. package/cjs/errors/AuthSdkError.js.map +1 -1
  8. package/cjs/idx/authenticate.js.map +1 -1
  9. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js +1 -1
  10. package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -1
  11. package/cjs/idx/authenticator/SecurityQuestionVerification.js +12 -1
  12. package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -1
  13. package/cjs/idx/authenticator/WebauthnEnrollment.js +8 -3
  14. package/cjs/idx/authenticator/WebauthnEnrollment.js.map +1 -1
  15. package/cjs/idx/authenticator/WebauthnVerification.js +8 -3
  16. package/cjs/idx/authenticator/WebauthnVerification.js.map +1 -1
  17. package/cjs/idx/cancel.js.map +1 -1
  18. package/cjs/idx/idxState/v1/generateIdxAction.js +0 -2
  19. package/cjs/idx/idxState/v1/generateIdxAction.js.map +1 -1
  20. package/cjs/idx/interact.js.map +1 -1
  21. package/cjs/idx/introspect.js +1 -1
  22. package/cjs/idx/introspect.js.map +1 -1
  23. package/cjs/idx/proceed.js.map +1 -1
  24. package/cjs/idx/recoverPassword.js.map +1 -1
  25. package/cjs/idx/register.js.map +1 -1
  26. package/cjs/idx/remediate.js +12 -12
  27. package/cjs/idx/remediate.js.map +1 -1
  28. package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
  29. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  30. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -1
  31. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
  32. package/cjs/idx/run.js +39 -6
  33. package/cjs/idx/run.js.map +1 -1
  34. package/cjs/idx/startTransaction.js.map +1 -1
  35. package/cjs/idx/types/api.js +42 -0
  36. package/cjs/idx/types/api.js.map +1 -0
  37. package/cjs/idx/types/idx-js.js.map +1 -1
  38. package/cjs/idx/types/index.js +27 -51
  39. package/cjs/idx/types/index.js.map +1 -1
  40. package/cjs/idx/types/options.js +2 -0
  41. package/cjs/idx/types/options.js.map +1 -0
  42. package/cjs/idx/unlockAccount.js.map +1 -1
  43. package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
  44. package/cjs/types/Transaction.js.map +1 -1
  45. package/dist/okta-auth-js.min.js +1 -1
  46. package/dist/okta-auth-js.min.js.map +1 -1
  47. package/dist/okta-auth-js.umd.js +1 -1
  48. package/dist/okta-auth-js.umd.js.map +1 -1
  49. package/esm/esm.browser.js +114 -77
  50. package/esm/esm.browser.js.map +1 -1
  51. package/esm/esm.node.mjs +114 -77
  52. package/esm/esm.node.mjs.map +1 -1
  53. package/lib/OktaAuth.d.ts +2 -2
  54. package/lib/TransactionManager.d.ts +4 -3
  55. package/lib/errors/AuthApiError.d.ts +2 -2
  56. package/lib/errors/AuthSdkError.d.ts +2 -2
  57. package/lib/idx/authenticate.d.ts +1 -3
  58. package/lib/idx/authenticator/SecurityQuestionVerification.d.ts +1 -0
  59. package/lib/idx/authenticator/WebauthnEnrollment.d.ts +1 -0
  60. package/lib/idx/authenticator/WebauthnVerification.d.ts +1 -0
  61. package/lib/idx/cancel.d.ts +2 -3
  62. package/lib/idx/emailVerify.d.ts +1 -1
  63. package/lib/idx/idxState/v1/generateIdxAction.d.ts +2 -2
  64. package/lib/idx/interact.d.ts +1 -16
  65. package/lib/idx/introspect.d.ts +1 -7
  66. package/lib/idx/proceed.d.ts +1 -9
  67. package/lib/idx/recoverPassword.d.ts +1 -3
  68. package/lib/idx/register.d.ts +1 -3
  69. package/lib/idx/remediate.d.ts +1 -9
  70. package/lib/idx/remediators/AuthenticatorVerificationData.d.ts +1 -2
  71. package/lib/idx/remediators/Base/Remediator.d.ts +2 -2
  72. package/lib/idx/remediators/EnrollmentChannelData.d.ts +3 -3
  73. package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +3 -3
  74. package/lib/idx/run.d.ts +1 -10
  75. package/lib/idx/startTransaction.d.ts +2 -3
  76. package/lib/idx/types/api.d.ts +99 -0
  77. package/lib/idx/types/idx-js.d.ts +10 -3
  78. package/lib/idx/types/index.d.ts +4 -110
  79. package/lib/idx/types/options.d.ts +44 -0
  80. package/lib/idx/unlockAccount.d.ts +1 -3
  81. package/lib/types/OAuth.d.ts +2 -0
  82. package/lib/types/OktaAuthOptions.d.ts +27 -11
  83. package/lib/types/Storage.d.ts +2 -1
  84. package/lib/types/Transaction.d.ts +8 -28
  85. package/lib/types/api.d.ts +12 -36
  86. package/package.json +4 -4
@@ -4233,13 +4233,15 @@ var TransactionManager = function () {
4233
4233
  var transactionStorage = this.storageManager.getTransactionStorage();
4234
4234
  var meta = transactionStorage.getStorage();
4235
4235
  transactionStorage.clearStorage();
4236
- this.clearIdxResponse();
4237
4236
  if (this.enableSharedStorage && options.clearSharedStorage !== false) {
4238
4237
  var state = options.state || (meta === null || meta === void 0 ? void 0 : meta.state);
4239
4238
  if (state) {
4240
4239
  clearTransactionFromSharedStorage(this.storageManager, state);
4241
4240
  }
4242
4241
  }
4242
+ if (options.clearIdxResponse !== false) {
4243
+ this.clearIdxResponse();
4244
+ }
4243
4245
  if (!this.legacyWidgetSupport) {
4244
4246
  return;
4245
4247
  }
@@ -4435,9 +4437,7 @@ var TransactionManager = function () {
4435
4437
  }
4436
4438
  }, {
4437
4439
  key: "saveIdxResponse",
4438
- value: function saveIdxResponse(_ref) {
4439
- var rawIdxResponse = _ref.rawIdxResponse,
4440
- requestDidSucceed = _ref.requestDidSucceed;
4440
+ value: function saveIdxResponse(data) {
4441
4441
  if (!this.saveLastResponse) {
4442
4442
  return;
4443
4443
  }
@@ -4445,14 +4445,11 @@ var TransactionManager = function () {
4445
4445
  if (!storage) {
4446
4446
  return;
4447
4447
  }
4448
- storage.setStorage({
4449
- rawIdxResponse: rawIdxResponse,
4450
- requestDidSucceed: requestDidSucceed
4451
- });
4448
+ storage.setStorage(data);
4452
4449
  }
4453
4450
  }, {
4454
4451
  key: "loadIdxResponse",
4455
- value: function loadIdxResponse() {
4452
+ value: function loadIdxResponse(options) {
4456
4453
  if (!this.saveLastResponse) {
4457
4454
  return null;
4458
4455
  }
@@ -4464,6 +4461,16 @@ var TransactionManager = function () {
4464
4461
  if (!storedValue || !isRawIdxResponse(storedValue.rawIdxResponse)) {
4465
4462
  return null;
4466
4463
  }
4464
+ if (options) {
4465
+ var stateHandle = options.stateHandle,
4466
+ interactionHandle = options.interactionHandle;
4467
+ if (stateHandle && storedValue.stateHandle !== stateHandle) {
4468
+ return null;
4469
+ }
4470
+ if (interactionHandle && storedValue.interactionHandle !== interactionHandle) {
4471
+ return null;
4472
+ }
4473
+ }
4467
4474
  return storedValue;
4468
4475
  }
4469
4476
  }, {
@@ -5312,7 +5319,7 @@ function _introspect() {
5312
5319
  switch (_context.prev = _context.next) {
5313
5320
  case 0:
5314
5321
  options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
5315
- savedIdxResponse = authClient.transactionManager.loadIdxResponse();
5322
+ savedIdxResponse = authClient.transactionManager.loadIdxResponse(options);
5316
5323
  if (savedIdxResponse) {
5317
5324
  rawIdxResponse = savedIdxResponse.rawIdxResponse;
5318
5325
  requestDidSucceed = savedIdxResponse.requestDidSucceed;
@@ -5824,7 +5831,7 @@ var SecurityQuestionEnrollment = function (_Authenticator) {
5824
5831
  var questionKey = values.questionKey,
5825
5832
  question = values.question,
5826
5833
  answer = values.answer;
5827
- if (!questionKey && !question && !answer) {
5834
+ if (!answer || !questionKey && !question) {
5828
5835
  return;
5829
5836
  }
5830
5837
  return {
@@ -5867,7 +5874,12 @@ var SecurityQuestionVerification = function (_Authenticator) {
5867
5874
  _createClass(SecurityQuestionVerification, [{
5868
5875
  key: "canVerify",
5869
5876
  value: function canVerify(values) {
5870
- return !!values.answer;
5877
+ var credentials = values.credentials;
5878
+ if (credentials && credentials.answer) {
5879
+ return true;
5880
+ }
5881
+ var answer = values.answer;
5882
+ return !!answer;
5871
5883
  }
5872
5884
  }, {
5873
5885
  key: "mapCredentials",
@@ -5907,19 +5919,22 @@ var WebauthnEnrollment = function (_Authenticator) {
5907
5919
  _createClass(WebauthnEnrollment, [{
5908
5920
  key: "canVerify",
5909
5921
  value: function canVerify(values) {
5910
- var clientData = values.clientData,
5911
- attestation = values.attestation;
5922
+ var credentials = values.credentials;
5923
+ var obj = credentials || values;
5924
+ var clientData = obj.clientData,
5925
+ attestation = obj.attestation;
5912
5926
  return !!(clientData && attestation);
5913
5927
  }
5914
5928
  }, {
5915
5929
  key: "mapCredentials",
5916
5930
  value: function mapCredentials(values) {
5917
- var clientData = values.clientData,
5931
+ var credentials = values.credentials,
5932
+ clientData = values.clientData,
5918
5933
  attestation = values.attestation;
5919
- if (!clientData && !attestation) {
5934
+ if (!credentials && !clientData && !attestation) {
5920
5935
  return;
5921
5936
  }
5922
- return {
5937
+ return credentials || {
5923
5938
  clientData: clientData,
5924
5939
  attestation: attestation
5925
5940
  };
@@ -5957,21 +5972,24 @@ var WebauthnVerification = function (_Authenticator) {
5957
5972
  _createClass(WebauthnVerification, [{
5958
5973
  key: "canVerify",
5959
5974
  value: function canVerify(values) {
5960
- var clientData = values.clientData,
5961
- authenticatorData = values.authenticatorData,
5962
- signatureData = values.signatureData;
5975
+ var credentials = values.credentials;
5976
+ var obj = credentials || values;
5977
+ var clientData = obj.clientData,
5978
+ authenticatorData = obj.authenticatorData,
5979
+ signatureData = obj.signatureData;
5963
5980
  return !!(clientData && authenticatorData && signatureData);
5964
5981
  }
5965
5982
  }, {
5966
5983
  key: "mapCredentials",
5967
5984
  value: function mapCredentials(values) {
5968
- var authenticatorData = values.authenticatorData,
5985
+ var credentials = values.credentials,
5986
+ authenticatorData = values.authenticatorData,
5969
5987
  clientData = values.clientData,
5970
5988
  signatureData = values.signatureData;
5971
- if (!authenticatorData && !clientData && !signatureData) {
5989
+ if (!credentials && !authenticatorData && !clientData && !signatureData) {
5972
5990
  return;
5973
5991
  }
5974
- return {
5992
+ return credentials || {
5975
5993
  authenticatorData: authenticatorData,
5976
5994
  clientData: clientData,
5977
5995
  signatureData: signatureData
@@ -7319,7 +7337,7 @@ function remediate(_x, _x2, _x3) {
7319
7337
  function _remediate() {
7320
7338
  _remediate = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(idxResponse, values, options) {
7321
7339
  var _context2;
7322
- var _idxResponse, neededToProceed, interactionCode, _options, flow, terminal, messages, remediator, actionFromValues, actionFromOptions, actions, _iterator, _step, _loop, _ret, nextStep, name, data;
7340
+ var _idxResponse, neededToProceed, interactionCode, _options, flow, remediator, actionFromValues, actionFromOptions, actions, _iterator, _step, _loop, _ret, terminal, messages, nextStep, name, data;
7323
7341
  return _regeneratorRuntime.wrap(function _callee$(_context4) {
7324
7342
  while (1) {
7325
7343
  switch (_context4.prev = _context4.next) {
@@ -7334,28 +7352,16 @@ function _remediate() {
7334
7352
  idxResponse: idxResponse
7335
7353
  });
7336
7354
  case 4:
7337
- terminal = isTerminalResponse(idxResponse);
7338
- messages = getMessagesFromResponse(idxResponse);
7339
- if (!terminal) {
7340
- _context4.next = 8;
7341
- break;
7342
- }
7343
- return _context4.abrupt("return", {
7344
- idxResponse: idxResponse,
7345
- terminal: terminal,
7346
- messages: messages
7347
- });
7348
- case 8:
7349
7355
  remediator = getRemediator(neededToProceed, values, options);
7350
7356
  actionFromValues = getActionFromValues(values, idxResponse);
7351
7357
  actionFromOptions = options.actions || [];
7352
7358
  actions = _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(actionFromOptions), _toConsumableArray(actionFromValues && [actionFromValues] || []));
7353
7359
  if (!actions) {
7354
- _context4.next = 32;
7360
+ _context4.next = 28;
7355
7361
  break;
7356
7362
  }
7357
7363
  _iterator = _createForOfIteratorHelper(actions);
7358
- _context4.prev = 14;
7364
+ _context4.prev = 10;
7359
7365
  _loop = _regeneratorRuntime.mark(function _loop() {
7360
7366
  var action, params, valuesWithoutExecutedAction, optionsWithoutExecutedAction, remediationAction;
7361
7367
  return _regeneratorRuntime.wrap(function _loop$(_context3) {
@@ -7442,33 +7448,45 @@ function _remediate() {
7442
7448
  }, _loop, null, [[6, 13], [21, 28]]);
7443
7449
  });
7444
7450
  _iterator.s();
7445
- case 17:
7451
+ case 13:
7446
7452
  if ((_step = _iterator.n()).done) {
7447
- _context4.next = 24;
7453
+ _context4.next = 20;
7448
7454
  break;
7449
7455
  }
7450
- return _context4.delegateYield(_loop(), "t0", 19);
7451
- case 19:
7456
+ return _context4.delegateYield(_loop(), "t0", 15);
7457
+ case 15:
7452
7458
  _ret = _context4.t0;
7453
7459
  if (!(_typeof(_ret) === "object")) {
7454
- _context4.next = 22;
7460
+ _context4.next = 18;
7455
7461
  break;
7456
7462
  }
7457
7463
  return _context4.abrupt("return", _ret.v);
7458
- case 22:
7459
- _context4.next = 17;
7464
+ case 18:
7465
+ _context4.next = 13;
7460
7466
  break;
7461
- case 24:
7462
- _context4.next = 29;
7467
+ case 20:
7468
+ _context4.next = 25;
7463
7469
  break;
7464
- case 26:
7465
- _context4.prev = 26;
7466
- _context4.t1 = _context4["catch"](14);
7470
+ case 22:
7471
+ _context4.prev = 22;
7472
+ _context4.t1 = _context4["catch"](10);
7467
7473
  _iterator.e(_context4.t1);
7468
- case 29:
7469
- _context4.prev = 29;
7474
+ case 25:
7475
+ _context4.prev = 25;
7470
7476
  _iterator.f();
7471
- return _context4.finish(29);
7477
+ return _context4.finish(25);
7478
+ case 28:
7479
+ terminal = isTerminalResponse(idxResponse);
7480
+ messages = getMessagesFromResponse(idxResponse);
7481
+ if (!terminal) {
7482
+ _context4.next = 32;
7483
+ break;
7484
+ }
7485
+ return _context4.abrupt("return", {
7486
+ idxResponse: idxResponse,
7487
+ terminal: terminal,
7488
+ messages: messages
7489
+ });
7472
7490
  case 32:
7473
7491
  if (remediator) {
7474
7492
  _context4.next = 49;
@@ -7542,7 +7560,7 @@ function _remediate() {
7542
7560
  return _context4.stop();
7543
7561
  }
7544
7562
  }
7545
- }, _callee, null, [[14, 26, 29, 32], [35, 43], [54, 64]]);
7563
+ }, _callee, null, [[10, 22, 25, 28], [35, 43], [54, 64]]);
7546
7564
  }));
7547
7565
  return _remediate.apply(this, arguments);
7548
7566
  }
@@ -7831,65 +7849,77 @@ function finalizeData(_x6, _x7) {
7831
7849
  }
7832
7850
  function _finalizeData() {
7833
7851
  _finalizeData = _asyncToGenerator( _regeneratorRuntime.mark(function _callee4(authClient, data) {
7834
- var options, idxResponse, canceled, status, exchangeCodeForTokens, shouldClearTransaction, clearSharedStorage, interactionCode, tokens, enabledFeatures, availableSteps, messages, terminal;
7852
+ var options, idxResponse, canceled, status, exchangeCodeForTokens, shouldSaveResponse, shouldClearTransaction, clearSharedStorage, interactionCode, tokens, enabledFeatures, availableSteps, messages, terminal, hasActions, hasErrors, isTerminalSuccess;
7835
7853
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
7836
7854
  while (1) {
7837
7855
  switch (_context4.prev = _context4.next) {
7838
7856
  case 0:
7839
7857
  options = data.options, idxResponse = data.idxResponse, canceled = data.canceled, status = data.status;
7840
7858
  exchangeCodeForTokens = options.exchangeCodeForTokens;
7859
+ shouldSaveResponse = false;
7841
7860
  shouldClearTransaction = false;
7842
7861
  clearSharedStorage = true;
7843
7862
  if (idxResponse) {
7863
+ shouldSaveResponse = !!(idxResponse.requestDidSucceed || idxResponse.stepUp);
7844
7864
  enabledFeatures = getEnabledFeatures(idxResponse);
7845
7865
  availableSteps = getAvailableSteps(idxResponse);
7846
7866
  messages = getMessagesFromResponse(idxResponse);
7847
7867
  terminal = isTerminalResponse(idxResponse);
7848
7868
  }
7849
7869
  if (!terminal) {
7850
- _context4.next = 11;
7870
+ _context4.next = 15;
7851
7871
  break;
7852
7872
  }
7853
7873
  status = IdxStatus.TERMINAL;
7854
- shouldClearTransaction = true;
7874
+ hasActions = _Object$keys(idxResponse.actions).length > 0;
7875
+ hasErrors = !!_findInstanceProperty(messages).call(messages, function (msg) {
7876
+ return msg.class === 'ERROR';
7877
+ });
7878
+ isTerminalSuccess = !hasActions && !hasErrors && idxResponse.requestDidSucceed === true;
7879
+ if (isTerminalSuccess) {
7880
+ shouldClearTransaction = true;
7881
+ } else {
7882
+ shouldSaveResponse = shouldSaveResponse && hasActions;
7883
+ }
7855
7884
  clearSharedStorage = false;
7856
- _context4.next = 28;
7885
+ _context4.next = 32;
7857
7886
  break;
7858
- case 11:
7887
+ case 15:
7859
7888
  if (!canceled) {
7860
- _context4.next = 16;
7889
+ _context4.next = 20;
7861
7890
  break;
7862
7891
  }
7863
7892
  status = IdxStatus.CANCELED;
7864
7893
  shouldClearTransaction = true;
7865
- _context4.next = 28;
7894
+ _context4.next = 32;
7866
7895
  break;
7867
- case 16:
7896
+ case 20:
7868
7897
  if (!(idxResponse === null || idxResponse === void 0 ? void 0 : idxResponse.interactionCode)) {
7869
- _context4.next = 28;
7898
+ _context4.next = 32;
7870
7899
  break;
7871
7900
  }
7872
7901
  interactionCode = idxResponse.interactionCode;
7873
7902
  if (!(exchangeCodeForTokens === false)) {
7874
- _context4.next = 23;
7903
+ _context4.next = 27;
7875
7904
  break;
7876
7905
  }
7877
7906
  status = IdxStatus.SUCCESS;
7878
7907
  shouldClearTransaction = false;
7879
- _context4.next = 28;
7908
+ _context4.next = 32;
7880
7909
  break;
7881
- case 23:
7882
- _context4.next = 25;
7910
+ case 27:
7911
+ _context4.next = 29;
7883
7912
  return getTokens(authClient, data);
7884
- case 25:
7913
+ case 29:
7885
7914
  tokens = _context4.sent;
7886
7915
  status = IdxStatus.SUCCESS;
7887
7916
  shouldClearTransaction = true;
7888
- case 28:
7917
+ case 32:
7889
7918
  return _context4.abrupt("return", _Object$assign(_Object$assign({}, data), {
7890
7919
  status: status,
7891
7920
  interactionCode: interactionCode,
7892
7921
  tokens: tokens,
7922
+ shouldSaveResponse: shouldSaveResponse,
7893
7923
  shouldClearTransaction: shouldClearTransaction,
7894
7924
  clearSharedStorage: clearSharedStorage,
7895
7925
  enabledFeatures: enabledFeatures,
@@ -7897,7 +7927,7 @@ function _finalizeData() {
7897
7927
  messages: messages,
7898
7928
  terminal: terminal
7899
7929
  }));
7900
- case 29:
7930
+ case 33:
7901
7931
  case "end":
7902
7932
  return _context4.stop();
7903
7933
  }
@@ -7929,10 +7959,12 @@ function run(_x8) {
7929
7959
  function _run() {
7930
7960
  _run = _asyncToGenerator( _regeneratorRuntime.mark(function _callee5(authClient) {
7931
7961
  var options,
7962
+ _a,
7932
7963
  data,
7933
7964
  _data,
7934
7965
  idxResponse,
7935
7966
  meta,
7967
+ shouldSaveResponse,
7936
7968
  shouldClearTransaction,
7937
7969
  clearSharedStorage,
7938
7970
  status,
@@ -7952,6 +7984,7 @@ function _run() {
7952
7984
  proceed,
7953
7985
  rawIdxState,
7954
7986
  requestDidSucceed,
7987
+ stepUp,
7955
7988
  _args5 = arguments;
7956
7989
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
7957
7990
  while (1) {
@@ -7983,23 +8016,25 @@ function _run() {
7983
8016
  return finalizeData(authClient, data);
7984
8017
  case 17:
7985
8018
  data = _context5.sent;
7986
- _data = data, idxResponse = _data.idxResponse, meta = _data.meta, shouldClearTransaction = _data.shouldClearTransaction, clearSharedStorage = _data.clearSharedStorage, status = _data.status, enabledFeatures = _data.enabledFeatures, availableSteps = _data.availableSteps, tokens = _data.tokens, nextStep = _data.nextStep, messages = _data.messages, error = _data.error, interactionCode = _data.interactionCode;
8019
+ _data = data, idxResponse = _data.idxResponse, meta = _data.meta, shouldSaveResponse = _data.shouldSaveResponse, shouldClearTransaction = _data.shouldClearTransaction, clearSharedStorage = _data.clearSharedStorage, status = _data.status, enabledFeatures = _data.enabledFeatures, availableSteps = _data.availableSteps, tokens = _data.tokens, nextStep = _data.nextStep, messages = _data.messages, error = _data.error, interactionCode = _data.interactionCode;
7987
8020
  if (shouldClearTransaction) {
7988
8021
  authClient.transactionManager.clear({
7989
8022
  clearSharedStorage: clearSharedStorage
7990
8023
  });
7991
8024
  } else {
7992
8025
  saveTransactionMeta(authClient, _Object$assign({}, meta));
7993
- if (idxResponse) {
8026
+ if (shouldSaveResponse) {
7994
8027
  rawIdxResponse = idxResponse.rawIdxState, _requestDidSucceed = idxResponse.requestDidSucceed;
7995
8028
  authClient.transactionManager.saveIdxResponse({
7996
8029
  rawIdxResponse: rawIdxResponse,
7997
- requestDidSucceed: _requestDidSucceed
8030
+ requestDidSucceed: _requestDidSucceed,
8031
+ stateHandle: (_a = idxResponse.context) === null || _a === void 0 ? void 0 : _a.stateHandle,
8032
+ interactionHandle: meta === null || meta === void 0 ? void 0 : meta.interactionHandle
7998
8033
  });
7999
8034
  }
8000
8035
  }
8001
- _ref = idxResponse || {}, actions = _ref.actions, context = _ref.context, neededToProceed = _ref.neededToProceed, proceed = _ref.proceed, rawIdxState = _ref.rawIdxState, requestDidSucceed = _ref.requestDidSucceed;
8002
- return _context5.abrupt("return", _Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign({
8036
+ _ref = idxResponse || {}, actions = _ref.actions, context = _ref.context, neededToProceed = _ref.neededToProceed, proceed = _ref.proceed, rawIdxState = _ref.rawIdxState, requestDidSucceed = _ref.requestDidSucceed, stepUp = _ref.stepUp;
8037
+ return _context5.abrupt("return", _Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign({
8003
8038
  status: status
8004
8039
  }, meta && {
8005
8040
  meta: meta
@@ -8015,6 +8050,8 @@ function _run() {
8015
8050
  messages: messages
8016
8051
  }), error && {
8017
8052
  error: error
8053
+ }), stepUp && {
8054
+ stepUp: stepUp
8018
8055
  }), {
8019
8056
  interactionCode: interactionCode,
8020
8057
  actions: actions,
@@ -8486,7 +8523,7 @@ function _unlockAccount() {
8486
8523
  var OktaUserAgent = function () {
8487
8524
  function OktaUserAgent() {
8488
8525
  _classCallCheck(this, OktaUserAgent);
8489
- this.environments = ["okta-auth-js/".concat("6.4.2")];
8526
+ this.environments = ["okta-auth-js/".concat("6.4.5")];
8490
8527
  }
8491
8528
  _createClass(OktaUserAgent, [{
8492
8529
  key: "addEnvironment",
@@ -8504,7 +8541,7 @@ var OktaUserAgent = function () {
8504
8541
  }, {
8505
8542
  key: "getVersion",
8506
8543
  value: function getVersion() {
8507
- return "6.4.2";
8544
+ return "6.4.5";
8508
8545
  }
8509
8546
  }, {
8510
8547
  key: "maybeAddNodeEnvironment",