@okta/okta-auth-js 6.5.1 → 6.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/cjs/OktaAuth.js +23 -21
  3. package/cjs/OktaAuth.js.map +1 -1
  4. package/cjs/OktaUserAgent.js +2 -2
  5. package/cjs/ServiceManager.js +9 -9
  6. package/cjs/ServiceManager.js.map +1 -1
  7. package/cjs/TokenManager.js +6 -0
  8. package/cjs/TokenManager.js.map +1 -1
  9. package/cjs/errors/index.js +5 -0
  10. package/cjs/errors/index.js.map +1 -1
  11. package/cjs/http/request.js.map +1 -1
  12. package/cjs/idx/authenticate.js.map +1 -1
  13. package/cjs/idx/cancel.js.map +1 -1
  14. package/cjs/idx/emailVerify.js.map +1 -1
  15. package/cjs/idx/flow/FlowSpecification.js.map +1 -1
  16. package/cjs/idx/idxState/index.js +1 -1
  17. package/cjs/idx/idxState/index.js.map +1 -1
  18. package/cjs/idx/idxState/v1/generateIdxAction.js +2 -4
  19. package/cjs/idx/idxState/v1/generateIdxAction.js.map +1 -1
  20. package/cjs/idx/idxState/v1/idxResponseParser.js.map +1 -1
  21. package/cjs/idx/idxState/v1/makeIdxState.js.map +1 -1
  22. package/cjs/idx/idxState/v1/remediationParser.js.map +1 -1
  23. package/cjs/idx/interact.js +1 -3
  24. package/cjs/idx/interact.js.map +1 -1
  25. package/cjs/idx/introspect.js.map +1 -1
  26. package/cjs/idx/poll.js.map +1 -1
  27. package/cjs/idx/proceed.js.map +1 -1
  28. package/cjs/idx/recoverPassword.js.map +1 -1
  29. package/cjs/idx/register.js.map +1 -1
  30. package/cjs/idx/remediate.js +13 -0
  31. package/cjs/idx/remediate.js.map +1 -1
  32. package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
  33. package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
  34. package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
  35. package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
  36. package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
  37. package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -1
  38. package/cjs/idx/remediators/GenericRemediator/GenericRemediator.js +1 -3
  39. package/cjs/idx/remediators/GenericRemediator/GenericRemediator.js.map +1 -1
  40. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
  41. package/cjs/idx/run.js +7 -9
  42. package/cjs/idx/run.js.map +1 -1
  43. package/cjs/idx/startTransaction.js.map +1 -1
  44. package/cjs/idx/transactionMeta.js.map +1 -1
  45. package/cjs/idx/types/api.js.map +1 -1
  46. package/cjs/idx/unlockAccount.js.map +1 -1
  47. package/cjs/idx/util.js +1 -3
  48. package/cjs/idx/util.js.map +1 -1
  49. package/cjs/oidc/endpoints/token.js.map +1 -1
  50. package/cjs/oidc/endpoints/well-known.js.map +1 -1
  51. package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
  52. package/cjs/oidc/getToken.js.map +1 -1
  53. package/cjs/oidc/getUserInfo.js.map +1 -1
  54. package/cjs/oidc/getWithPopup.js.map +1 -1
  55. package/cjs/oidc/getWithRedirect.js.map +1 -1
  56. package/cjs/oidc/getWithoutPrompt.js.map +1 -1
  57. package/cjs/oidc/handleOAuthResponse.js +1 -3
  58. package/cjs/oidc/handleOAuthResponse.js.map +1 -1
  59. package/cjs/oidc/renewToken.js.map +1 -1
  60. package/cjs/oidc/renewTokensWithRefresh.js +26 -15
  61. package/cjs/oidc/renewTokensWithRefresh.js.map +1 -1
  62. package/cjs/oidc/revokeToken.js.map +1 -1
  63. package/cjs/oidc/util/browser.js.map +1 -1
  64. package/cjs/oidc/util/defaultTokenParams.js.map +1 -1
  65. package/cjs/oidc/util/errors.js +8 -0
  66. package/cjs/oidc/util/errors.js.map +1 -1
  67. package/cjs/oidc/util/loginRedirect.js.map +1 -1
  68. package/cjs/oidc/util/oauth.js.map +1 -1
  69. package/cjs/oidc/util/oauthMeta.js.map +1 -1
  70. package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
  71. package/cjs/oidc/util/validateClaims.js.map +1 -1
  72. package/cjs/oidc/verifyToken.js.map +1 -1
  73. package/cjs/options/index.js +5 -2
  74. package/cjs/options/index.js.map +1 -1
  75. package/cjs/tx/AuthTransaction.js +1 -1
  76. package/cjs/tx/AuthTransaction.js.map +1 -1
  77. package/cjs/tx/api.js +3 -5
  78. package/cjs/tx/api.js.map +1 -1
  79. package/cjs/tx/poll.js +1 -3
  80. package/cjs/tx/poll.js.map +1 -1
  81. package/dist/okta-auth-js.min.js +1 -1
  82. package/dist/okta-auth-js.min.js.map +1 -1
  83. package/dist/okta-auth-js.umd.js +1 -1
  84. package/dist/okta-auth-js.umd.js.map +1 -1
  85. package/esm/esm.browser.js +525 -377
  86. package/esm/esm.browser.js.map +1 -1
  87. package/esm/esm.node.mjs +525 -377
  88. package/esm/esm.node.mjs.map +1 -1
  89. package/lib/OktaAuth.d.ts +4 -4
  90. package/lib/ServiceManager.d.ts +2 -2
  91. package/lib/TokenManager.d.ts +1 -0
  92. package/lib/errors/index.d.ts +2 -1
  93. package/lib/http/request.d.ts +4 -4
  94. package/lib/idx/authenticate.d.ts +2 -2
  95. package/lib/idx/cancel.d.ts +2 -2
  96. package/lib/idx/emailVerify.d.ts +2 -2
  97. package/lib/idx/flow/FlowSpecification.d.ts +2 -2
  98. package/lib/idx/idxState/index.d.ts +3 -3
  99. package/lib/idx/idxState/v1/generateIdxAction.d.ts +2 -2
  100. package/lib/idx/idxState/v1/idxResponseParser.d.ts +3 -3
  101. package/lib/idx/idxState/v1/makeIdxState.d.ts +3 -3
  102. package/lib/idx/idxState/v1/remediationParser.d.ts +2 -2
  103. package/lib/idx/interact.d.ts +2 -2
  104. package/lib/idx/introspect.d.ts +2 -2
  105. package/lib/idx/poll.d.ts +2 -2
  106. package/lib/idx/proceed.d.ts +3 -3
  107. package/lib/idx/recoverPassword.d.ts +2 -2
  108. package/lib/idx/register.d.ts +2 -2
  109. package/lib/idx/remediate.d.ts +2 -2
  110. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +7 -2
  111. package/lib/idx/remediators/Base/Remediator.d.ts +2 -2
  112. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +7 -2
  113. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +2 -2
  114. package/lib/idx/remediators/EnrollPoll.d.ts +2 -2
  115. package/lib/idx/remediators/EnrollmentChannelData.d.ts +7 -2
  116. package/lib/idx/remediators/GenericRemediator/GenericRemediator.d.ts +2 -2
  117. package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +7 -2
  118. package/lib/idx/run.d.ts +2 -2
  119. package/lib/idx/startTransaction.d.ts +2 -2
  120. package/lib/idx/transactionMeta.d.ts +7 -7
  121. package/lib/idx/types/api.d.ts +5 -2
  122. package/lib/idx/unlockAccount.d.ts +2 -2
  123. package/lib/idx/util.d.ts +4 -4
  124. package/lib/oidc/endpoints/token.d.ts +2 -2
  125. package/lib/oidc/endpoints/well-known.d.ts +3 -3
  126. package/lib/oidc/exchangeCodeForTokens.d.ts +2 -2
  127. package/lib/oidc/getToken.d.ts +2 -2
  128. package/lib/oidc/getUserInfo.d.ts +2 -2
  129. package/lib/oidc/getWithPopup.d.ts +2 -2
  130. package/lib/oidc/getWithRedirect.d.ts +2 -2
  131. package/lib/oidc/getWithoutPrompt.d.ts +2 -2
  132. package/lib/oidc/handleOAuthResponse.d.ts +2 -2
  133. package/lib/oidc/renewToken.d.ts +2 -2
  134. package/lib/oidc/renewTokensWithRefresh.d.ts +2 -2
  135. package/lib/oidc/revokeToken.d.ts +2 -2
  136. package/lib/oidc/util/browser.d.ts +2 -2
  137. package/lib/oidc/util/defaultTokenParams.d.ts +2 -2
  138. package/lib/oidc/util/errors.d.ts +3 -2
  139. package/lib/oidc/util/loginRedirect.d.ts +4 -4
  140. package/lib/oidc/util/oauth.d.ts +4 -4
  141. package/lib/oidc/util/oauthMeta.d.ts +2 -2
  142. package/lib/oidc/util/prepareTokenParams.d.ts +5 -5
  143. package/lib/oidc/util/validateClaims.d.ts +2 -2
  144. package/lib/oidc/verifyToken.d.ts +2 -2
  145. package/lib/tx/api.d.ts +2 -3
  146. package/lib/types/OktaAuthOptions.d.ts +2 -2
  147. package/lib/types/Service.d.ts +2 -2
  148. package/lib/types/TokenManager.d.ts +1 -0
  149. package/lib/types/UserClaims.d.ts +4 -1
  150. package/lib/types/api.d.ts +28 -8
  151. package/package.json +13 -22
package/esm/esm.node.mjs CHANGED
@@ -31,7 +31,6 @@ import _JSON$stringify from '@babel/runtime-corejs3/core-js-stable/json/stringif
31
31
  import _indexOfInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/index-of';
32
32
  import _createClass from '@babel/runtime-corejs3/helpers/createClass';
33
33
  import _Object$assign from '@babel/runtime-corejs3/core-js-stable/object/assign';
34
- import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
35
34
  import _typeof from '@babel/runtime-corejs3/helpers/typeof';
36
35
  import _Array$from from '@babel/runtime-corejs3/core-js-stable/array/from';
37
36
  import _slicedToArray from '@babel/runtime-corejs3/helpers/slicedToArray';
@@ -40,6 +39,7 @@ import _Object$entries from '@babel/runtime-corejs3/core-js-stable/object/entrie
40
39
  import _keysInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/keys';
41
40
  import _Object$values from '@babel/runtime-corejs3/core-js-stable/object/values';
42
41
  import _findInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/find';
42
+ import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
43
43
  import Cookies from 'js-cookie';
44
44
  import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
45
45
  import _parseInt from '@babel/runtime-corejs3/core-js-stable/parse-int';
@@ -159,6 +159,9 @@ var OAuthError = function (_CustomError) {
159
159
  function isAuthApiError(obj) {
160
160
  return obj instanceof AuthApiError;
161
161
  }
162
+ function isOAuthError(obj) {
163
+ return obj instanceof OAuthError;
164
+ }
162
165
 
163
166
  var a;
164
167
  if (typeof atob !== 'undefined') {
@@ -702,6 +705,60 @@ function getStateToken(res) {
702
705
  return addStateToken(res);
703
706
  }
704
707
 
708
+ function transactionStatus(sdk, args) {
709
+ args = addStateToken(sdk, args);
710
+ return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn', args, {
711
+ withCredentials: true
712
+ });
713
+ }
714
+ function resumeTransaction(sdk, args) {
715
+ if (!args || !args.stateToken) {
716
+ var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);
717
+ if (stateToken) {
718
+ args = {
719
+ stateToken: stateToken
720
+ };
721
+ } else {
722
+ return _Promise.reject(new AuthSdkError('No transaction to resume'));
723
+ }
724
+ }
725
+ return sdk.tx.status(args).then(function (res) {
726
+ return sdk.tx.createTransaction(res);
727
+ });
728
+ }
729
+ function introspectAuthn(sdk, args) {
730
+ if (!args || !args.stateToken) {
731
+ var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);
732
+ if (stateToken) {
733
+ args = {
734
+ stateToken: stateToken
735
+ };
736
+ } else {
737
+ return _Promise.reject(new AuthSdkError('No transaction to evaluate'));
738
+ }
739
+ }
740
+ return transactionStep(sdk, args).then(function (res) {
741
+ return sdk.tx.createTransaction(res);
742
+ });
743
+ }
744
+ function transactionStep(sdk, args) {
745
+ args = addStateToken(sdk, args);
746
+ return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn/introspect', args, {
747
+ withCredentials: true
748
+ });
749
+ }
750
+ function transactionExists(sdk) {
751
+ return !!sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);
752
+ }
753
+ function postToTransaction(sdk, url, args, options) {
754
+ options = _Object$assign({
755
+ withCredentials: true
756
+ }, options);
757
+ return post(sdk, url, args, options).then(function (res) {
758
+ return sdk.tx.createTransaction(res);
759
+ });
760
+ }
761
+
705
762
  function getPollFn(sdk, res, ref) {
706
763
  return function (options) {
707
764
  var delay$1;
@@ -765,7 +822,7 @@ function getPollFn(sdk, res, ref) {
765
822
  return delay(delay$1).then(recursivePoll);
766
823
  } else {
767
824
  ref.isPolling = false;
768
- return new AuthTransaction(sdk, pollRes);
825
+ return sdk.tx.createTransaction(pollRes);
769
826
  }
770
827
  }).catch(function (err) {
771
828
  if (err.xhr && (err.xhr.status === 0 || err.xhr.status === 429) && retryCount <= 4) {
@@ -798,7 +855,7 @@ var AuthTransaction = function AuthTransaction(sdk) {
798
855
  delete this.stateToken;
799
856
  if (res.status === 'RECOVERY_CHALLENGE' && !res._links) {
800
857
  this.cancel = function () {
801
- return _Promise.resolve(new AuthTransaction(sdk));
858
+ return _Promise.resolve(sdk.tx.createTransaction());
802
859
  };
803
860
  }
804
861
  }
@@ -929,60 +986,6 @@ function flattenEmbedded(sdk, res, obj, ref) {
929
986
  return obj;
930
987
  }
931
988
 
932
- function transactionStatus(sdk, args) {
933
- args = addStateToken(sdk, args);
934
- return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn', args, {
935
- withCredentials: true
936
- });
937
- }
938
- function resumeTransaction(sdk, args) {
939
- if (!args || !args.stateToken) {
940
- var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);
941
- if (stateToken) {
942
- args = {
943
- stateToken: stateToken
944
- };
945
- } else {
946
- return _Promise.reject(new AuthSdkError('No transaction to resume'));
947
- }
948
- }
949
- return sdk.tx.status(args).then(function (res) {
950
- return new AuthTransaction(sdk, res);
951
- });
952
- }
953
- function introspectAuthn(sdk, args) {
954
- if (!args || !args.stateToken) {
955
- var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);
956
- if (stateToken) {
957
- args = {
958
- stateToken: stateToken
959
- };
960
- } else {
961
- return _Promise.reject(new AuthSdkError('No transaction to evaluate'));
962
- }
963
- }
964
- return transactionStep(sdk, args).then(function (res) {
965
- return new AuthTransaction(sdk, res);
966
- });
967
- }
968
- function transactionStep(sdk, args) {
969
- args = addStateToken(sdk, args);
970
- return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn/introspect', args, {
971
- withCredentials: true
972
- });
973
- }
974
- function transactionExists(sdk) {
975
- return !!sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);
976
- }
977
- function postToTransaction(sdk, url, args, options) {
978
- options = _Object$assign({
979
- withCredentials: true
980
- }, options);
981
- return post(sdk, url, args, options).then(function (res) {
982
- return new AuthTransaction(sdk, res);
983
- });
984
- }
985
-
986
989
  function dec2hex(dec) {
987
990
  return ('0' + dec.toString(16)).substr(-2);
988
991
  }
@@ -1414,6 +1417,9 @@ function isAuthorizationCodeError(sdk, error) {
1414
1417
  var responseJSON = errorResponse === null || errorResponse === void 0 ? void 0 : errorResponse.responseJSON;
1415
1418
  return sdk.options.pkce && (responseJSON === null || responseJSON === void 0 ? void 0 : responseJSON.error) === 'invalid_grant';
1416
1419
  }
1420
+ function isRefreshTokenInvalidError(error) {
1421
+ return isOAuthError(error) && error.errorCode === 'invalid_grant' && error.errorSummary === 'The refresh token is invalid or expired.';
1422
+ }
1417
1423
 
1418
1424
  function hasTokensInHash(hash) {
1419
1425
  return /((id|access)_token=)/i.test(hash);
@@ -1856,47 +1862,6 @@ function _revokeToken() {
1856
1862
  return _revokeToken.apply(this, arguments);
1857
1863
  }
1858
1864
 
1859
- function exchangeCodeForTokens(sdk, tokenParams, urls) {
1860
- urls = urls || getOAuthUrls(sdk, tokenParams);
1861
- tokenParams = _Object$assign({}, getDefaultTokenParams(sdk), clone(tokenParams));
1862
- var _tokenParams = tokenParams,
1863
- authorizationCode = _tokenParams.authorizationCode,
1864
- interactionCode = _tokenParams.interactionCode,
1865
- codeVerifier = _tokenParams.codeVerifier,
1866
- clientId = _tokenParams.clientId,
1867
- redirectUri = _tokenParams.redirectUri,
1868
- scopes = _tokenParams.scopes,
1869
- ignoreSignature = _tokenParams.ignoreSignature,
1870
- state = _tokenParams.state;
1871
- var getTokenOptions = {
1872
- clientId: clientId,
1873
- redirectUri: redirectUri,
1874
- authorizationCode: authorizationCode,
1875
- interactionCode: interactionCode,
1876
- codeVerifier: codeVerifier
1877
- };
1878
- return postToTokenEndpoint(sdk, getTokenOptions, urls).then(function (response) {
1879
- var responseType = ['token'];
1880
- if (_indexOfInstanceProperty(scopes).call(scopes, 'openid') !== -1) {
1881
- responseType.push('id_token');
1882
- }
1883
- var handleResponseOptions = {
1884
- clientId: clientId,
1885
- redirectUri: redirectUri,
1886
- scopes: scopes,
1887
- responseType: responseType,
1888
- ignoreSignature: ignoreSignature
1889
- };
1890
- return handleOAuthResponse(sdk, handleResponseOptions, response, urls).then(function (response) {
1891
- response.code = authorizationCode;
1892
- response.state = state;
1893
- return response;
1894
- });
1895
- }).finally(function () {
1896
- sdk.transactionManager.clear();
1897
- });
1898
- }
1899
-
1900
1865
  function verifyToken(_x, _x2, _x3) {
1901
1866
  return _verifyToken.apply(this, arguments);
1902
1867
  }
@@ -1995,7 +1960,7 @@ function _handleOAuthResponse() {
1995
1960
  _context.next = 3;
1996
1961
  break;
1997
1962
  }
1998
- return _context.abrupt("return", exchangeCodeForTokens(sdk, _Object$assign({}, tokenParams, {
1963
+ return _context.abrupt("return", sdk.token.exchangeCodeForTokens(_Object$assign({}, tokenParams, {
1999
1964
  authorizationCode: res.code,
2000
1965
  interactionCode: res.interaction_code
2001
1966
  }), urls));
@@ -2211,17 +2176,18 @@ function _renewTokensWithRefresh() {
2211
2176
  }
2212
2177
  throw new AuthSdkError('A clientId must be specified in the OktaAuth constructor to renew tokens');
2213
2178
  case 3:
2179
+ _context.prev = 3;
2214
2180
  renewTokenParams = _Object$assign({}, tokenParams, {
2215
2181
  clientId: clientId
2216
2182
  });
2217
- _context.next = 6;
2183
+ _context.next = 7;
2218
2184
  return postRefreshToken(sdk, renewTokenParams, refreshTokenObject);
2219
- case 6:
2185
+ case 7:
2220
2186
  tokenResponse = _context.sent;
2221
2187
  urls = getOAuthUrls(sdk, tokenParams);
2222
- _context.next = 10;
2188
+ _context.next = 11;
2223
2189
  return handleOAuthResponse(sdk, renewTokenParams, tokenResponse, urls);
2224
- case 10:
2190
+ case 11:
2225
2191
  _yield$handleOAuthRes = _context.sent;
2226
2192
  tokens = _yield$handleOAuthRes.tokens;
2227
2193
  refreshToken = tokens.refreshToken;
@@ -2229,12 +2195,19 @@ function _renewTokensWithRefresh() {
2229
2195
  sdk.tokenManager.updateRefreshToken(refreshToken);
2230
2196
  }
2231
2197
  return _context.abrupt("return", tokens);
2232
- case 15:
2198
+ case 18:
2199
+ _context.prev = 18;
2200
+ _context.t0 = _context["catch"](3);
2201
+ if (isRefreshTokenInvalidError(_context.t0)) {
2202
+ sdk.tokenManager.removeRefreshToken();
2203
+ }
2204
+ throw _context.t0;
2205
+ case 22:
2233
2206
  case "end":
2234
2207
  return _context.stop();
2235
2208
  }
2236
2209
  }
2237
- }, _callee);
2210
+ }, _callee, null, [[3, 18]]);
2238
2211
  }));
2239
2212
  return _renewTokensWithRefresh.apply(this, arguments);
2240
2213
  }
@@ -2448,6 +2421,47 @@ function _getUserInfo() {
2448
2421
  return _getUserInfo.apply(this, arguments);
2449
2422
  }
2450
2423
 
2424
+ function exchangeCodeForTokens(sdk, tokenParams, urls) {
2425
+ urls = urls || getOAuthUrls(sdk, tokenParams);
2426
+ tokenParams = _Object$assign({}, getDefaultTokenParams(sdk), clone(tokenParams));
2427
+ var _tokenParams = tokenParams,
2428
+ authorizationCode = _tokenParams.authorizationCode,
2429
+ interactionCode = _tokenParams.interactionCode,
2430
+ codeVerifier = _tokenParams.codeVerifier,
2431
+ clientId = _tokenParams.clientId,
2432
+ redirectUri = _tokenParams.redirectUri,
2433
+ scopes = _tokenParams.scopes,
2434
+ ignoreSignature = _tokenParams.ignoreSignature,
2435
+ state = _tokenParams.state;
2436
+ var getTokenOptions = {
2437
+ clientId: clientId,
2438
+ redirectUri: redirectUri,
2439
+ authorizationCode: authorizationCode,
2440
+ interactionCode: interactionCode,
2441
+ codeVerifier: codeVerifier
2442
+ };
2443
+ return postToTokenEndpoint(sdk, getTokenOptions, urls).then(function (response) {
2444
+ var responseType = ['token'];
2445
+ if (_indexOfInstanceProperty(scopes).call(scopes, 'openid') !== -1) {
2446
+ responseType.push('id_token');
2447
+ }
2448
+ var handleResponseOptions = {
2449
+ clientId: clientId,
2450
+ redirectUri: redirectUri,
2451
+ scopes: scopes,
2452
+ responseType: responseType,
2453
+ ignoreSignature: ignoreSignature
2454
+ };
2455
+ return handleOAuthResponse(sdk, handleResponseOptions, response, urls).then(function (response) {
2456
+ response.code = authorizationCode;
2457
+ response.state = state;
2458
+ return response;
2459
+ });
2460
+ }).finally(function () {
2461
+ sdk.transactionManager.clear();
2462
+ });
2463
+ }
2464
+
2451
2465
  function getWithPopup(sdk, options) {
2452
2466
  if (arguments.length > 2) {
2453
2467
  return _Promise.reject(new AuthSdkError('As of version 3.0, "getWithPopup" takes only a single set of options'));
@@ -3353,6 +3367,12 @@ var TokenManager = function () {
3353
3367
  tokenStorage[key] = token;
3354
3368
  this.storage.setStorage(tokenStorage);
3355
3369
  }
3370
+ }, {
3371
+ key: "removeRefreshToken",
3372
+ value: function removeRefreshToken() {
3373
+ var key = this.getStorageKeyByType('refreshToken') || REFRESH_TOKEN_STORAGE_KEY;
3374
+ this.remove(key);
3375
+ }
3356
3376
  }, {
3357
3377
  key: "addPendingRemoveFlags",
3358
3378
  value: function addPendingRemoveFlags() {
@@ -3505,7 +3525,7 @@ var SyncStorageService = function () {
3505
3525
  }();
3506
3526
 
3507
3527
  function _createForOfIteratorHelper$7(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && _getIteratorMethod(o) || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$7(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
3508
- function _unsupportedIterableToArray$7(o, minLen) { var _context4; if (!o) return; if (typeof o === "string") return _arrayLikeToArray$7(o, minLen); var n = _sliceInstanceProperty(_context4 = Object.prototype.toString.call(o)).call(_context4, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$7(o, minLen); }
3528
+ function _unsupportedIterableToArray$7(o, minLen) { var _context8; if (!o) return; if (typeof o === "string") return _arrayLikeToArray$7(o, minLen); var n = _sliceInstanceProperty(_context8 = Object.prototype.toString.call(o)).call(_context8, 8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$7(o, minLen); }
3509
3529
  function _arrayLikeToArray$7(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
3510
3530
  var ServiceManager = function () {
3511
3531
  function ServiceManager(sdk) {
@@ -3565,23 +3585,64 @@ var ServiceManager = function () {
3565
3585
  }
3566
3586
  }, {
3567
3587
  key: "start",
3568
- value: function start() {
3569
- if (this.started) {
3570
- return;
3571
- }
3572
- if (this.isLeaderRequired()) {
3573
- this.startElector();
3588
+ value: function () {
3589
+ var _start = _asyncToGenerator( _regeneratorRuntime.mark(function _callee() {
3590
+ return _regeneratorRuntime.wrap(function _callee$(_context2) {
3591
+ while (1) {
3592
+ switch (_context2.prev = _context2.next) {
3593
+ case 0:
3594
+ if (!this.started) {
3595
+ _context2.next = 2;
3596
+ break;
3597
+ }
3598
+ return _context2.abrupt("return");
3599
+ case 2:
3600
+ if (!this.isLeaderRequired()) {
3601
+ _context2.next = 5;
3602
+ break;
3603
+ }
3604
+ _context2.next = 5;
3605
+ return this.startElector();
3606
+ case 5:
3607
+ this.startServices();
3608
+ this.started = true;
3609
+ case 7:
3610
+ case "end":
3611
+ return _context2.stop();
3612
+ }
3613
+ }
3614
+ }, _callee, this);
3615
+ }));
3616
+ function start() {
3617
+ return _start.apply(this, arguments);
3574
3618
  }
3575
- this.startServices();
3576
- this.started = true;
3577
- }
3619
+ return start;
3620
+ }()
3578
3621
  }, {
3579
3622
  key: "stop",
3580
- value: function stop() {
3581
- this.stopElector();
3582
- this.stopServices();
3583
- this.started = false;
3584
- }
3623
+ value: function () {
3624
+ var _stop = _asyncToGenerator( _regeneratorRuntime.mark(function _callee2() {
3625
+ return _regeneratorRuntime.wrap(function _callee2$(_context3) {
3626
+ while (1) {
3627
+ switch (_context3.prev = _context3.next) {
3628
+ case 0:
3629
+ _context3.next = 2;
3630
+ return this.stopElector();
3631
+ case 2:
3632
+ this.stopServices();
3633
+ this.started = false;
3634
+ case 4:
3635
+ case "end":
3636
+ return _context3.stop();
3637
+ }
3638
+ }
3639
+ }, _callee2, this);
3640
+ }));
3641
+ function stop() {
3642
+ return _stop.apply(this, arguments);
3643
+ }
3644
+ return stop;
3645
+ }()
3585
3646
  }, {
3586
3647
  key: "getService",
3587
3648
  value: function getService(name) {
@@ -3590,8 +3651,8 @@ var ServiceManager = function () {
3590
3651
  }, {
3591
3652
  key: "startServices",
3592
3653
  value: function startServices() {
3593
- var _context2;
3594
- var _iterator = _createForOfIteratorHelper$7(_valuesInstanceProperty(_context2 = this.services).call(_context2)),
3654
+ var _context4;
3655
+ var _iterator = _createForOfIteratorHelper$7(_valuesInstanceProperty(_context4 = this.services).call(_context4)),
3595
3656
  _step;
3596
3657
  try {
3597
3658
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
@@ -3610,8 +3671,8 @@ var ServiceManager = function () {
3610
3671
  }, {
3611
3672
  key: "stopServices",
3612
3673
  value: function stopServices() {
3613
- var _context3;
3614
- var _iterator2 = _createForOfIteratorHelper$7(_valuesInstanceProperty(_context3 = this.services).call(_context3)),
3674
+ var _context5;
3675
+ var _iterator2 = _createForOfIteratorHelper$7(_valuesInstanceProperty(_context5 = this.services).call(_context5)),
3615
3676
  _step2;
3616
3677
  try {
3617
3678
  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
@@ -3626,31 +3687,72 @@ var ServiceManager = function () {
3626
3687
  }
3627
3688
  }, {
3628
3689
  key: "startElector",
3629
- value: function startElector() {
3630
- this.stopElector();
3631
- if (ServiceManager.canUseLeaderElection()) {
3632
- if (!this.channel) {
3633
- var broadcastChannelName = this.options.broadcastChannelName;
3634
- this.channel = new BroadcastChannel(broadcastChannelName);
3635
- }
3636
- if (!this.elector) {
3637
- this.elector = createLeaderElection(this.channel);
3638
- this.elector.onduplicate = this.onLeaderDuplicate;
3639
- this.elector.awaitLeadership().then(this.onLeader);
3640
- }
3690
+ value: function () {
3691
+ var _startElector = _asyncToGenerator( _regeneratorRuntime.mark(function _callee3() {
3692
+ var broadcastChannelName;
3693
+ return _regeneratorRuntime.wrap(function _callee3$(_context6) {
3694
+ while (1) {
3695
+ switch (_context6.prev = _context6.next) {
3696
+ case 0:
3697
+ _context6.next = 2;
3698
+ return this.stopElector();
3699
+ case 2:
3700
+ if (ServiceManager.canUseLeaderElection()) {
3701
+ if (!this.channel) {
3702
+ broadcastChannelName = this.options.broadcastChannelName;
3703
+ this.channel = new BroadcastChannel(broadcastChannelName);
3704
+ }
3705
+ if (!this.elector) {
3706
+ this.elector = createLeaderElection(this.channel);
3707
+ this.elector.onduplicate = this.onLeaderDuplicate;
3708
+ this.elector.awaitLeadership().then(this.onLeader);
3709
+ }
3710
+ }
3711
+ case 3:
3712
+ case "end":
3713
+ return _context6.stop();
3714
+ }
3715
+ }
3716
+ }, _callee3, this);
3717
+ }));
3718
+ function startElector() {
3719
+ return _startElector.apply(this, arguments);
3641
3720
  }
3642
- }
3721
+ return startElector;
3722
+ }()
3643
3723
  }, {
3644
3724
  key: "stopElector",
3645
- value: function stopElector() {
3646
- var _a, _b;
3647
- if (this.elector) {
3648
- (_a = this.elector) === null || _a === void 0 ? void 0 : _a.die();
3649
- this.elector = undefined;
3650
- (_b = this.channel) === null || _b === void 0 ? void 0 : _b.close();
3651
- this.channel = undefined;
3725
+ value: function () {
3726
+ var _stopElector = _asyncToGenerator( _regeneratorRuntime.mark(function _callee4() {
3727
+ var _a, _b;
3728
+ return _regeneratorRuntime.wrap(function _callee4$(_context7) {
3729
+ while (1) {
3730
+ switch (_context7.prev = _context7.next) {
3731
+ case 0:
3732
+ if (!this.elector) {
3733
+ _context7.next = 7;
3734
+ break;
3735
+ }
3736
+ _context7.next = 3;
3737
+ return (_a = this.elector) === null || _a === void 0 ? void 0 : _a.die();
3738
+ case 3:
3739
+ this.elector = undefined;
3740
+ _context7.next = 6;
3741
+ return (_b = this.channel) === null || _b === void 0 ? void 0 : _b.close();
3742
+ case 6:
3743
+ this.channel = undefined;
3744
+ case 7:
3745
+ case "end":
3746
+ return _context7.stop();
3747
+ }
3748
+ }
3749
+ }, _callee4, this);
3750
+ }));
3751
+ function stopElector() {
3752
+ return _stopElector.apply(this, arguments);
3652
3753
  }
3653
- }
3754
+ return stopElector;
3755
+ }()
3654
3756
  }, {
3655
3757
  key: "createService",
3656
3758
  value: function createService(name) {
@@ -4756,7 +4858,7 @@ function mergeOptions(options, args) {
4756
4858
  }
4757
4859
  function buildOptions() {
4758
4860
  var args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
4759
- var _a;
4861
+ var _a, _b;
4760
4862
  assertValidConfig(args);
4761
4863
  args = mergeOptions(getDefaultOptions(), args);
4762
4864
  return removeNils({
@@ -4791,7 +4893,8 @@ function buildOptions() {
4791
4893
  recoveryToken: args.recoveryToken,
4792
4894
  activationToken: args.activationToken,
4793
4895
  idx: {
4794
- useGenericRemediator: !!((_a = args.idx) === null || _a === void 0 ? void 0 : _a.useGenericRemediator)
4896
+ useGenericRemediator: !!((_a = args.idx) === null || _a === void 0 ? void 0 : _a.useGenericRemediator),
4897
+ exchangeCodeForTokens: ((_b = args.idx) === null || _b === void 0 ? void 0 : _b.exchangeCodeForTokens) !== false
4795
4898
  },
4796
4899
  ignoreSignature: !!args.ignoreSignature,
4797
4900
  clientSecret: args.clientSecret
@@ -5159,7 +5262,7 @@ var generateDirectFetch = function generateDirectFetch(authClient, _ref) {
5159
5262
  });
5160
5263
  case 6:
5161
5264
  response = _context.sent;
5162
- return _context.abrupt("return", makeIdxState$1(authClient, _Object$assign({}, response), toPersist, true));
5265
+ return _context.abrupt("return", authClient.idx.makeIdxResponse(_Object$assign({}, response), toPersist, true));
5163
5266
  case 10:
5164
5267
  _context.prev = 10;
5165
5268
  _context.t0 = _context["catch"](3);
@@ -5172,7 +5275,7 @@ var generateDirectFetch = function generateDirectFetch(authClient, _ref) {
5172
5275
  _response = _context.t0.xhr;
5173
5276
  payload = _response.responseJSON || JSON.parse(_response.responseText);
5174
5277
  wwwAuthHeader = _response.headers['WWW-Authenticate'] || _response.headers['www-authenticate'];
5175
- idxResponse = makeIdxState$1(authClient, _Object$assign({}, payload), toPersist, false);
5278
+ idxResponse = authClient.idx.makeIdxResponse(_Object$assign({}, payload), toPersist, false);
5176
5279
  if (_response.status === 401 && wwwAuthHeader === 'Oktadevicejwt realm="Okta Device"') {
5177
5280
  idxResponse.stepUp = true;
5178
5281
  }
@@ -5399,9 +5502,7 @@ function validateVersionConfig(version) {
5399
5502
  }
5400
5503
  parsersForVersion(version);
5401
5504
  }
5402
- function makeIdxState(authClient, rawIdxResponse) {
5403
- var toPersist = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
5404
- var requestDidSucceed = arguments.length > 3 ? arguments[3] : undefined;
5505
+ function makeIdxState(authClient, rawIdxResponse, toPersist, requestDidSucceed) {
5405
5506
  var _a;
5406
5507
  var version = (_a = rawIdxResponse === null || rawIdxResponse === void 0 ? void 0 : rawIdxResponse.version) !== null && _a !== void 0 ? _a : IDX_API_VERSION;
5407
5508
  validateVersionConfig(version);
@@ -7254,52 +7355,6 @@ function hasValidInputValue(input, values) {
7254
7355
  return fn(input, values, false);
7255
7356
  }
7256
7357
 
7257
- function canProceed(authClient) {
7258
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
7259
- var meta = getSavedTransactionMeta(authClient, options);
7260
- return !!(meta || options.stateHandle);
7261
- }
7262
- function proceed(_x) {
7263
- return _proceed.apply(this, arguments);
7264
- }
7265
- function _proceed() {
7266
- _proceed = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(authClient) {
7267
- var options,
7268
- flow,
7269
- state,
7270
- meta,
7271
- _args = arguments;
7272
- return _regeneratorRuntime.wrap(function _callee$(_context) {
7273
- while (1) {
7274
- switch (_context.prev = _context.next) {
7275
- case 0:
7276
- options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
7277
- if (canProceed(authClient, options)) {
7278
- _context.next = 3;
7279
- break;
7280
- }
7281
- throw new AuthSdkError('Unable to proceed: saved transaction could not be loaded');
7282
- case 3:
7283
- flow = options.flow, state = options.state;
7284
- if (!flow) {
7285
- meta = getSavedTransactionMeta(authClient, {
7286
- state: state
7287
- });
7288
- flow = meta === null || meta === void 0 ? void 0 : meta.flow;
7289
- }
7290
- return _context.abrupt("return", run(authClient, _Object$assign(_Object$assign({}, options), {
7291
- flow: flow
7292
- })));
7293
- case 6:
7294
- case "end":
7295
- return _context.stop();
7296
- }
7297
- }
7298
- }, _callee);
7299
- }));
7300
- return _proceed.apply(this, arguments);
7301
- }
7302
-
7303
7358
  function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
7304
7359
  function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
7305
7360
  var GenericRemediator = function (_Remediator) {
@@ -7358,7 +7413,7 @@ var GenericRemediator = function (_Remediator) {
7358
7413
  while (1) {
7359
7414
  switch (_context3.prev = _context3.next) {
7360
7415
  case 0:
7361
- return _context3.abrupt("return", proceed(authClient, _Object$assign({
7416
+ return _context3.abrupt("return", authClient.idx.proceed(_Object$assign({
7362
7417
  step: name
7363
7418
  }, params)));
7364
7419
  case 1:
@@ -7575,7 +7630,7 @@ function getAvailableSteps(authClient, idxResponse, useGenericRemediator) {
7575
7630
  while (1) {
7576
7631
  switch (_context10.prev = _context10.next) {
7577
7632
  case 0:
7578
- return _context10.abrupt("return", proceed(authClient, {
7633
+ return _context10.abrupt("return", authClient.idx.proceed({
7579
7634
  actions: [{
7580
7635
  name: name,
7581
7636
  params: params
@@ -7748,7 +7803,7 @@ function remediate(_x, _x2, _x3, _x4) {
7748
7803
  function _remediate() {
7749
7804
  _remediate = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(authClient, idxResponse, values, options) {
7750
7805
  var _context2;
7751
- var _idxResponse, neededToProceed, interactionCode, _options, flow, remediator, actionFromValues, actionFromOptions, actions, _iterator, _step, _loop, _ret, terminal, messages, nextStep, name, data;
7806
+ var _idxResponse, neededToProceed, interactionCode, _options, flow, remediator, actionFromValues, actionFromOptions, actions, _iterator, _step, _loop, _ret, terminal, messages, nextStep, name, data, gr, _nextStep;
7752
7807
  return _regeneratorRuntime.wrap(function _callee$(_context4) {
7753
7808
  while (1) {
7754
7809
  switch (_context4.prev = _context4.next) {
@@ -7961,17 +8016,29 @@ function _remediate() {
7961
8016
  options = _Object$assign(_Object$assign({}, options), {
7962
8017
  step: undefined
7963
8018
  });
8019
+ if (!(options.useGenericRemediator && !idxResponse.interactionCode && !isTerminalResponse(idxResponse))) {
8020
+ _context4.next = 65;
8021
+ break;
8022
+ }
8023
+ gr = getRemediator(idxResponse.neededToProceed, values, options);
8024
+ _nextStep = getNextStep(authClient, gr, idxResponse);
8025
+ return _context4.abrupt("return", {
8026
+ idxResponse: idxResponse,
8027
+ nextStep: _nextStep,
8028
+ messages: messages.length ? messages : undefined
8029
+ });
8030
+ case 65:
7964
8031
  return _context4.abrupt("return", remediate(authClient, idxResponse, values, options));
7965
- case 64:
7966
- _context4.prev = 64;
8032
+ case 68:
8033
+ _context4.prev = 68;
7967
8034
  _context4.t3 = _context4["catch"](54);
7968
8035
  return _context4.abrupt("return", handleIdxError(authClient, _context4.t3, remediator));
7969
- case 67:
8036
+ case 71:
7970
8037
  case "end":
7971
8038
  return _context4.stop();
7972
8039
  }
7973
8040
  }
7974
- }, _callee, null, [[10, 22, 25, 28], [35, 43], [54, 64]]);
8041
+ }, _callee, null, [[10, 22, 25, 28], [35, 43], [54, 68]]);
7975
8042
  }));
7976
8043
  return _remediate.apply(this, arguments);
7977
8044
  }
@@ -8066,7 +8133,7 @@ function getFlowSpecification(oktaAuth) {
8066
8133
  }
8067
8134
 
8068
8135
  function initializeValues(options) {
8069
- var knownOptions = ['flow', 'remediators', 'actions', 'withCredentials', 'step', 'shouldProceedWithEmailAuthenticator'];
8136
+ var knownOptions = ['flow', 'remediators', 'actions', 'withCredentials', 'step', 'useGenericRemediator', 'exchangeCodeForTokens', 'shouldProceedWithEmailAuthenticator'];
8070
8137
  var values = _Object$assign({}, options);
8071
8138
  knownOptions.forEach(function (option) {
8072
8139
  delete values[option];
@@ -8074,13 +8141,13 @@ function initializeValues(options) {
8074
8141
  return values;
8075
8142
  }
8076
8143
  function initializeData(authClient, data) {
8077
- var _a;
8078
8144
  var options = data.options;
8079
- var flow = options.flow,
8080
- withCredentials = options.withCredentials,
8081
- remediators = options.remediators,
8082
- actions = options.actions,
8083
- useGenericRemediator = options.useGenericRemediator;
8145
+ options = _Object$assign(_Object$assign({}, authClient.options.idx), options);
8146
+ var _options = options,
8147
+ flow = _options.flow,
8148
+ withCredentials = _options.withCredentials,
8149
+ remediators = _options.remediators,
8150
+ actions = _options.actions;
8084
8151
  var status = IdxStatus.PENDING;
8085
8152
  flow = flow || authClient.idx.getFlow() || 'default';
8086
8153
  if (flow) {
@@ -8090,14 +8157,12 @@ function initializeData(authClient, data) {
8090
8157
  remediators = remediators || flowSpec.remediators;
8091
8158
  actions = actions || flowSpec.actions;
8092
8159
  }
8093
- useGenericRemediator = useGenericRemediator || ((_a = authClient.options.idx) === null || _a === void 0 ? void 0 : _a.useGenericRemediator) || false;
8094
8160
  return _Object$assign(_Object$assign({}, data), {
8095
8161
  options: _Object$assign(_Object$assign({}, options), {
8096
8162
  flow: flow,
8097
8163
  withCredentials: withCredentials,
8098
8164
  remediators: remediators,
8099
- actions: actions,
8100
- useGenericRemediator: useGenericRemediator
8165
+ actions: actions
8101
8166
  }),
8102
8167
  status: status
8103
8168
  });
@@ -8606,6 +8671,52 @@ function _handleEmailVerifyCallback() {
8606
8671
  return _handleEmailVerifyCallback.apply(this, arguments);
8607
8672
  }
8608
8673
 
8674
+ function canProceed(authClient) {
8675
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
8676
+ var meta = getSavedTransactionMeta(authClient, options);
8677
+ return !!(meta || options.stateHandle);
8678
+ }
8679
+ function proceed(_x) {
8680
+ return _proceed.apply(this, arguments);
8681
+ }
8682
+ function _proceed() {
8683
+ _proceed = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(authClient) {
8684
+ var options,
8685
+ flow,
8686
+ state,
8687
+ meta,
8688
+ _args = arguments;
8689
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
8690
+ while (1) {
8691
+ switch (_context.prev = _context.next) {
8692
+ case 0:
8693
+ options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
8694
+ if (canProceed(authClient, options)) {
8695
+ _context.next = 3;
8696
+ break;
8697
+ }
8698
+ throw new AuthSdkError('Unable to proceed: saved transaction could not be loaded');
8699
+ case 3:
8700
+ flow = options.flow, state = options.state;
8701
+ if (!flow) {
8702
+ meta = getSavedTransactionMeta(authClient, {
8703
+ state: state
8704
+ });
8705
+ flow = meta === null || meta === void 0 ? void 0 : meta.flow;
8706
+ }
8707
+ return _context.abrupt("return", run(authClient, _Object$assign(_Object$assign({}, options), {
8708
+ flow: flow
8709
+ })));
8710
+ case 6:
8711
+ case "end":
8712
+ return _context.stop();
8713
+ }
8714
+ }
8715
+ }, _callee);
8716
+ }));
8717
+ return _proceed.apply(this, arguments);
8718
+ }
8719
+
8609
8720
  function poll(_x) {
8610
8721
  return _poll.apply(this, arguments);
8611
8722
  }
@@ -8894,7 +9005,7 @@ function _unlockAccount() {
8894
9005
  var OktaUserAgent = function () {
8895
9006
  function OktaUserAgent() {
8896
9007
  _classCallCheck(this, OktaUserAgent);
8897
- this.environments = ["okta-auth-js/".concat("6.5.1")];
9008
+ this.environments = ["okta-auth-js/".concat("6.6.0")];
8898
9009
  }
8899
9010
  _createClass(OktaUserAgent, [{
8900
9011
  key: "addEnvironment",
@@ -8912,7 +9023,7 @@ var OktaUserAgent = function () {
8912
9023
  }, {
8913
9024
  key: "getVersion",
8914
9025
  value: function getVersion() {
8915
- return "6.5.1";
9026
+ return "6.6.0";
8916
9027
  }
8917
9028
  }, {
8918
9029
  key: "maybeAddNodeEnvironment",
@@ -8947,7 +9058,13 @@ var OktaAuth = function () {
8947
9058
  return storage.get(name);
8948
9059
  }
8949
9060
  }),
8950
- introspect: introspectAuthn.bind(null, this)
9061
+ introspect: introspectAuthn.bind(null, this),
9062
+ createTransaction: function createTransaction(res) {
9063
+ return new AuthTransaction(_this, res);
9064
+ },
9065
+ postToTransaction: function postToTransaction$1(url, args, options) {
9066
+ return postToTransaction(_this, url, args, options);
9067
+ }
8951
9068
  };
8952
9069
  this.pkce = {
8953
9070
  DEFAULT_CODE_CHALLENGE_METHOD: PKCE.DEFAULT_CODE_CHALLENGE_METHOD,
@@ -9013,24 +9130,21 @@ var OktaAuth = function () {
9013
9130
  renew: renewToken.bind(null, this),
9014
9131
  renewTokensWithRefresh: renewTokensWithRefresh.bind(null, this),
9015
9132
  renewTokens: renewTokens.bind(null, this),
9016
- getUserInfo: getUserInfo.bind(null, this),
9133
+ getUserInfo: function getUserInfo$1(accessTokenObject, idTokenObject) {
9134
+ return getUserInfo(_this, accessTokenObject, idTokenObject);
9135
+ },
9017
9136
  verify: verifyToken.bind(null, this),
9018
9137
  isLoginRedirect: isLoginRedirect.bind(null, this)
9019
9138
  };
9020
- var syncMethods = [
9021
- 'decode', 'isLoginRedirect',
9022
- 'getWithRedirect', 'parseFromUrl'];
9023
- _Object$keys(this.token).forEach(function (key) {
9024
- if (_indexOfInstanceProperty(syncMethods).call(syncMethods, key) >= 0) {
9025
- return;
9026
- }
9027
- var method = _this.token[key];
9028
- _this.token[key] = PromiseQueue.prototype.push.bind(_this._tokenQueue, method, null);
9139
+ var toWrap = ['getWithoutPrompt', 'getWithPopup', 'revoke', 'renew', 'renewTokensWithRefresh', 'renewTokens'];
9140
+ toWrap.forEach(function (key) {
9141
+ _this.token[key] = useQueue(_this.token[key]);
9029
9142
  });
9030
9143
  var boundStartTransaction = startTransaction.bind(null, this);
9031
9144
  this.idx = {
9032
9145
  interact: interact.bind(null, this),
9033
9146
  introspect: introspect.bind(null, this),
9147
+ makeIdxResponse: makeIdxState.bind(null, this),
9034
9148
  authenticate: authenticate.bind(null, this),
9035
9149
  register: register.bind(null, this),
9036
9150
  start: boundStartTransaction,
@@ -9072,19 +9186,53 @@ var OktaAuth = function () {
9072
9186
  }
9073
9187
  _createClass(OktaAuth, [{
9074
9188
  key: "start",
9075
- value: function start() {
9076
- this.tokenManager.start();
9077
- if (!this.token.isLoginRedirect()) {
9078
- this.authStateManager.updateAuthState();
9189
+ value: function () {
9190
+ var _start = _asyncToGenerator( _regeneratorRuntime.mark(function _callee() {
9191
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
9192
+ while (1) {
9193
+ switch (_context.prev = _context.next) {
9194
+ case 0:
9195
+ this.tokenManager.start();
9196
+ if (!this.token.isLoginRedirect()) {
9197
+ this.authStateManager.updateAuthState();
9198
+ }
9199
+ _context.next = 4;
9200
+ return this.serviceManager.start();
9201
+ case 4:
9202
+ case "end":
9203
+ return _context.stop();
9204
+ }
9205
+ }
9206
+ }, _callee, this);
9207
+ }));
9208
+ function start() {
9209
+ return _start.apply(this, arguments);
9079
9210
  }
9080
- this.serviceManager.start();
9081
- }
9211
+ return start;
9212
+ }()
9082
9213
  }, {
9083
9214
  key: "stop",
9084
- value: function stop() {
9085
- this.tokenManager.stop();
9086
- this.serviceManager.stop();
9087
- }
9215
+ value: function () {
9216
+ var _stop = _asyncToGenerator( _regeneratorRuntime.mark(function _callee2() {
9217
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
9218
+ while (1) {
9219
+ switch (_context2.prev = _context2.next) {
9220
+ case 0:
9221
+ this.tokenManager.stop();
9222
+ _context2.next = 3;
9223
+ return this.serviceManager.stop();
9224
+ case 3:
9225
+ case "end":
9226
+ return _context2.stop();
9227
+ }
9228
+ }
9229
+ }, _callee2, this);
9230
+ }));
9231
+ function stop() {
9232
+ return _stop.apply(this, arguments);
9233
+ }
9234
+ return stop;
9235
+ }()
9088
9236
  }, {
9089
9237
  key: "setHeaders",
9090
9238
  value: function setHeaders(headers) {
@@ -9093,18 +9241,18 @@ var OktaAuth = function () {
9093
9241
  }, {
9094
9242
  key: "signIn",
9095
9243
  value: function () {
9096
- var _signIn = _asyncToGenerator( _regeneratorRuntime.mark(function _callee(opts) {
9097
- return _regeneratorRuntime.wrap(function _callee$(_context) {
9244
+ var _signIn = _asyncToGenerator( _regeneratorRuntime.mark(function _callee3(opts) {
9245
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
9098
9246
  while (1) {
9099
- switch (_context.prev = _context.next) {
9247
+ switch (_context3.prev = _context3.next) {
9100
9248
  case 0:
9101
- return _context.abrupt("return", this.signInWithCredentials(opts));
9249
+ return _context3.abrupt("return", this.signInWithCredentials(opts));
9102
9250
  case 1:
9103
9251
  case "end":
9104
- return _context.stop();
9252
+ return _context3.stop();
9105
9253
  }
9106
9254
  }
9107
- }, _callee, this);
9255
+ }, _callee3, this);
9108
9256
  }));
9109
9257
  function signIn(_x) {
9110
9258
  return _signIn.apply(this, arguments);
@@ -9114,12 +9262,12 @@ var OktaAuth = function () {
9114
9262
  }, {
9115
9263
  key: "signInWithCredentials",
9116
9264
  value: function () {
9117
- var _signInWithCredentials = _asyncToGenerator( _regeneratorRuntime.mark(function _callee2(opts) {
9265
+ var _signInWithCredentials = _asyncToGenerator( _regeneratorRuntime.mark(function _callee4(opts) {
9118
9266
  var _this2 = this;
9119
9267
  var _postToTransaction;
9120
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
9268
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
9121
9269
  while (1) {
9122
- switch (_context2.prev = _context2.next) {
9270
+ switch (_context4.prev = _context4.next) {
9123
9271
  case 0:
9124
9272
  opts = clone(opts || {});
9125
9273
  _postToTransaction = function _postToTransaction(options) {
@@ -9127,12 +9275,12 @@ var OktaAuth = function () {
9127
9275
  return postToTransaction(_this2, '/api/v1/authn', opts, options);
9128
9276
  };
9129
9277
  if (opts.sendFingerprint) {
9130
- _context2.next = 4;
9278
+ _context4.next = 4;
9131
9279
  break;
9132
9280
  }
9133
- return _context2.abrupt("return", _postToTransaction());
9281
+ return _context4.abrupt("return", _postToTransaction());
9134
9282
  case 4:
9135
- return _context2.abrupt("return", this.fingerprint().then(function (fingerprint) {
9283
+ return _context4.abrupt("return", this.fingerprint().then(function (fingerprint) {
9136
9284
  return _postToTransaction({
9137
9285
  headers: {
9138
9286
  'X-Device-Fingerprint': fingerprint
@@ -9141,10 +9289,10 @@ var OktaAuth = function () {
9141
9289
  }));
9142
9290
  case 5:
9143
9291
  case "end":
9144
- return _context2.stop();
9292
+ return _context4.stop();
9145
9293
  }
9146
9294
  }
9147
- }, _callee2, this);
9295
+ }, _callee4, this);
9148
9296
  }));
9149
9297
  function signInWithCredentials(_x2) {
9150
9298
  return _signInWithCredentials.apply(this, arguments);
@@ -9154,44 +9302,44 @@ var OktaAuth = function () {
9154
9302
  }, {
9155
9303
  key: "signInWithRedirect",
9156
9304
  value: function () {
9157
- var _signInWithRedirect = _asyncToGenerator( _regeneratorRuntime.mark(function _callee3() {
9305
+ var _signInWithRedirect = _asyncToGenerator( _regeneratorRuntime.mark(function _callee5() {
9158
9306
  var opts,
9159
9307
  originalUri,
9160
9308
  additionalParams,
9161
9309
  params,
9162
- _args3 = arguments;
9163
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
9310
+ _args5 = arguments;
9311
+ return _regeneratorRuntime.wrap(function _callee5$(_context5) {
9164
9312
  while (1) {
9165
- switch (_context3.prev = _context3.next) {
9313
+ switch (_context5.prev = _context5.next) {
9166
9314
  case 0:
9167
- opts = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : {};
9315
+ opts = _args5.length > 0 && _args5[0] !== undefined ? _args5[0] : {};
9168
9316
  originalUri = opts.originalUri, additionalParams = __rest(opts, ["originalUri"]);
9169
9317
  if (!this._pending.handleLogin) {
9170
- _context3.next = 4;
9318
+ _context5.next = 4;
9171
9319
  break;
9172
9320
  }
9173
- return _context3.abrupt("return");
9321
+ return _context5.abrupt("return");
9174
9322
  case 4:
9175
9323
  this._pending.handleLogin = true;
9176
- _context3.prev = 5;
9324
+ _context5.prev = 5;
9177
9325
  if (originalUri) {
9178
9326
  this.setOriginalUri(originalUri);
9179
9327
  }
9180
9328
  params = _Object$assign({
9181
9329
  scopes: this.options.scopes || ['openid', 'email', 'profile']
9182
9330
  }, additionalParams);
9183
- _context3.next = 10;
9331
+ _context5.next = 10;
9184
9332
  return this.token.getWithRedirect(params);
9185
9333
  case 10:
9186
- _context3.prev = 10;
9334
+ _context5.prev = 10;
9187
9335
  this._pending.handleLogin = false;
9188
- return _context3.finish(10);
9336
+ return _context5.finish(10);
9189
9337
  case 13:
9190
9338
  case "end":
9191
- return _context3.stop();
9339
+ return _context5.stop();
9192
9340
  }
9193
9341
  }
9194
- }, _callee3, this, [[5,, 10, 13]]);
9342
+ }, _callee5, this, [[5,, 10, 13]]);
9195
9343
  }));
9196
9344
  function signInWithRedirect() {
9197
9345
  return _signInWithRedirect.apply(this, arguments);
@@ -9203,18 +9351,18 @@ var OktaAuth = function () {
9203
9351
  value: function closeSession() {
9204
9352
  var _this3 = this;
9205
9353
  return this.session.close()
9206
- .then( _asyncToGenerator( _regeneratorRuntime.mark(function _callee4() {
9207
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
9354
+ .then( _asyncToGenerator( _regeneratorRuntime.mark(function _callee6() {
9355
+ return _regeneratorRuntime.wrap(function _callee6$(_context6) {
9208
9356
  while (1) {
9209
- switch (_context4.prev = _context4.next) {
9357
+ switch (_context6.prev = _context6.next) {
9210
9358
  case 0:
9211
9359
  _this3.tokenManager.clear();
9212
9360
  case 1:
9213
9361
  case "end":
9214
- return _context4.stop();
9362
+ return _context6.stop();
9215
9363
  }
9216
9364
  }
9217
- }, _callee4);
9365
+ }, _callee6);
9218
9366
  }))).catch(function (e) {
9219
9367
  if (e.name === 'AuthApiError' && e.errorCode === 'E0000007') {
9220
9368
  return null;
@@ -9225,36 +9373,36 @@ var OktaAuth = function () {
9225
9373
  }, {
9226
9374
  key: "revokeAccessToken",
9227
9375
  value: function () {
9228
- var _revokeAccessToken = _asyncToGenerator( _regeneratorRuntime.mark(function _callee5(accessToken) {
9376
+ var _revokeAccessToken = _asyncToGenerator( _regeneratorRuntime.mark(function _callee7(accessToken) {
9229
9377
  var accessTokenKey;
9230
- return _regeneratorRuntime.wrap(function _callee5$(_context5) {
9378
+ return _regeneratorRuntime.wrap(function _callee7$(_context7) {
9231
9379
  while (1) {
9232
- switch (_context5.prev = _context5.next) {
9380
+ switch (_context7.prev = _context7.next) {
9233
9381
  case 0:
9234
9382
  if (accessToken) {
9235
- _context5.next = 6;
9383
+ _context7.next = 6;
9236
9384
  break;
9237
9385
  }
9238
- _context5.next = 3;
9386
+ _context7.next = 3;
9239
9387
  return this.tokenManager.getTokens();
9240
9388
  case 3:
9241
- accessToken = _context5.sent.accessToken;
9389
+ accessToken = _context7.sent.accessToken;
9242
9390
  accessTokenKey = this.tokenManager.getStorageKeyByType('accessToken');
9243
9391
  this.tokenManager.remove(accessTokenKey);
9244
9392
  case 6:
9245
9393
  if (accessToken) {
9246
- _context5.next = 8;
9394
+ _context7.next = 8;
9247
9395
  break;
9248
9396
  }
9249
- return _context5.abrupt("return", _Promise.resolve(null));
9397
+ return _context7.abrupt("return", _Promise.resolve(null));
9250
9398
  case 8:
9251
- return _context5.abrupt("return", this.token.revoke(accessToken));
9399
+ return _context7.abrupt("return", this.token.revoke(accessToken));
9252
9400
  case 9:
9253
9401
  case "end":
9254
- return _context5.stop();
9402
+ return _context7.stop();
9255
9403
  }
9256
9404
  }
9257
- }, _callee5, this);
9405
+ }, _callee7, this);
9258
9406
  }));
9259
9407
  function revokeAccessToken(_x3) {
9260
9408
  return _revokeAccessToken.apply(this, arguments);
@@ -9264,36 +9412,36 @@ var OktaAuth = function () {
9264
9412
  }, {
9265
9413
  key: "revokeRefreshToken",
9266
9414
  value: function () {
9267
- var _revokeRefreshToken = _asyncToGenerator( _regeneratorRuntime.mark(function _callee6(refreshToken) {
9415
+ var _revokeRefreshToken = _asyncToGenerator( _regeneratorRuntime.mark(function _callee8(refreshToken) {
9268
9416
  var refreshTokenKey;
9269
- return _regeneratorRuntime.wrap(function _callee6$(_context6) {
9417
+ return _regeneratorRuntime.wrap(function _callee8$(_context8) {
9270
9418
  while (1) {
9271
- switch (_context6.prev = _context6.next) {
9419
+ switch (_context8.prev = _context8.next) {
9272
9420
  case 0:
9273
9421
  if (refreshToken) {
9274
- _context6.next = 6;
9422
+ _context8.next = 6;
9275
9423
  break;
9276
9424
  }
9277
- _context6.next = 3;
9425
+ _context8.next = 3;
9278
9426
  return this.tokenManager.getTokens();
9279
9427
  case 3:
9280
- refreshToken = _context6.sent.refreshToken;
9428
+ refreshToken = _context8.sent.refreshToken;
9281
9429
  refreshTokenKey = this.tokenManager.getStorageKeyByType('refreshToken');
9282
9430
  this.tokenManager.remove(refreshTokenKey);
9283
9431
  case 6:
9284
9432
  if (refreshToken) {
9285
- _context6.next = 8;
9433
+ _context8.next = 8;
9286
9434
  break;
9287
9435
  }
9288
- return _context6.abrupt("return", _Promise.resolve(null));
9436
+ return _context8.abrupt("return", _Promise.resolve(null));
9289
9437
  case 8:
9290
- return _context6.abrupt("return", this.token.revoke(refreshToken));
9438
+ return _context8.abrupt("return", this.token.revoke(refreshToken));
9291
9439
  case 9:
9292
9440
  case "end":
9293
- return _context6.stop();
9441
+ return _context8.stop();
9294
9442
  }
9295
9443
  }
9296
- }, _callee6, this);
9444
+ }, _callee8, this);
9297
9445
  }));
9298
9446
  function revokeRefreshToken(_x4) {
9299
9447
  return _revokeRefreshToken.apply(this, arguments);
@@ -9330,11 +9478,11 @@ var OktaAuth = function () {
9330
9478
  }, {
9331
9479
  key: "signOut",
9332
9480
  value: function () {
9333
- var _signOut = _asyncToGenerator( _regeneratorRuntime.mark(function _callee7(options) {
9481
+ var _signOut = _asyncToGenerator( _regeneratorRuntime.mark(function _callee9(options) {
9334
9482
  var defaultUri, currentUri, postLogoutRedirectUri, accessToken, refreshToken, revokeAccessToken, revokeRefreshToken, logoutUri;
9335
- return _regeneratorRuntime.wrap(function _callee7$(_context7) {
9483
+ return _regeneratorRuntime.wrap(function _callee9$(_context9) {
9336
9484
  while (1) {
9337
- switch (_context7.prev = _context7.next) {
9485
+ switch (_context9.prev = _context9.next) {
9338
9486
  case 0:
9339
9487
  options = _Object$assign({}, options);
9340
9488
  defaultUri = window.location.origin;
@@ -9354,27 +9502,27 @@ var OktaAuth = function () {
9354
9502
  options.idToken = this.tokenManager.getTokensSync().idToken;
9355
9503
  }
9356
9504
  if (!(revokeRefreshToken && refreshToken)) {
9357
- _context7.next = 14;
9505
+ _context9.next = 14;
9358
9506
  break;
9359
9507
  }
9360
- _context7.next = 14;
9508
+ _context9.next = 14;
9361
9509
  return this.revokeRefreshToken(refreshToken);
9362
9510
  case 14:
9363
9511
  if (!(revokeAccessToken && accessToken)) {
9364
- _context7.next = 17;
9512
+ _context9.next = 17;
9365
9513
  break;
9366
9514
  }
9367
- _context7.next = 17;
9515
+ _context9.next = 17;
9368
9516
  return this.revokeAccessToken(accessToken);
9369
9517
  case 17:
9370
9518
  logoutUri = this.getSignOutRedirectUrl(_Object$assign(_Object$assign({}, options), {
9371
9519
  postLogoutRedirectUri: postLogoutRedirectUri
9372
9520
  }));
9373
9521
  if (logoutUri) {
9374
- _context7.next = 22;
9522
+ _context9.next = 22;
9375
9523
  break;
9376
9524
  }
9377
- return _context7.abrupt("return", this.closeSession()
9525
+ return _context9.abrupt("return", this.closeSession()
9378
9526
  .
9379
9527
  then(function () {
9380
9528
  if (postLogoutRedirectUri === currentUri) {
@@ -9392,10 +9540,10 @@ var OktaAuth = function () {
9392
9540
  window.location.assign(logoutUri);
9393
9541
  case 24:
9394
9542
  case "end":
9395
- return _context7.stop();
9543
+ return _context9.stop();
9396
9544
  }
9397
9545
  }
9398
- }, _callee7, this);
9546
+ }, _callee9, this);
9399
9547
  }));
9400
9548
  function signOut(_x5) {
9401
9549
  return _signOut.apply(this, arguments);
@@ -9416,7 +9564,7 @@ var OktaAuth = function () {
9416
9564
  }, {
9417
9565
  key: "isAuthenticated",
9418
9566
  value: function () {
9419
- var _isAuthenticated = _asyncToGenerator( _regeneratorRuntime.mark(function _callee8() {
9567
+ var _isAuthenticated = _asyncToGenerator( _regeneratorRuntime.mark(function _callee10() {
9420
9568
  var options,
9421
9569
  _this$tokenManager$ge,
9422
9570
  autoRenew,
@@ -9427,37 +9575,37 @@ var OktaAuth = function () {
9427
9575
  accessToken,
9428
9576
  _this$tokenManager$ge3,
9429
9577
  idToken,
9430
- _args8 = arguments;
9431
- return _regeneratorRuntime.wrap(function _callee8$(_context8) {
9578
+ _args10 = arguments;
9579
+ return _regeneratorRuntime.wrap(function _callee10$(_context10) {
9432
9580
  while (1) {
9433
- switch (_context8.prev = _context8.next) {
9581
+ switch (_context10.prev = _context10.next) {
9434
9582
  case 0:
9435
- options = _args8.length > 0 && _args8[0] !== undefined ? _args8[0] : {};
9583
+ options = _args10.length > 0 && _args10[0] !== undefined ? _args10[0] : {};
9436
9584
  _this$tokenManager$ge = this.tokenManager.getOptions(), autoRenew = _this$tokenManager$ge.autoRenew, autoRemove = _this$tokenManager$ge.autoRemove;
9437
9585
  shouldRenew = options.onExpiredToken ? options.onExpiredToken === 'renew' : autoRenew;
9438
9586
  shouldRemove = options.onExpiredToken ? options.onExpiredToken === 'remove' : autoRemove;
9439
9587
  _this$tokenManager$ge2 = this.tokenManager.getTokensSync(), accessToken = _this$tokenManager$ge2.accessToken;
9440
9588
  if (!(accessToken && this.tokenManager.hasExpired(accessToken))) {
9441
- _context8.next = 19;
9589
+ _context10.next = 19;
9442
9590
  break;
9443
9591
  }
9444
9592
  accessToken = undefined;
9445
9593
  if (!shouldRenew) {
9446
- _context8.next = 18;
9594
+ _context10.next = 18;
9447
9595
  break;
9448
9596
  }
9449
- _context8.prev = 8;
9450
- _context8.next = 11;
9597
+ _context10.prev = 8;
9598
+ _context10.next = 11;
9451
9599
  return this.tokenManager.renew('accessToken');
9452
9600
  case 11:
9453
- accessToken = _context8.sent;
9454
- _context8.next = 16;
9601
+ accessToken = _context10.sent;
9602
+ _context10.next = 16;
9455
9603
  break;
9456
9604
  case 14:
9457
- _context8.prev = 14;
9458
- _context8.t0 = _context8["catch"](8);
9605
+ _context10.prev = 14;
9606
+ _context10.t0 = _context10["catch"](8);
9459
9607
  case 16:
9460
- _context8.next = 19;
9608
+ _context10.next = 19;
9461
9609
  break;
9462
9610
  case 18:
9463
9611
  if (shouldRemove) {
@@ -9466,39 +9614,39 @@ var OktaAuth = function () {
9466
9614
  case 19:
9467
9615
  _this$tokenManager$ge3 = this.tokenManager.getTokensSync(), idToken = _this$tokenManager$ge3.idToken;
9468
9616
  if (!(idToken && this.tokenManager.hasExpired(idToken))) {
9469
- _context8.next = 34;
9617
+ _context10.next = 34;
9470
9618
  break;
9471
9619
  }
9472
9620
  idToken = undefined;
9473
9621
  if (!shouldRenew) {
9474
- _context8.next = 33;
9622
+ _context10.next = 33;
9475
9623
  break;
9476
9624
  }
9477
- _context8.prev = 23;
9478
- _context8.next = 26;
9625
+ _context10.prev = 23;
9626
+ _context10.next = 26;
9479
9627
  return this.tokenManager.renew('idToken');
9480
9628
  case 26:
9481
- idToken = _context8.sent;
9482
- _context8.next = 31;
9629
+ idToken = _context10.sent;
9630
+ _context10.next = 31;
9483
9631
  break;
9484
9632
  case 29:
9485
- _context8.prev = 29;
9486
- _context8.t1 = _context8["catch"](23);
9633
+ _context10.prev = 29;
9634
+ _context10.t1 = _context10["catch"](23);
9487
9635
  case 31:
9488
- _context8.next = 34;
9636
+ _context10.next = 34;
9489
9637
  break;
9490
9638
  case 33:
9491
9639
  if (shouldRemove) {
9492
9640
  this.tokenManager.remove('idToken');
9493
9641
  }
9494
9642
  case 34:
9495
- return _context8.abrupt("return", !!(accessToken && idToken));
9643
+ return _context10.abrupt("return", !!(accessToken && idToken));
9496
9644
  case 35:
9497
9645
  case "end":
9498
- return _context8.stop();
9646
+ return _context10.stop();
9499
9647
  }
9500
9648
  }
9501
- }, _callee8, this, [[8, 14], [23, 29]]);
9649
+ }, _callee10, this, [[8, 14], [23, 29]]);
9502
9650
  }));
9503
9651
  function isAuthenticated() {
9504
9652
  return _isAuthenticated.apply(this, arguments);
@@ -9508,20 +9656,20 @@ var OktaAuth = function () {
9508
9656
  }, {
9509
9657
  key: "getUser",
9510
9658
  value: function () {
9511
- var _getUser = _asyncToGenerator( _regeneratorRuntime.mark(function _callee9() {
9659
+ var _getUser = _asyncToGenerator( _regeneratorRuntime.mark(function _callee11() {
9512
9660
  var _this$tokenManager$ge4, idToken, accessToken;
9513
- return _regeneratorRuntime.wrap(function _callee9$(_context9) {
9661
+ return _regeneratorRuntime.wrap(function _callee11$(_context11) {
9514
9662
  while (1) {
9515
- switch (_context9.prev = _context9.next) {
9663
+ switch (_context11.prev = _context11.next) {
9516
9664
  case 0:
9517
9665
  _this$tokenManager$ge4 = this.tokenManager.getTokensSync(), idToken = _this$tokenManager$ge4.idToken, accessToken = _this$tokenManager$ge4.accessToken;
9518
- return _context9.abrupt("return", this.token.getUserInfo(accessToken, idToken));
9666
+ return _context11.abrupt("return", this.token.getUserInfo(accessToken, idToken));
9519
9667
  case 2:
9520
9668
  case "end":
9521
- return _context9.stop();
9669
+ return _context11.stop();
9522
9670
  }
9523
9671
  }
9524
- }, _callee9, this);
9672
+ }, _callee11, this);
9525
9673
  }));
9526
9674
  function getUser() {
9527
9675
  return _getUser.apply(this, arguments);
@@ -9552,24 +9700,24 @@ var OktaAuth = function () {
9552
9700
  }, {
9553
9701
  key: "storeTokensFromRedirect",
9554
9702
  value: function () {
9555
- var _storeTokensFromRedirect = _asyncToGenerator( _regeneratorRuntime.mark(function _callee10() {
9703
+ var _storeTokensFromRedirect = _asyncToGenerator( _regeneratorRuntime.mark(function _callee12() {
9556
9704
  var _yield$this$token$par, tokens;
9557
- return _regeneratorRuntime.wrap(function _callee10$(_context10) {
9705
+ return _regeneratorRuntime.wrap(function _callee12$(_context12) {
9558
9706
  while (1) {
9559
- switch (_context10.prev = _context10.next) {
9707
+ switch (_context12.prev = _context12.next) {
9560
9708
  case 0:
9561
- _context10.next = 2;
9709
+ _context12.next = 2;
9562
9710
  return this.token.parseFromUrl();
9563
9711
  case 2:
9564
- _yield$this$token$par = _context10.sent;
9712
+ _yield$this$token$par = _context12.sent;
9565
9713
  tokens = _yield$this$token$par.tokens;
9566
9714
  this.tokenManager.setTokens(tokens);
9567
9715
  case 5:
9568
9716
  case "end":
9569
- return _context10.stop();
9717
+ return _context12.stop();
9570
9718
  }
9571
9719
  }
9572
- }, _callee10, this);
9720
+ }, _callee12, this);
9573
9721
  }));
9574
9722
  function storeTokensFromRedirect() {
9575
9723
  return _storeTokensFromRedirect.apply(this, arguments);
@@ -9620,64 +9768,64 @@ var OktaAuth = function () {
9620
9768
  }, {
9621
9769
  key: "handleLoginRedirect",
9622
9770
  value: function () {
9623
- var _handleLoginRedirect = _asyncToGenerator( _regeneratorRuntime.mark(function _callee11(tokens, originalUri) {
9771
+ var _handleLoginRedirect = _asyncToGenerator( _regeneratorRuntime.mark(function _callee13(tokens, originalUri) {
9624
9772
  var state, oAuthResponse, restoreOriginalUri;
9625
- return _regeneratorRuntime.wrap(function _callee11$(_context11) {
9773
+ return _regeneratorRuntime.wrap(function _callee13$(_context13) {
9626
9774
  while (1) {
9627
- switch (_context11.prev = _context11.next) {
9775
+ switch (_context13.prev = _context13.next) {
9628
9776
  case 0:
9629
9777
  state = this.options.state;
9630
9778
  if (!tokens) {
9631
- _context11.next = 6;
9779
+ _context13.next = 6;
9632
9780
  break;
9633
9781
  }
9634
9782
  this.tokenManager.setTokens(tokens);
9635
9783
  originalUri = originalUri || this.getOriginalUri(this.options.state);
9636
- _context11.next = 25;
9784
+ _context13.next = 25;
9637
9785
  break;
9638
9786
  case 6:
9639
9787
  if (!this.isLoginRedirect()) {
9640
- _context11.next = 24;
9788
+ _context13.next = 24;
9641
9789
  break;
9642
9790
  }
9643
- _context11.prev = 7;
9644
- _context11.next = 10;
9791
+ _context13.prev = 7;
9792
+ _context13.next = 10;
9645
9793
  return parseOAuthResponseFromUrl(this, {});
9646
9794
  case 10:
9647
- oAuthResponse = _context11.sent;
9795
+ oAuthResponse = _context13.sent;
9648
9796
  state = oAuthResponse.state;
9649
9797
  originalUri = originalUri || this.getOriginalUri(state);
9650
- _context11.next = 15;
9798
+ _context13.next = 15;
9651
9799
  return this.storeTokensFromRedirect();
9652
9800
  case 15:
9653
- _context11.next = 22;
9801
+ _context13.next = 22;
9654
9802
  break;
9655
9803
  case 17:
9656
- _context11.prev = 17;
9657
- _context11.t0 = _context11["catch"](7);
9658
- _context11.next = 21;
9804
+ _context13.prev = 17;
9805
+ _context13.t0 = _context13["catch"](7);
9806
+ _context13.next = 21;
9659
9807
  return this.authStateManager.updateAuthState();
9660
9808
  case 21:
9661
- throw _context11.t0;
9809
+ throw _context13.t0;
9662
9810
  case 22:
9663
- _context11.next = 25;
9811
+ _context13.next = 25;
9664
9812
  break;
9665
9813
  case 24:
9666
- return _context11.abrupt("return");
9814
+ return _context13.abrupt("return");
9667
9815
  case 25:
9668
- _context11.next = 27;
9816
+ _context13.next = 27;
9669
9817
  return this.authStateManager.updateAuthState();
9670
9818
  case 27:
9671
9819
  this.removeOriginalUri(state);
9672
9820
  restoreOriginalUri = this.options.restoreOriginalUri;
9673
9821
  if (!restoreOriginalUri) {
9674
- _context11.next = 34;
9822
+ _context13.next = 34;
9675
9823
  break;
9676
9824
  }
9677
- _context11.next = 32;
9825
+ _context13.next = 32;
9678
9826
  return restoreOriginalUri(this, originalUri);
9679
9827
  case 32:
9680
- _context11.next = 35;
9828
+ _context13.next = 35;
9681
9829
  break;
9682
9830
  case 34:
9683
9831
  if (originalUri) {
@@ -9685,10 +9833,10 @@ var OktaAuth = function () {
9685
9833
  }
9686
9834
  case 35:
9687
9835
  case "end":
9688
- return _context11.stop();
9836
+ return _context13.stop();
9689
9837
  }
9690
9838
  }
9691
- }, _callee11, this, [[7, 17]]);
9839
+ }, _callee13, this, [[7, 17]]);
9692
9840
  }));
9693
9841
  function handleLoginRedirect(_x6, _x7) {
9694
9842
  return _handleLoginRedirect.apply(this, arguments);
@@ -9705,8 +9853,8 @@ var OktaAuth = function () {
9705
9853
  value: function hasResponseType(responseType) {
9706
9854
  var hasResponseType = false;
9707
9855
  if (Array.isArray(this.options.responseType) && this.options.responseType.length) {
9708
- var _context12;
9709
- hasResponseType = _indexOfInstanceProperty(_context12 = this.options.responseType).call(_context12, responseType) >= 0;
9856
+ var _context14;
9857
+ hasResponseType = _indexOfInstanceProperty(_context14 = this.options.responseType).call(_context14, responseType) >= 0;
9710
9858
  } else {
9711
9859
  hasResponseType = this.options.responseType === responseType;
9712
9860
  }
@@ -9740,29 +9888,29 @@ var OktaAuth = function () {
9740
9888
  }, {
9741
9889
  key: "invokeApiMethod",
9742
9890
  value: function () {
9743
- var _invokeApiMethod = _asyncToGenerator( _regeneratorRuntime.mark(function _callee12(options) {
9891
+ var _invokeApiMethod = _asyncToGenerator( _regeneratorRuntime.mark(function _callee14(options) {
9744
9892
  var accessToken;
9745
- return _regeneratorRuntime.wrap(function _callee12$(_context13) {
9893
+ return _regeneratorRuntime.wrap(function _callee14$(_context15) {
9746
9894
  while (1) {
9747
- switch (_context13.prev = _context13.next) {
9895
+ switch (_context15.prev = _context15.next) {
9748
9896
  case 0:
9749
9897
  if (options.accessToken) {
9750
- _context13.next = 5;
9898
+ _context15.next = 5;
9751
9899
  break;
9752
9900
  }
9753
- _context13.next = 3;
9901
+ _context15.next = 3;
9754
9902
  return this.tokenManager.getTokens();
9755
9903
  case 3:
9756
- accessToken = _context13.sent.accessToken;
9904
+ accessToken = _context15.sent.accessToken;
9757
9905
  options.accessToken = accessToken === null || accessToken === void 0 ? void 0 : accessToken.accessToken;
9758
9906
  case 5:
9759
- return _context13.abrupt("return", httpRequest(this, options));
9907
+ return _context15.abrupt("return", httpRequest(this, options));
9760
9908
  case 6:
9761
9909
  case "end":
9762
- return _context13.stop();
9910
+ return _context15.stop();
9763
9911
  }
9764
9912
  }
9765
- }, _callee12, this);
9913
+ }, _callee14, this);
9766
9914
  }));
9767
9915
  function invokeApiMethod(_x8) {
9768
9916
  return _invokeApiMethod.apply(this, arguments);
@@ -9780,5 +9928,5 @@ _Object$assign(OktaAuth, {
9780
9928
  constants: constants
9781
9929
  });
9782
9930
 
9783
- export { ACCESS_TOKEN_STORAGE_KEY, AuthApiError, AuthPollStopError, AuthSdkError, AuthStateManager, AuthTransaction, AuthenticatorKey, CACHE_STORAGE_NAME, DEFAULT_CACHE_DURATION, DEFAULT_CODE_CHALLENGE_METHOD, DEFAULT_MAX_CLOCK_SKEW, DEFAULT_POLLING_DELAY, EVENT_ADDED, EVENT_ERROR, EVENT_EXPIRED, EVENT_REMOVED, EVENT_RENEWED, IDX_API_VERSION, IDX_RESPONSE_STORAGE_NAME, ID_TOKEN_STORAGE_KEY, INITIAL_AUTH_STATE, IdxFeature, IdxStatus, MAX_VERIFIER_LENGTH, MIN_VERIFIER_LENGTH, OAuthError, ORIGINAL_URI_STORAGE_NAME, OktaAuth, PKCE_STORAGE_NAME, REDIRECT_NONCE_COOKIE_NAME, REDIRECT_OAUTH_PARAMS_NAME, REDIRECT_STATE_COOKIE_NAME, REFERRER_PATH_STORAGE_KEY, REFRESH_TOKEN_STORAGE_KEY, SHARED_TRANSACTION_STORAGE_NAME, STATE_TOKEN_KEY_NAME, StorageManager, TOKEN_STORAGE_NAME, TRANSACTION_STORAGE_NAME, TokenManager, addListener, addPostMessageListener, addStateToken, assertPKCESupport, authenticate, bind, buildAuthorizeParams, canProceed, cancel, clearTransactionMeta, clone, convertTokenParamsToOAuthParams, createOAuthMeta, createTransactionMeta, crypto, decodeToken, delay, deprecate, deprecateWrap, exchangeCodeForTokens, extend, find, genRandomString, generateNonce, generateState, getConsole, getDefaultTokenParams, getHashOrSearch, getKey, getLink, getNativeConsole, getOAuthBaseUrl, getOAuthDomain, getOAuthUrls, getPollFn, getSavedTransactionMeta, getStateToken, getToken, getTransactionMeta, getUserInfo, getWellKnown, getWithPopup, getWithRedirect, getWithoutPrompt, handleEmailVerifyCallback, handleInteractionCodeRedirect, handleOAuthResponse, hasAuthorizationCode, hasErrorInUrl, hasInteractionCode, hasSavedInteractionHandle, hasTokensInHash, interact, introspect, introspectAuthn, isAbsoluteUrl, isAccessToken, isAuthApiError, isAuthenticator, isAuthorizationCodeError, isCodeFlow, isCustomAuthTransactionMeta, isEmailVerifyCallback, isEmailVerifyCallbackError, isFunction, isIDToken, isIdxTransactionMeta, isInteractionRequired, isInteractionRequiredError, isLoginRedirect, isNumber, isOAuthTransactionMeta, isObject, isPKCETransactionMeta, isPromise, isRedirectUri, isRefreshToken, isRefreshTokenError, isSameRefreshToken, isString, isToken, isTransactionMeta, isTransactionMetaValid, isTransactionMetaValidForFlow, isTransactionMetaValidForOptions, isoToUTCString, loadFrame, loadPopup, omit, parseEmailVerifyCallback, parseFromUrl, PKCE as pkce, poll, postRefreshToken, postToTokenEndpoint, postToTransaction, preparePKCE, prepareTokenParams, proceed, recoverPassword, register, removeListener, removeNils, removeTrailingSlash, renewToken, renewTokens, renewTokensWithRefresh, resumeTransaction, revokeToken, saveTransactionMeta, startTransaction, toAbsoluteUrl, toQueryString, toRelativeUrl, transactionExists, transactionStatus, transactionStep, unlockAccount, urlParamsToObject, validateClaims, validateCodeChallengeMethod, validateToken, verifyToken, warn };
9931
+ export { ACCESS_TOKEN_STORAGE_KEY, AuthApiError, AuthPollStopError, AuthSdkError, AuthStateManager, AuthTransaction, AuthenticatorKey, CACHE_STORAGE_NAME, DEFAULT_CACHE_DURATION, DEFAULT_CODE_CHALLENGE_METHOD, DEFAULT_MAX_CLOCK_SKEW, DEFAULT_POLLING_DELAY, EVENT_ADDED, EVENT_ERROR, EVENT_EXPIRED, EVENT_REMOVED, EVENT_RENEWED, IDX_API_VERSION, IDX_RESPONSE_STORAGE_NAME, ID_TOKEN_STORAGE_KEY, INITIAL_AUTH_STATE, IdxFeature, IdxStatus, MAX_VERIFIER_LENGTH, MIN_VERIFIER_LENGTH, OAuthError, ORIGINAL_URI_STORAGE_NAME, OktaAuth, PKCE_STORAGE_NAME, REDIRECT_NONCE_COOKIE_NAME, REDIRECT_OAUTH_PARAMS_NAME, REDIRECT_STATE_COOKIE_NAME, REFERRER_PATH_STORAGE_KEY, REFRESH_TOKEN_STORAGE_KEY, SHARED_TRANSACTION_STORAGE_NAME, STATE_TOKEN_KEY_NAME, StorageManager, TOKEN_STORAGE_NAME, TRANSACTION_STORAGE_NAME, TokenManager, addListener, addPostMessageListener, addStateToken, assertPKCESupport, authenticate, bind, buildAuthorizeParams, canProceed, cancel, clearTransactionMeta, clone, convertTokenParamsToOAuthParams, createOAuthMeta, createTransactionMeta, crypto, decodeToken, delay, deprecate, deprecateWrap, exchangeCodeForTokens, extend, find, genRandomString, generateNonce, generateState, getConsole, getDefaultTokenParams, getHashOrSearch, getKey, getLink, getNativeConsole, getOAuthBaseUrl, getOAuthDomain, getOAuthUrls, getPollFn, getSavedTransactionMeta, getStateToken, getToken, getTransactionMeta, getUserInfo, getWellKnown, getWithPopup, getWithRedirect, getWithoutPrompt, handleEmailVerifyCallback, handleInteractionCodeRedirect, handleOAuthResponse, hasAuthorizationCode, hasErrorInUrl, hasInteractionCode, hasSavedInteractionHandle, hasTokensInHash, interact, introspect, introspectAuthn, isAbsoluteUrl, isAccessToken, isAuthApiError, isAuthenticator, isAuthorizationCodeError, isCodeFlow, isCustomAuthTransactionMeta, isEmailVerifyCallback, isEmailVerifyCallbackError, isFunction, isIDToken, isIdxTransactionMeta, isInteractionRequired, isInteractionRequiredError, isLoginRedirect, isNumber, isOAuthError, isOAuthTransactionMeta, isObject, isPKCETransactionMeta, isPromise, isRedirectUri, isRefreshToken, isRefreshTokenError, isRefreshTokenInvalidError, isSameRefreshToken, isString, isToken, isTransactionMeta, isTransactionMetaValid, isTransactionMetaValidForFlow, isTransactionMetaValidForOptions, isoToUTCString, loadFrame, loadPopup, omit, parseEmailVerifyCallback, parseFromUrl, PKCE as pkce, poll, postRefreshToken, postToTokenEndpoint, postToTransaction, preparePKCE, prepareTokenParams, proceed, recoverPassword, register, removeListener, removeNils, removeTrailingSlash, renewToken, renewTokens, renewTokensWithRefresh, resumeTransaction, revokeToken, saveTransactionMeta, startTransaction, toAbsoluteUrl, toQueryString, toRelativeUrl, transactionExists, transactionStatus, transactionStep, unlockAccount, urlParamsToObject, validateClaims, validateCodeChallengeMethod, validateToken, verifyToken, warn };
9784
9932
  //# sourceMappingURL=esm.node.mjs.map