@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
package/esm/esm.node.mjs CHANGED
@@ -4269,13 +4269,15 @@ var TransactionManager = function () {
4269
4269
  var transactionStorage = this.storageManager.getTransactionStorage();
4270
4270
  var meta = transactionStorage.getStorage();
4271
4271
  transactionStorage.clearStorage();
4272
- this.clearIdxResponse();
4273
4272
  if (this.enableSharedStorage && options.clearSharedStorage !== false) {
4274
4273
  var state = options.state || (meta === null || meta === void 0 ? void 0 : meta.state);
4275
4274
  if (state) {
4276
4275
  clearTransactionFromSharedStorage(this.storageManager, state);
4277
4276
  }
4278
4277
  }
4278
+ if (options.clearIdxResponse !== false) {
4279
+ this.clearIdxResponse();
4280
+ }
4279
4281
  if (!this.legacyWidgetSupport) {
4280
4282
  return;
4281
4283
  }
@@ -4471,9 +4473,7 @@ var TransactionManager = function () {
4471
4473
  }
4472
4474
  }, {
4473
4475
  key: "saveIdxResponse",
4474
- value: function saveIdxResponse(_ref) {
4475
- var rawIdxResponse = _ref.rawIdxResponse,
4476
- requestDidSucceed = _ref.requestDidSucceed;
4476
+ value: function saveIdxResponse(data) {
4477
4477
  if (!this.saveLastResponse) {
4478
4478
  return;
4479
4479
  }
@@ -4481,14 +4481,11 @@ var TransactionManager = function () {
4481
4481
  if (!storage) {
4482
4482
  return;
4483
4483
  }
4484
- storage.setStorage({
4485
- rawIdxResponse: rawIdxResponse,
4486
- requestDidSucceed: requestDidSucceed
4487
- });
4484
+ storage.setStorage(data);
4488
4485
  }
4489
4486
  }, {
4490
4487
  key: "loadIdxResponse",
4491
- value: function loadIdxResponse() {
4488
+ value: function loadIdxResponse(options) {
4492
4489
  if (!this.saveLastResponse) {
4493
4490
  return null;
4494
4491
  }
@@ -4500,6 +4497,16 @@ var TransactionManager = function () {
4500
4497
  if (!storedValue || !isRawIdxResponse(storedValue.rawIdxResponse)) {
4501
4498
  return null;
4502
4499
  }
4500
+ if (options) {
4501
+ var stateHandle = options.stateHandle,
4502
+ interactionHandle = options.interactionHandle;
4503
+ if (stateHandle && storedValue.stateHandle !== stateHandle) {
4504
+ return null;
4505
+ }
4506
+ if (interactionHandle && storedValue.interactionHandle !== interactionHandle) {
4507
+ return null;
4508
+ }
4509
+ }
4503
4510
  return storedValue;
4504
4511
  }
4505
4512
  }, {
@@ -5410,7 +5417,7 @@ function _introspect() {
5410
5417
  switch (_context.prev = _context.next) {
5411
5418
  case 0:
5412
5419
  options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
5413
- savedIdxResponse = authClient.transactionManager.loadIdxResponse();
5420
+ savedIdxResponse = authClient.transactionManager.loadIdxResponse(options);
5414
5421
  if (savedIdxResponse) {
5415
5422
  rawIdxResponse = savedIdxResponse.rawIdxResponse;
5416
5423
  requestDidSucceed = savedIdxResponse.requestDidSucceed;
@@ -5922,7 +5929,7 @@ var SecurityQuestionEnrollment = function (_Authenticator) {
5922
5929
  var questionKey = values.questionKey,
5923
5930
  question = values.question,
5924
5931
  answer = values.answer;
5925
- if (!questionKey && !question && !answer) {
5932
+ if (!answer || !questionKey && !question) {
5926
5933
  return;
5927
5934
  }
5928
5935
  return {
@@ -5965,7 +5972,12 @@ var SecurityQuestionVerification = function (_Authenticator) {
5965
5972
  _createClass(SecurityQuestionVerification, [{
5966
5973
  key: "canVerify",
5967
5974
  value: function canVerify(values) {
5968
- return !!values.answer;
5975
+ var credentials = values.credentials;
5976
+ if (credentials && credentials.answer) {
5977
+ return true;
5978
+ }
5979
+ var answer = values.answer;
5980
+ return !!answer;
5969
5981
  }
5970
5982
  }, {
5971
5983
  key: "mapCredentials",
@@ -6005,19 +6017,22 @@ var WebauthnEnrollment = function (_Authenticator) {
6005
6017
  _createClass(WebauthnEnrollment, [{
6006
6018
  key: "canVerify",
6007
6019
  value: function canVerify(values) {
6008
- var clientData = values.clientData,
6009
- attestation = values.attestation;
6020
+ var credentials = values.credentials;
6021
+ var obj = credentials || values;
6022
+ var clientData = obj.clientData,
6023
+ attestation = obj.attestation;
6010
6024
  return !!(clientData && attestation);
6011
6025
  }
6012
6026
  }, {
6013
6027
  key: "mapCredentials",
6014
6028
  value: function mapCredentials(values) {
6015
- var clientData = values.clientData,
6029
+ var credentials = values.credentials,
6030
+ clientData = values.clientData,
6016
6031
  attestation = values.attestation;
6017
- if (!clientData && !attestation) {
6032
+ if (!credentials && !clientData && !attestation) {
6018
6033
  return;
6019
6034
  }
6020
- return {
6035
+ return credentials || {
6021
6036
  clientData: clientData,
6022
6037
  attestation: attestation
6023
6038
  };
@@ -6055,21 +6070,24 @@ var WebauthnVerification = function (_Authenticator) {
6055
6070
  _createClass(WebauthnVerification, [{
6056
6071
  key: "canVerify",
6057
6072
  value: function canVerify(values) {
6058
- var clientData = values.clientData,
6059
- authenticatorData = values.authenticatorData,
6060
- signatureData = values.signatureData;
6073
+ var credentials = values.credentials;
6074
+ var obj = credentials || values;
6075
+ var clientData = obj.clientData,
6076
+ authenticatorData = obj.authenticatorData,
6077
+ signatureData = obj.signatureData;
6061
6078
  return !!(clientData && authenticatorData && signatureData);
6062
6079
  }
6063
6080
  }, {
6064
6081
  key: "mapCredentials",
6065
6082
  value: function mapCredentials(values) {
6066
- var authenticatorData = values.authenticatorData,
6083
+ var credentials = values.credentials,
6084
+ authenticatorData = values.authenticatorData,
6067
6085
  clientData = values.clientData,
6068
6086
  signatureData = values.signatureData;
6069
- if (!authenticatorData && !clientData && !signatureData) {
6087
+ if (!credentials && !authenticatorData && !clientData && !signatureData) {
6070
6088
  return;
6071
6089
  }
6072
- return {
6090
+ return credentials || {
6073
6091
  authenticatorData: authenticatorData,
6074
6092
  clientData: clientData,
6075
6093
  signatureData: signatureData
@@ -7417,7 +7435,7 @@ function remediate(_x, _x2, _x3) {
7417
7435
  function _remediate() {
7418
7436
  _remediate = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(idxResponse, values, options) {
7419
7437
  var _context2;
7420
- var _idxResponse, neededToProceed, interactionCode, _options, flow, terminal, messages, remediator, actionFromValues, actionFromOptions, actions, _iterator, _step, _loop, _ret, nextStep, name, data;
7438
+ var _idxResponse, neededToProceed, interactionCode, _options, flow, remediator, actionFromValues, actionFromOptions, actions, _iterator, _step, _loop, _ret, terminal, messages, nextStep, name, data;
7421
7439
  return _regeneratorRuntime.wrap(function _callee$(_context4) {
7422
7440
  while (1) {
7423
7441
  switch (_context4.prev = _context4.next) {
@@ -7432,28 +7450,16 @@ function _remediate() {
7432
7450
  idxResponse: idxResponse
7433
7451
  });
7434
7452
  case 4:
7435
- terminal = isTerminalResponse(idxResponse);
7436
- messages = getMessagesFromResponse(idxResponse);
7437
- if (!terminal) {
7438
- _context4.next = 8;
7439
- break;
7440
- }
7441
- return _context4.abrupt("return", {
7442
- idxResponse: idxResponse,
7443
- terminal: terminal,
7444
- messages: messages
7445
- });
7446
- case 8:
7447
7453
  remediator = getRemediator(neededToProceed, values, options);
7448
7454
  actionFromValues = getActionFromValues(values, idxResponse);
7449
7455
  actionFromOptions = options.actions || [];
7450
7456
  actions = _concatInstanceProperty(_context2 = []).call(_context2, _toConsumableArray(actionFromOptions), _toConsumableArray(actionFromValues && [actionFromValues] || []));
7451
7457
  if (!actions) {
7452
- _context4.next = 32;
7458
+ _context4.next = 28;
7453
7459
  break;
7454
7460
  }
7455
7461
  _iterator = _createForOfIteratorHelper(actions);
7456
- _context4.prev = 14;
7462
+ _context4.prev = 10;
7457
7463
  _loop = _regeneratorRuntime.mark(function _loop() {
7458
7464
  var action, params, valuesWithoutExecutedAction, optionsWithoutExecutedAction, remediationAction;
7459
7465
  return _regeneratorRuntime.wrap(function _loop$(_context3) {
@@ -7540,33 +7546,45 @@ function _remediate() {
7540
7546
  }, _loop, null, [[6, 13], [21, 28]]);
7541
7547
  });
7542
7548
  _iterator.s();
7543
- case 17:
7549
+ case 13:
7544
7550
  if ((_step = _iterator.n()).done) {
7545
- _context4.next = 24;
7551
+ _context4.next = 20;
7546
7552
  break;
7547
7553
  }
7548
- return _context4.delegateYield(_loop(), "t0", 19);
7549
- case 19:
7554
+ return _context4.delegateYield(_loop(), "t0", 15);
7555
+ case 15:
7550
7556
  _ret = _context4.t0;
7551
7557
  if (!(_typeof(_ret) === "object")) {
7552
- _context4.next = 22;
7558
+ _context4.next = 18;
7553
7559
  break;
7554
7560
  }
7555
7561
  return _context4.abrupt("return", _ret.v);
7556
- case 22:
7557
- _context4.next = 17;
7562
+ case 18:
7563
+ _context4.next = 13;
7558
7564
  break;
7559
- case 24:
7560
- _context4.next = 29;
7565
+ case 20:
7566
+ _context4.next = 25;
7561
7567
  break;
7562
- case 26:
7563
- _context4.prev = 26;
7564
- _context4.t1 = _context4["catch"](14);
7568
+ case 22:
7569
+ _context4.prev = 22;
7570
+ _context4.t1 = _context4["catch"](10);
7565
7571
  _iterator.e(_context4.t1);
7566
- case 29:
7567
- _context4.prev = 29;
7572
+ case 25:
7573
+ _context4.prev = 25;
7568
7574
  _iterator.f();
7569
- return _context4.finish(29);
7575
+ return _context4.finish(25);
7576
+ case 28:
7577
+ terminal = isTerminalResponse(idxResponse);
7578
+ messages = getMessagesFromResponse(idxResponse);
7579
+ if (!terminal) {
7580
+ _context4.next = 32;
7581
+ break;
7582
+ }
7583
+ return _context4.abrupt("return", {
7584
+ idxResponse: idxResponse,
7585
+ terminal: terminal,
7586
+ messages: messages
7587
+ });
7570
7588
  case 32:
7571
7589
  if (remediator) {
7572
7590
  _context4.next = 49;
@@ -7640,7 +7658,7 @@ function _remediate() {
7640
7658
  return _context4.stop();
7641
7659
  }
7642
7660
  }
7643
- }, _callee, null, [[14, 26, 29, 32], [35, 43], [54, 64]]);
7661
+ }, _callee, null, [[10, 22, 25, 28], [35, 43], [54, 64]]);
7644
7662
  }));
7645
7663
  return _remediate.apply(this, arguments);
7646
7664
  }
@@ -7929,65 +7947,77 @@ function finalizeData(_x6, _x7) {
7929
7947
  }
7930
7948
  function _finalizeData() {
7931
7949
  _finalizeData = _asyncToGenerator( _regeneratorRuntime.mark(function _callee4(authClient, data) {
7932
- var options, idxResponse, canceled, status, exchangeCodeForTokens, shouldClearTransaction, clearSharedStorage, interactionCode, tokens, enabledFeatures, availableSteps, messages, terminal;
7950
+ var options, idxResponse, canceled, status, exchangeCodeForTokens, shouldSaveResponse, shouldClearTransaction, clearSharedStorage, interactionCode, tokens, enabledFeatures, availableSteps, messages, terminal, hasActions, hasErrors, isTerminalSuccess;
7933
7951
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
7934
7952
  while (1) {
7935
7953
  switch (_context4.prev = _context4.next) {
7936
7954
  case 0:
7937
7955
  options = data.options, idxResponse = data.idxResponse, canceled = data.canceled, status = data.status;
7938
7956
  exchangeCodeForTokens = options.exchangeCodeForTokens;
7957
+ shouldSaveResponse = false;
7939
7958
  shouldClearTransaction = false;
7940
7959
  clearSharedStorage = true;
7941
7960
  if (idxResponse) {
7961
+ shouldSaveResponse = !!(idxResponse.requestDidSucceed || idxResponse.stepUp);
7942
7962
  enabledFeatures = getEnabledFeatures(idxResponse);
7943
7963
  availableSteps = getAvailableSteps(idxResponse);
7944
7964
  messages = getMessagesFromResponse(idxResponse);
7945
7965
  terminal = isTerminalResponse(idxResponse);
7946
7966
  }
7947
7967
  if (!terminal) {
7948
- _context4.next = 11;
7968
+ _context4.next = 15;
7949
7969
  break;
7950
7970
  }
7951
7971
  status = IdxStatus.TERMINAL;
7952
- shouldClearTransaction = true;
7972
+ hasActions = _Object$keys(idxResponse.actions).length > 0;
7973
+ hasErrors = !!_findInstanceProperty(messages).call(messages, function (msg) {
7974
+ return msg.class === 'ERROR';
7975
+ });
7976
+ isTerminalSuccess = !hasActions && !hasErrors && idxResponse.requestDidSucceed === true;
7977
+ if (isTerminalSuccess) {
7978
+ shouldClearTransaction = true;
7979
+ } else {
7980
+ shouldSaveResponse = shouldSaveResponse && hasActions;
7981
+ }
7953
7982
  clearSharedStorage = false;
7954
- _context4.next = 28;
7983
+ _context4.next = 32;
7955
7984
  break;
7956
- case 11:
7985
+ case 15:
7957
7986
  if (!canceled) {
7958
- _context4.next = 16;
7987
+ _context4.next = 20;
7959
7988
  break;
7960
7989
  }
7961
7990
  status = IdxStatus.CANCELED;
7962
7991
  shouldClearTransaction = true;
7963
- _context4.next = 28;
7992
+ _context4.next = 32;
7964
7993
  break;
7965
- case 16:
7994
+ case 20:
7966
7995
  if (!(idxResponse === null || idxResponse === void 0 ? void 0 : idxResponse.interactionCode)) {
7967
- _context4.next = 28;
7996
+ _context4.next = 32;
7968
7997
  break;
7969
7998
  }
7970
7999
  interactionCode = idxResponse.interactionCode;
7971
8000
  if (!(exchangeCodeForTokens === false)) {
7972
- _context4.next = 23;
8001
+ _context4.next = 27;
7973
8002
  break;
7974
8003
  }
7975
8004
  status = IdxStatus.SUCCESS;
7976
8005
  shouldClearTransaction = false;
7977
- _context4.next = 28;
8006
+ _context4.next = 32;
7978
8007
  break;
7979
- case 23:
7980
- _context4.next = 25;
8008
+ case 27:
8009
+ _context4.next = 29;
7981
8010
  return getTokens(authClient, data);
7982
- case 25:
8011
+ case 29:
7983
8012
  tokens = _context4.sent;
7984
8013
  status = IdxStatus.SUCCESS;
7985
8014
  shouldClearTransaction = true;
7986
- case 28:
8015
+ case 32:
7987
8016
  return _context4.abrupt("return", _Object$assign(_Object$assign({}, data), {
7988
8017
  status: status,
7989
8018
  interactionCode: interactionCode,
7990
8019
  tokens: tokens,
8020
+ shouldSaveResponse: shouldSaveResponse,
7991
8021
  shouldClearTransaction: shouldClearTransaction,
7992
8022
  clearSharedStorage: clearSharedStorage,
7993
8023
  enabledFeatures: enabledFeatures,
@@ -7995,7 +8025,7 @@ function _finalizeData() {
7995
8025
  messages: messages,
7996
8026
  terminal: terminal
7997
8027
  }));
7998
- case 29:
8028
+ case 33:
7999
8029
  case "end":
8000
8030
  return _context4.stop();
8001
8031
  }
@@ -8027,10 +8057,12 @@ function run(_x8) {
8027
8057
  function _run() {
8028
8058
  _run = _asyncToGenerator( _regeneratorRuntime.mark(function _callee5(authClient) {
8029
8059
  var options,
8060
+ _a,
8030
8061
  data,
8031
8062
  _data,
8032
8063
  idxResponse,
8033
8064
  meta,
8065
+ shouldSaveResponse,
8034
8066
  shouldClearTransaction,
8035
8067
  clearSharedStorage,
8036
8068
  status,
@@ -8050,6 +8082,7 @@ function _run() {
8050
8082
  proceed,
8051
8083
  rawIdxState,
8052
8084
  requestDidSucceed,
8085
+ stepUp,
8053
8086
  _args5 = arguments;
8054
8087
  return _regeneratorRuntime.wrap(function _callee5$(_context5) {
8055
8088
  while (1) {
@@ -8081,23 +8114,25 @@ function _run() {
8081
8114
  return finalizeData(authClient, data);
8082
8115
  case 17:
8083
8116
  data = _context5.sent;
8084
- _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;
8117
+ _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;
8085
8118
  if (shouldClearTransaction) {
8086
8119
  authClient.transactionManager.clear({
8087
8120
  clearSharedStorage: clearSharedStorage
8088
8121
  });
8089
8122
  } else {
8090
8123
  saveTransactionMeta(authClient, _Object$assign({}, meta));
8091
- if (idxResponse) {
8124
+ if (shouldSaveResponse) {
8092
8125
  rawIdxResponse = idxResponse.rawIdxState, _requestDidSucceed = idxResponse.requestDidSucceed;
8093
8126
  authClient.transactionManager.saveIdxResponse({
8094
8127
  rawIdxResponse: rawIdxResponse,
8095
- requestDidSucceed: _requestDidSucceed
8128
+ requestDidSucceed: _requestDidSucceed,
8129
+ stateHandle: (_a = idxResponse.context) === null || _a === void 0 ? void 0 : _a.stateHandle,
8130
+ interactionHandle: meta === null || meta === void 0 ? void 0 : meta.interactionHandle
8096
8131
  });
8097
8132
  }
8098
8133
  }
8099
- _ref = idxResponse || {}, actions = _ref.actions, context = _ref.context, neededToProceed = _ref.neededToProceed, proceed = _ref.proceed, rawIdxState = _ref.rawIdxState, requestDidSucceed = _ref.requestDidSucceed;
8100
- return _context5.abrupt("return", _Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign({
8134
+ _ref = idxResponse || {}, actions = _ref.actions, context = _ref.context, neededToProceed = _ref.neededToProceed, proceed = _ref.proceed, rawIdxState = _ref.rawIdxState, requestDidSucceed = _ref.requestDidSucceed, stepUp = _ref.stepUp;
8135
+ return _context5.abrupt("return", _Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign(_Object$assign({
8101
8136
  status: status
8102
8137
  }, meta && {
8103
8138
  meta: meta
@@ -8113,6 +8148,8 @@ function _run() {
8113
8148
  messages: messages
8114
8149
  }), error && {
8115
8150
  error: error
8151
+ }), stepUp && {
8152
+ stepUp: stepUp
8116
8153
  }), {
8117
8154
  interactionCode: interactionCode,
8118
8155
  actions: actions,
@@ -8584,7 +8621,7 @@ function _unlockAccount() {
8584
8621
  var OktaUserAgent = function () {
8585
8622
  function OktaUserAgent() {
8586
8623
  _classCallCheck(this, OktaUserAgent);
8587
- this.environments = ["okta-auth-js/".concat("6.4.2")];
8624
+ this.environments = ["okta-auth-js/".concat("6.4.5")];
8588
8625
  }
8589
8626
  _createClass(OktaUserAgent, [{
8590
8627
  key: "addEnvironment",
@@ -8602,7 +8639,7 @@ var OktaUserAgent = function () {
8602
8639
  }, {
8603
8640
  key: "getVersion",
8604
8641
  value: function getVersion() {
8605
- return "6.4.2";
8642
+ return "6.4.5";
8606
8643
  }
8607
8644
  }, {
8608
8645
  key: "maybeAddNodeEnvironment",