@okta/okta-auth-js 6.5.3 → 6.6.2

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 (153) hide show
  1. package/CHANGELOG.md +23 -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 +8 -12
  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/GenericRemediator/util.js +7 -1
  41. package/cjs/idx/remediators/GenericRemediator/util.js.map +1 -1
  42. package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
  43. package/cjs/idx/run.js +8 -10
  44. package/cjs/idx/run.js.map +1 -1
  45. package/cjs/idx/startTransaction.js.map +1 -1
  46. package/cjs/idx/transactionMeta.js.map +1 -1
  47. package/cjs/idx/types/api.js.map +1 -1
  48. package/cjs/idx/unlockAccount.js.map +1 -1
  49. package/cjs/idx/util.js +22 -27
  50. package/cjs/idx/util.js.map +1 -1
  51. package/cjs/oidc/endpoints/token.js.map +1 -1
  52. package/cjs/oidc/endpoints/well-known.js.map +1 -1
  53. package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
  54. package/cjs/oidc/getToken.js.map +1 -1
  55. package/cjs/oidc/getUserInfo.js.map +1 -1
  56. package/cjs/oidc/getWithPopup.js.map +1 -1
  57. package/cjs/oidc/getWithRedirect.js.map +1 -1
  58. package/cjs/oidc/getWithoutPrompt.js.map +1 -1
  59. package/cjs/oidc/handleOAuthResponse.js +1 -3
  60. package/cjs/oidc/handleOAuthResponse.js.map +1 -1
  61. package/cjs/oidc/renewToken.js.map +1 -1
  62. package/cjs/oidc/renewTokensWithRefresh.js +26 -15
  63. package/cjs/oidc/renewTokensWithRefresh.js.map +1 -1
  64. package/cjs/oidc/revokeToken.js.map +1 -1
  65. package/cjs/oidc/util/browser.js.map +1 -1
  66. package/cjs/oidc/util/defaultTokenParams.js.map +1 -1
  67. package/cjs/oidc/util/errors.js +8 -0
  68. package/cjs/oidc/util/errors.js.map +1 -1
  69. package/cjs/oidc/util/loginRedirect.js.map +1 -1
  70. package/cjs/oidc/util/oauth.js.map +1 -1
  71. package/cjs/oidc/util/oauthMeta.js.map +1 -1
  72. package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
  73. package/cjs/oidc/util/validateClaims.js.map +1 -1
  74. package/cjs/oidc/verifyToken.js.map +1 -1
  75. package/cjs/options/index.js +5 -2
  76. package/cjs/options/index.js.map +1 -1
  77. package/cjs/tx/AuthTransaction.js +1 -1
  78. package/cjs/tx/AuthTransaction.js.map +1 -1
  79. package/cjs/tx/api.js +3 -5
  80. package/cjs/tx/api.js.map +1 -1
  81. package/cjs/tx/poll.js +1 -3
  82. package/cjs/tx/poll.js.map +1 -1
  83. package/dist/okta-auth-js.min.js +1 -1
  84. package/dist/okta-auth-js.min.js.map +1 -1
  85. package/dist/okta-auth-js.umd.js +1 -1
  86. package/dist/okta-auth-js.umd.js.map +1 -1
  87. package/esm/esm.browser.js +577 -446
  88. package/esm/esm.browser.js.map +1 -1
  89. package/esm/esm.node.mjs +577 -446
  90. package/esm/esm.node.mjs.map +1 -1
  91. package/lib/OktaAuth.d.ts +4 -4
  92. package/lib/ServiceManager.d.ts +2 -2
  93. package/lib/TokenManager.d.ts +1 -0
  94. package/lib/errors/index.d.ts +2 -1
  95. package/lib/http/request.d.ts +4 -4
  96. package/lib/idx/authenticate.d.ts +2 -2
  97. package/lib/idx/cancel.d.ts +2 -2
  98. package/lib/idx/emailVerify.d.ts +2 -2
  99. package/lib/idx/flow/FlowSpecification.d.ts +2 -2
  100. package/lib/idx/idxState/index.d.ts +3 -3
  101. package/lib/idx/idxState/v1/generateIdxAction.d.ts +2 -2
  102. package/lib/idx/idxState/v1/idxResponseParser.d.ts +3 -3
  103. package/lib/idx/idxState/v1/makeIdxState.d.ts +3 -3
  104. package/lib/idx/idxState/v1/remediationParser.d.ts +2 -2
  105. package/lib/idx/interact.d.ts +2 -2
  106. package/lib/idx/introspect.d.ts +2 -2
  107. package/lib/idx/poll.d.ts +2 -2
  108. package/lib/idx/proceed.d.ts +3 -3
  109. package/lib/idx/recoverPassword.d.ts +2 -2
  110. package/lib/idx/register.d.ts +2 -2
  111. package/lib/idx/remediate.d.ts +2 -2
  112. package/lib/idx/remediators/Base/AuthenticatorData.d.ts +2 -2
  113. package/lib/idx/remediators/Base/Remediator.d.ts +2 -2
  114. package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +2 -2
  115. package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +2 -2
  116. package/lib/idx/remediators/EnrollPoll.d.ts +2 -2
  117. package/lib/idx/remediators/EnrollmentChannelData.d.ts +2 -2
  118. package/lib/idx/remediators/GenericRemediator/GenericRemediator.d.ts +2 -2
  119. package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +2 -2
  120. package/lib/idx/run.d.ts +2 -2
  121. package/lib/idx/startTransaction.d.ts +2 -2
  122. package/lib/idx/transactionMeta.d.ts +7 -7
  123. package/lib/idx/types/api.d.ts +0 -1
  124. package/lib/idx/unlockAccount.d.ts +2 -2
  125. package/lib/idx/util.d.ts +6 -6
  126. package/lib/oidc/endpoints/token.d.ts +2 -2
  127. package/lib/oidc/endpoints/well-known.d.ts +3 -3
  128. package/lib/oidc/exchangeCodeForTokens.d.ts +2 -2
  129. package/lib/oidc/getToken.d.ts +2 -2
  130. package/lib/oidc/getUserInfo.d.ts +2 -2
  131. package/lib/oidc/getWithPopup.d.ts +2 -2
  132. package/lib/oidc/getWithRedirect.d.ts +2 -2
  133. package/lib/oidc/getWithoutPrompt.d.ts +2 -2
  134. package/lib/oidc/handleOAuthResponse.d.ts +2 -2
  135. package/lib/oidc/renewToken.d.ts +2 -2
  136. package/lib/oidc/renewTokensWithRefresh.d.ts +2 -2
  137. package/lib/oidc/revokeToken.d.ts +2 -2
  138. package/lib/oidc/util/browser.d.ts +2 -2
  139. package/lib/oidc/util/defaultTokenParams.d.ts +2 -2
  140. package/lib/oidc/util/errors.d.ts +3 -2
  141. package/lib/oidc/util/loginRedirect.d.ts +4 -4
  142. package/lib/oidc/util/oauth.d.ts +4 -4
  143. package/lib/oidc/util/oauthMeta.d.ts +2 -2
  144. package/lib/oidc/util/prepareTokenParams.d.ts +5 -5
  145. package/lib/oidc/util/validateClaims.d.ts +2 -2
  146. package/lib/oidc/verifyToken.d.ts +2 -2
  147. package/lib/tx/api.d.ts +2 -3
  148. package/lib/types/OktaAuthOptions.d.ts +2 -2
  149. package/lib/types/Service.d.ts +2 -2
  150. package/lib/types/TokenManager.d.ts +1 -0
  151. package/lib/types/UserClaims.d.ts +4 -1
  152. package/lib/types/api.d.ts +28 -8
  153. package/package.json +13 -23
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/options/index.ts"],"names":["getDefaultOptions","options","devMode","httpRequestClient","fetchRequest","storageUtil","storageManager","STORAGE_MANAGER_OPTIONS","transactionManager","enableSharedStorage","mergeOptions","args","buildOptions","issuer","tokenUrl","authorizeUrl","userinfoUrl","revokeUrl","logoutUrl","clientId","redirectUri","state","scopes","postLogoutRedirectUri","responseMode","responseType","pkce","useInteractionCodeFlow","transformErrorXHR","transformAuthState","restoreOriginalUri","headers","cookies","flow","codeChallenge","codeChallengeMethod","recoveryToken","activationToken","idx","useGenericRemediator","ignoreSignature","clientSecret"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { removeTrailingSlash, removeNils } from '../util';\nimport { assertValidConfig } from '../builderUtil';\nimport { OktaAuthOptions } from '../types';\n\nimport fetchRequest from '../fetch/fetchRequest';\nimport { getStorage, STORAGE_MANAGER_OPTIONS, enableSharedStorage, getCookieSettings } from './node';\nimport { isHTTPS } from '../features';\n\nexport function getDefaultOptions(): OktaAuthOptions {\n\n \n const options = {\n devMode: false,\n httpRequestClient: fetchRequest,\n storageUtil: getStorage(),\n storageManager: STORAGE_MANAGER_OPTIONS,\n transactionManager: {\n enableSharedStorage\n }\n };\n return options;\n}\n\nfunction mergeOptions(options, args): OktaAuthOptions {\n return Object.assign({}, options, removeNils(args), {\n storageManager: Object.assign({}, options.storageManager, args.storageManager),\n transactionManager: Object.assign({}, options.transactionManager, args.transactionManager),\n });\n}\n\nexport function buildOptions(args: OktaAuthOptions = {}): OktaAuthOptions {\n assertValidConfig(args);\n args = mergeOptions(getDefaultOptions(), args);\n return removeNils({\n // OIDC configuration\n issuer: removeTrailingSlash(args.issuer),\n tokenUrl: removeTrailingSlash(args.tokenUrl),\n authorizeUrl: removeTrailingSlash(args.authorizeUrl),\n userinfoUrl: removeTrailingSlash(args.userinfoUrl),\n revokeUrl: removeTrailingSlash(args.revokeUrl),\n logoutUrl: removeTrailingSlash(args.logoutUrl),\n clientId: args.clientId,\n redirectUri: args.redirectUri,\n state: args.state,\n scopes: args.scopes,\n postLogoutRedirectUri: args.postLogoutRedirectUri,\n responseMode: args.responseMode,\n responseType: args.responseType,\n pkce: args.pkce === false ? false : true, // PKCE defaults to true\n useInteractionCodeFlow: args.useInteractionCodeFlow,\n\n // Internal options\n httpRequestClient: args.httpRequestClient,\n transformErrorXHR: args.transformErrorXHR,\n transformAuthState: args.transformAuthState,\n restoreOriginalUri: args.restoreOriginalUri,\n storageUtil: args.storageUtil,\n headers: args.headers,\n devMode: !!args.devMode,\n storageManager: args.storageManager,\n transactionManager: args.transactionManager,\n cookies: getCookieSettings(args, isHTTPS()),\n flow: args.flow,\n codeChallenge: args.codeChallenge,\n codeChallengeMethod: args.codeChallengeMethod,\n recoveryToken: args.recoveryToken,\n activationToken: args.activationToken,\n // BETA WARNING: configs in this section are subject to change without a breaking change notice\n idx: {\n useGenericRemediator: !!args.idx?.useGenericRemediator,\n },\n\n // Give the developer the ability to disable token signature validation.\n ignoreSignature: !!args.ignoreSignature,\n\n // Server-side web applications\n clientSecret: args.clientSecret\n });\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../lib/options/index.ts"],"names":["getDefaultOptions","options","devMode","httpRequestClient","fetchRequest","storageUtil","storageManager","STORAGE_MANAGER_OPTIONS","transactionManager","enableSharedStorage","mergeOptions","args","buildOptions","issuer","tokenUrl","authorizeUrl","userinfoUrl","revokeUrl","logoutUrl","clientId","redirectUri","state","scopes","postLogoutRedirectUri","responseMode","responseType","pkce","useInteractionCodeFlow","transformErrorXHR","transformAuthState","restoreOriginalUri","headers","cookies","flow","codeChallenge","codeChallengeMethod","recoveryToken","activationToken","idx","useGenericRemediator","exchangeCodeForTokens","ignoreSignature","clientSecret"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { removeTrailingSlash, removeNils } from '../util';\nimport { assertValidConfig } from '../builderUtil';\nimport { OktaAuthOptions } from '../types';\n\nimport fetchRequest from '../fetch/fetchRequest';\nimport { getStorage, STORAGE_MANAGER_OPTIONS, enableSharedStorage, getCookieSettings } from './node';\nimport { isHTTPS } from '../features';\n\nexport function getDefaultOptions(): OktaAuthOptions {\n\n \n const options = {\n devMode: false,\n httpRequestClient: fetchRequest,\n storageUtil: getStorage(),\n storageManager: STORAGE_MANAGER_OPTIONS,\n transactionManager: {\n enableSharedStorage\n }\n };\n return options;\n}\n\nfunction mergeOptions(options, args): OktaAuthOptions {\n return Object.assign({}, options, removeNils(args), {\n storageManager: Object.assign({}, options.storageManager, args.storageManager),\n transactionManager: Object.assign({}, options.transactionManager, args.transactionManager),\n });\n}\n\nexport function buildOptions(args: OktaAuthOptions = {}): OktaAuthOptions {\n assertValidConfig(args);\n args = mergeOptions(getDefaultOptions(), args);\n return removeNils({\n // OIDC configuration\n issuer: removeTrailingSlash(args.issuer),\n tokenUrl: removeTrailingSlash(args.tokenUrl),\n authorizeUrl: removeTrailingSlash(args.authorizeUrl),\n userinfoUrl: removeTrailingSlash(args.userinfoUrl),\n revokeUrl: removeTrailingSlash(args.revokeUrl),\n logoutUrl: removeTrailingSlash(args.logoutUrl),\n clientId: args.clientId,\n redirectUri: args.redirectUri,\n state: args.state,\n scopes: args.scopes,\n postLogoutRedirectUri: args.postLogoutRedirectUri,\n responseMode: args.responseMode,\n responseType: args.responseType,\n pkce: args.pkce === false ? false : true, // PKCE defaults to true\n useInteractionCodeFlow: args.useInteractionCodeFlow,\n\n // Internal options\n httpRequestClient: args.httpRequestClient,\n transformErrorXHR: args.transformErrorXHR,\n transformAuthState: args.transformAuthState,\n restoreOriginalUri: args.restoreOriginalUri,\n storageUtil: args.storageUtil,\n headers: args.headers,\n devMode: !!args.devMode,\n storageManager: args.storageManager,\n transactionManager: args.transactionManager,\n cookies: getCookieSettings(args, isHTTPS()),\n flow: args.flow,\n codeChallenge: args.codeChallenge,\n codeChallengeMethod: args.codeChallengeMethod,\n recoveryToken: args.recoveryToken,\n activationToken: args.activationToken,\n // BETA WARNING: configs in this section are subject to change without a breaking change notice\n idx: {\n useGenericRemediator: !!args.idx?.useGenericRemediator, // false by default\n exchangeCodeForTokens: args.idx?.exchangeCodeForTokens !== false // true by default\n },\n\n // Give the developer the ability to disable token signature validation.\n ignoreSignature: !!args.ignoreSignature,\n\n // Server-side web applications\n clientSecret: args.clientSecret\n });\n}\n"],"file":"index.js"}
@@ -56,7 +56,7 @@ class AuthTransaction {
56
56
 
57
57
  if (res.status === 'RECOVERY_CHALLENGE' && !res._links) {
58
58
  this.cancel = function () {
59
- return _promise.default.resolve(new AuthTransaction(sdk));
59
+ return _promise.default.resolve(sdk.tx.createTransaction());
60
60
  };
61
61
  }
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/tx/AuthTransaction.ts"],"names":["AuthTransaction","constructor","sdk","res","data","undefined","status","interactionHandle","flattenEmbedded","stateToken","_links","cancel","resolve","link2fn","obj","link","ref","Array","isArray","name","opts","AuthSdkError","lk","hints","allow","length","method","href","withCredentials","isPolling","factorType","provider","params","autoPush","e","reject","rememberDevice","profile","updatePhone","links2fns","fns","linkName","Object","prototype","hasOwnProperty","call","type","poll","fn","objArr","o","ol","push","embedded","_embedded","key"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\nimport { get } from '../http';\nimport { find, omit, toQueryString, clone, isObject } from '../util';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport { TransactionState } from './TransactionState';\nimport { addStateToken } from './util';\nimport { getPollFn } from './poll';\nimport { postToTransaction } from './api';\nimport { IdxStatus } from '../idx/types';\n\ninterface PostToTransactionParams {\n autoPush?: boolean;\n rememberDevice?: boolean;\n updatePhone?: boolean;\n}\n\n// eslint-disable-next-line no-use-before-define\ntype AuthTransactionFunction = (obj?: any) => Promise<AuthTransaction>;\n\ninterface AuthTransactionFunctions {\n // common\n next?: AuthTransactionFunction;\n cancel?: AuthTransactionFunction;\n skip?: AuthTransactionFunction;\n // locked_out\n unlock?: AuthTransactionFunction;\n // password\n changePassword?: AuthTransactionFunction;\n resetPassword?: AuthTransactionFunction;\n // recovery\n answer?: AuthTransactionFunction;\n recovery?: AuthTransactionFunction;\n // recovery_challenge\n verify?: AuthTransactionFunction;\n resend?: AuthTransactionFunction;\n // mfa_enroll_activate\n activate?: AuthTransactionFunction;\n poll?: AuthTransactionFunction;\n prev?: AuthTransactionFunction;\n}\n\nexport class AuthTransaction implements TransactionState, AuthTransactionFunctions {\n next?: AuthTransactionFunction;\n cancel?: AuthTransactionFunction;\n skip?: AuthTransactionFunction;\n unlock?: AuthTransactionFunction;\n changePassword?: AuthTransactionFunction;\n resetPassword?: AuthTransactionFunction;\n answer?: AuthTransactionFunction;\n recovery?: AuthTransactionFunction;\n verify?: AuthTransactionFunction;\n resend?: AuthTransactionFunction;\n activate?: AuthTransactionFunction;\n poll?: AuthTransactionFunction;\n prev?: AuthTransactionFunction;\n\n data?: TransactionState;\n stateToken?: string;\n sessionToken?: string;\n status: string | IdxStatus;\n user?: Record<string, any>;\n factor?: Record<string, any>;\n factors?: Array<Record<string, any> >;\n policy?: Record<string, any>;\n scopes?: Array<Record<string, any> >;\n target?: Record<string, any>;\n authentication?: Record<string, any>;\n constructor(sdk, res: TransactionState | null = null) {\n this.data = undefined;\n this.status = undefined as unknown as string;\n if (res) {\n this.data = res;\n\n if (this.data.interactionHandle) {\n this.status = res.status;\n return;\n }\n\n // Parse response from Authn V1\n Object.assign(this, flattenEmbedded(sdk, res, res, {}));\n delete this.stateToken;\n\n // RECOVERY_CHALLENGE has some responses without _links.\n // Without _links, we emulate cancel to make it intuitive\n // to return to the starting state. We may remove this\n // when OKTA-75434 is resolved\n if (res.status === 'RECOVERY_CHALLENGE' && !res._links) {\n this.cancel = function() {\n return Promise.resolve(new AuthTransaction(sdk));\n };\n }\n }\n }\n}\n\nfunction link2fn(sdk, res, obj, link, ref) {\n if (Array.isArray(link)) {\n return function(name, opts?) {\n if (!name) {\n throw new AuthSdkError('Must provide a link name');\n }\n\n var lk = find(link, {name: name});\n if (!lk) {\n throw new AuthSdkError('No link found for that name');\n }\n\n return link2fn(sdk, res, obj, lk, ref)(opts);\n };\n\n } else if (link.hints &&\n link.hints.allow &&\n link.hints.allow.length === 1) {\n var method = link.hints.allow[0];\n switch (method) {\n\n case 'GET':\n return function() {\n return get(sdk, link.href, { withCredentials: true });\n };\n\n case 'POST':\n // eslint-disable-next-line max-statements,complexity\n return function(opts: TransactionState) {\n if (ref && ref.isPolling) {\n ref.isPolling = false;\n }\n\n var data = addStateToken(res, opts);\n\n if (res.status === 'MFA_ENROLL' || res.status === 'FACTOR_ENROLL') {\n // Add factorType and provider\n Object.assign(data, {\n factorType: obj.factorType,\n provider: obj.provider\n });\n }\n\n var params = {} as PostToTransactionParams;\n var autoPush = data.autoPush;\n if (autoPush !== undefined) {\n if (typeof autoPush === 'function') {\n try {\n params.autoPush = !!autoPush();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== null) {\n params.autoPush = !!autoPush;\n }\n data = omit(data, 'autoPush');\n }\n\n var rememberDevice = data.rememberDevice;\n if (rememberDevice !== undefined) {\n if (typeof rememberDevice === 'function') {\n try {\n params.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== null) {\n params.rememberDevice = !!rememberDevice;\n }\n data = omit(data, 'rememberDevice');\n\n } else if (data.profile &&\n data.profile.updatePhone !== undefined) {\n if (data.profile.updatePhone) {\n params.updatePhone = true;\n }\n data.profile = omit(data.profile, 'updatePhone');\n }\n var href = link.href + toQueryString(params);\n return postToTransaction(sdk, href, data);\n };\n }\n }\n}\n\nfunction links2fns(sdk, res, obj, ref) {\n var fns = {} as AuthTransactionFunctions;\n for (var linkName in obj._links) {\n if (!Object.prototype.hasOwnProperty.call(obj._links, linkName)) {\n continue;\n }\n\n var link = obj._links[linkName];\n \n if (linkName === 'next') {\n linkName = link.name;\n }\n\n if (link.type) {\n fns[linkName] = link;\n continue;\n }\n\n switch (linkName) {\n // poll is only found at the transaction\n // level, so we don't need to pass the link\n case 'poll':\n fns.poll = getPollFn(sdk, res, ref);\n break;\n\n default:\n var fn = link2fn(sdk, res, obj, link, ref);\n if (fn) {\n fns[linkName] = fn;\n }\n }\n }\n return fns;\n}\n\n// eslint-disable-next-line complexity\nfunction flattenEmbedded(sdk, res, obj, ref) {\n obj = obj || res;\n obj = clone(obj);\n\n if (Array.isArray(obj)) {\n var objArr = [];\n for (var o = 0, ol = obj.length; o < ol; o++) {\n objArr.push(flattenEmbedded(sdk, res, obj[o], ref) as never);\n }\n return objArr;\n }\n\n var embedded = obj._embedded || {};\n\n for (var key in embedded) {\n if (!Object.prototype.hasOwnProperty.call(embedded, key)) {\n continue;\n }\n\n // Flatten any nested _embedded objects\n if (isObject(embedded[key]) || Array.isArray(embedded[key])) {\n embedded[key] = flattenEmbedded(sdk, res, embedded[key], ref);\n }\n }\n\n // Convert any links on the embedded object\n var fns = links2fns(sdk, res, obj, ref);\n Object.assign(embedded, fns);\n\n obj = omit(obj, '_embedded', '_links');\n Object.assign(obj, embedded);\n return obj;\n}\n"],"file":"AuthTransaction.js"}
1
+ {"version":3,"sources":["../../../lib/tx/AuthTransaction.ts"],"names":["AuthTransaction","constructor","sdk","res","data","undefined","status","interactionHandle","flattenEmbedded","stateToken","_links","cancel","resolve","tx","createTransaction","link2fn","obj","link","ref","Array","isArray","name","opts","AuthSdkError","lk","hints","allow","length","method","href","withCredentials","isPolling","factorType","provider","params","autoPush","e","reject","rememberDevice","profile","updatePhone","links2fns","fns","linkName","Object","prototype","hasOwnProperty","call","type","poll","fn","objArr","o","ol","push","embedded","_embedded","key"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\nimport { get } from '../http';\nimport { find, omit, toQueryString, clone, isObject } from '../util';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport { TransactionState } from './TransactionState';\nimport { addStateToken } from './util';\nimport { getPollFn } from './poll';\nimport { postToTransaction } from './api';\nimport { IdxStatus } from '../idx/types';\n\ninterface PostToTransactionParams {\n autoPush?: boolean;\n rememberDevice?: boolean;\n updatePhone?: boolean;\n}\n\n// eslint-disable-next-line no-use-before-define\ntype AuthTransactionFunction = (obj?: any) => Promise<AuthTransaction>;\n\ninterface AuthTransactionFunctions {\n // common\n next?: AuthTransactionFunction;\n cancel?: AuthTransactionFunction;\n skip?: AuthTransactionFunction;\n // locked_out\n unlock?: AuthTransactionFunction;\n // password\n changePassword?: AuthTransactionFunction;\n resetPassword?: AuthTransactionFunction;\n // recovery\n answer?: AuthTransactionFunction;\n recovery?: AuthTransactionFunction;\n // recovery_challenge\n verify?: AuthTransactionFunction;\n resend?: AuthTransactionFunction;\n // mfa_enroll_activate\n activate?: AuthTransactionFunction;\n poll?: AuthTransactionFunction;\n prev?: AuthTransactionFunction;\n}\n\nexport class AuthTransaction implements TransactionState, AuthTransactionFunctions {\n next?: AuthTransactionFunction;\n cancel?: AuthTransactionFunction;\n skip?: AuthTransactionFunction;\n unlock?: AuthTransactionFunction;\n changePassword?: AuthTransactionFunction;\n resetPassword?: AuthTransactionFunction;\n answer?: AuthTransactionFunction;\n recovery?: AuthTransactionFunction;\n verify?: AuthTransactionFunction;\n resend?: AuthTransactionFunction;\n activate?: AuthTransactionFunction;\n poll?: AuthTransactionFunction;\n prev?: AuthTransactionFunction;\n\n data?: TransactionState;\n stateToken?: string;\n sessionToken?: string;\n status: string | IdxStatus;\n user?: Record<string, any>;\n factor?: Record<string, any>;\n factors?: Array<Record<string, any> >;\n policy?: Record<string, any>;\n scopes?: Array<Record<string, any> >;\n target?: Record<string, any>;\n authentication?: Record<string, any>;\n constructor(sdk, res: TransactionState | null = null) {\n this.data = undefined;\n this.status = undefined as unknown as string;\n if (res) {\n this.data = res;\n\n if (this.data.interactionHandle) {\n this.status = res.status;\n return;\n }\n\n // Parse response from Authn V1\n Object.assign(this, flattenEmbedded(sdk, res, res, {}));\n delete this.stateToken;\n\n // RECOVERY_CHALLENGE has some responses without _links.\n // Without _links, we emulate cancel to make it intuitive\n // to return to the starting state. We may remove this\n // when OKTA-75434 is resolved\n if (res.status === 'RECOVERY_CHALLENGE' && !res._links) {\n this.cancel = function() {\n return Promise.resolve(sdk.tx.createTransaction());\n };\n }\n }\n }\n}\n\nfunction link2fn(sdk, res, obj, link, ref) {\n if (Array.isArray(link)) {\n return function(name, opts?) {\n if (!name) {\n throw new AuthSdkError('Must provide a link name');\n }\n\n var lk = find(link, {name: name});\n if (!lk) {\n throw new AuthSdkError('No link found for that name');\n }\n\n return link2fn(sdk, res, obj, lk, ref)(opts);\n };\n\n } else if (link.hints &&\n link.hints.allow &&\n link.hints.allow.length === 1) {\n var method = link.hints.allow[0];\n switch (method) {\n\n case 'GET':\n return function() {\n return get(sdk, link.href, { withCredentials: true });\n };\n\n case 'POST':\n // eslint-disable-next-line max-statements,complexity\n return function(opts: TransactionState) {\n if (ref && ref.isPolling) {\n ref.isPolling = false;\n }\n\n var data = addStateToken(res, opts);\n\n if (res.status === 'MFA_ENROLL' || res.status === 'FACTOR_ENROLL') {\n // Add factorType and provider\n Object.assign(data, {\n factorType: obj.factorType,\n provider: obj.provider\n });\n }\n\n var params = {} as PostToTransactionParams;\n var autoPush = data.autoPush;\n if (autoPush !== undefined) {\n if (typeof autoPush === 'function') {\n try {\n params.autoPush = !!autoPush();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== null) {\n params.autoPush = !!autoPush;\n }\n data = omit(data, 'autoPush');\n }\n\n var rememberDevice = data.rememberDevice;\n if (rememberDevice !== undefined) {\n if (typeof rememberDevice === 'function') {\n try {\n params.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== null) {\n params.rememberDevice = !!rememberDevice;\n }\n data = omit(data, 'rememberDevice');\n\n } else if (data.profile &&\n data.profile.updatePhone !== undefined) {\n if (data.profile.updatePhone) {\n params.updatePhone = true;\n }\n data.profile = omit(data.profile, 'updatePhone');\n }\n var href = link.href + toQueryString(params);\n return postToTransaction(sdk, href, data);\n };\n }\n }\n}\n\nfunction links2fns(sdk, res, obj, ref) {\n var fns = {} as AuthTransactionFunctions;\n for (var linkName in obj._links) {\n if (!Object.prototype.hasOwnProperty.call(obj._links, linkName)) {\n continue;\n }\n\n var link = obj._links[linkName];\n \n if (linkName === 'next') {\n linkName = link.name;\n }\n\n if (link.type) {\n fns[linkName] = link;\n continue;\n }\n\n switch (linkName) {\n // poll is only found at the transaction\n // level, so we don't need to pass the link\n case 'poll':\n fns.poll = getPollFn(sdk, res, ref);\n break;\n\n default:\n var fn = link2fn(sdk, res, obj, link, ref);\n if (fn) {\n fns[linkName] = fn;\n }\n }\n }\n return fns;\n}\n\n// eslint-disable-next-line complexity\nfunction flattenEmbedded(sdk, res, obj, ref) {\n obj = obj || res;\n obj = clone(obj);\n\n if (Array.isArray(obj)) {\n var objArr = [];\n for (var o = 0, ol = obj.length; o < ol; o++) {\n objArr.push(flattenEmbedded(sdk, res, obj[o], ref) as never);\n }\n return objArr;\n }\n\n var embedded = obj._embedded || {};\n\n for (var key in embedded) {\n if (!Object.prototype.hasOwnProperty.call(embedded, key)) {\n continue;\n }\n\n // Flatten any nested _embedded objects\n if (isObject(embedded[key]) || Array.isArray(embedded[key])) {\n embedded[key] = flattenEmbedded(sdk, res, embedded[key], ref);\n }\n }\n\n // Convert any links on the embedded object\n var fns = links2fns(sdk, res, obj, ref);\n Object.assign(embedded, fns);\n\n obj = omit(obj, '_embedded', '_links');\n Object.assign(obj, embedded);\n return obj;\n}\n"],"file":"AuthTransaction.js"}
package/cjs/tx/api.js CHANGED
@@ -21,8 +21,6 @@ var _constants = require("../constants");
21
21
 
22
22
  var _util = require("./util");
23
23
 
24
- var _AuthTransaction = require("./AuthTransaction");
25
-
26
24
  /*!
27
25
  * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
28
26
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -58,7 +56,7 @@ function resumeTransaction(sdk, args) {
58
56
  }
59
57
 
60
58
  return sdk.tx.status(args).then(function (res) {
61
- return new _AuthTransaction.AuthTransaction(sdk, res);
59
+ return sdk.tx.createTransaction(res);
62
60
  });
63
61
  }
64
62
 
@@ -76,7 +74,7 @@ function introspectAuthn(sdk, args) {
76
74
  }
77
75
 
78
76
  return transactionStep(sdk, args).then(function (res) {
79
- return new _AuthTransaction.AuthTransaction(sdk, res);
77
+ return sdk.tx.createTransaction(res);
80
78
  });
81
79
  }
82
80
 
@@ -98,7 +96,7 @@ function postToTransaction(sdk, url, args, options) {
98
96
  withCredentials: true
99
97
  }, options);
100
98
  return (0, _http.post)(sdk, url, args, options).then(function (res) {
101
- return new _AuthTransaction.AuthTransaction(sdk, res);
99
+ return sdk.tx.createTransaction(res);
102
100
  });
103
101
  }
104
102
  //# sourceMappingURL=api.js.map
package/cjs/tx/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/tx/api.ts"],"names":["transactionStatus","sdk","args","getIssuerOrigin","withCredentials","resumeTransaction","stateToken","tx","exists","_get","STATE_TOKEN_KEY_NAME","reject","AuthSdkError","status","then","res","AuthTransaction","introspectAuthn","transactionStep","transactionExists","postToTransaction","url","options"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\n/* eslint-disable complexity, max-statements */\nimport { post } from '../http';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport { STATE_TOKEN_KEY_NAME } from '../constants';\nimport { addStateToken } from './util';\nimport { AuthTransaction } from './AuthTransaction';\n\nexport function transactionStatus(sdk, args) {\n args = addStateToken(sdk, args);\n return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn', args, { withCredentials: true });\n}\n\nexport function resumeTransaction(sdk, args) {\n if (!args || !args.stateToken) {\n var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n if (stateToken) {\n args = {\n stateToken: stateToken\n };\n } else {\n return Promise.reject(new AuthSdkError('No transaction to resume'));\n }\n }\n return sdk.tx.status(args)\n .then(function(res) {\n return new AuthTransaction(sdk, res);\n });\n}\n\nexport function introspectAuthn (sdk, args) {\n if (!args || !args.stateToken) {\n var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n if (stateToken) {\n args = {\n stateToken: stateToken\n };\n } else {\n return Promise.reject(new AuthSdkError('No transaction to evaluate'));\n }\n }\n return transactionStep(sdk, args)\n .then(function (res) {\n return new AuthTransaction(sdk, res);\n });\n}\n\nexport function transactionStep(sdk, args) {\n args = addStateToken(sdk, args);\n // v1 pipeline introspect API\n return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn/introspect', args, { withCredentials: true });\n}\n\nexport function transactionExists(sdk) {\n // We have a cookie state token\n return !!sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n}\n\nexport function postToTransaction(sdk, url, args, options?) {\n options = Object.assign({ withCredentials: true }, options);\n return post(sdk, url, args, options)\n .then(function(res) {\n return new AuthTransaction(sdk, res);\n });\n}\n"],"file":"api.js"}
1
+ {"version":3,"sources":["../../../lib/tx/api.ts"],"names":["transactionStatus","sdk","args","getIssuerOrigin","withCredentials","resumeTransaction","stateToken","tx","exists","_get","STATE_TOKEN_KEY_NAME","reject","AuthSdkError","status","then","res","createTransaction","introspectAuthn","transactionStep","transactionExists","postToTransaction","url","options"],"mappings":";;;;;;;;;;;;;;;AAcA;;AACA;;AACA;;AACA;;AAjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAMO,SAASA,iBAAT,CAA2BC,GAA3B,EAAgCC,IAAhC,EAAsC;AAC3CA,EAAAA,IAAI,GAAG,yBAAcD,GAAd,EAAmBC,IAAnB,CAAP;AACA,SAAO,gBAAKD,GAAL,EAAUA,GAAG,CAACE,eAAJ,KAAwB,eAAlC,EAAmDD,IAAnD,EAAyD;AAAEE,IAAAA,eAAe,EAAE;AAAnB,GAAzD,CAAP;AACD;;AAEM,SAASC,iBAAT,CAA2BJ,GAA3B,EAAgCC,IAAhC,EAAsC;AAC3C,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B;AAC7B,QAAIA,UAAU,GAAGL,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBC,+BAAnB,CAAjB;;AACA,QAAIJ,UAAJ,EAAgB;AACdJ,MAAAA,IAAI,GAAG;AACLI,QAAAA,UAAU,EAAEA;AADP,OAAP;AAGD,KAJD,MAIO;AACL,aAAO,iBAAQK,MAAR,CAAe,IAAIC,qBAAJ,CAAiB,0BAAjB,CAAf,CAAP;AACD;AACF;;AACD,SAAOX,GAAG,CAACM,EAAJ,CAAOM,MAAP,CAAcX,IAAd,EACJY,IADI,CACC,UAASC,GAAT,EAAc;AAClB,WAAOd,GAAG,CAACM,EAAJ,CAAOS,iBAAP,CAAyBD,GAAzB,CAAP;AACD,GAHI,CAAP;AAID;;AAEM,SAASE,eAAT,CAA0BhB,GAA1B,EAA+BC,IAA/B,EAAqC;AAC1C,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B;AAC7B,QAAIA,UAAU,GAAGL,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBC,+BAAnB,CAAjB;;AACA,QAAIJ,UAAJ,EAAgB;AACdJ,MAAAA,IAAI,GAAG;AACLI,QAAAA,UAAU,EAAEA;AADP,OAAP;AAGD,KAJD,MAIO;AACL,aAAO,iBAAQK,MAAR,CAAe,IAAIC,qBAAJ,CAAiB,4BAAjB,CAAf,CAAP;AACD;AACF;;AACD,SAAOM,eAAe,CAACjB,GAAD,EAAMC,IAAN,CAAf,CACJY,IADI,CACC,UAAUC,GAAV,EAAe;AACnB,WAAOd,GAAG,CAACM,EAAJ,CAAOS,iBAAP,CAAyBD,GAAzB,CAAP;AACD,GAHI,CAAP;AAID;;AAEM,SAASG,eAAT,CAAyBjB,GAAzB,EAA8BC,IAA9B,EAAoC;AACzCA,EAAAA,IAAI,GAAG,yBAAcD,GAAd,EAAmBC,IAAnB,CAAP,CADyC,CAEzC;;AACA,SAAO,gBAAKD,GAAL,EAAUA,GAAG,CAACE,eAAJ,KAAwB,0BAAlC,EAA8DD,IAA9D,EAAoE;AAAEE,IAAAA,eAAe,EAAE;AAAnB,GAApE,CAAP;AACD;;AAEM,SAASe,iBAAT,CAA2BlB,GAA3B,EAAgC;AACrC;AACA,SAAO,CAAC,CAACA,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBC,+BAAnB,CAAT;AACD;;AAEM,SAASU,iBAAT,CAA2BnB,GAA3B,EAAgCoB,GAAhC,EAAqCnB,IAArC,EAA2CoB,OAA3C,EAAqD;AAC1DA,EAAAA,OAAO,GAAG,qBAAc;AAAElB,IAAAA,eAAe,EAAE;AAAnB,GAAd,EAAyCkB,OAAzC,CAAV;AACA,SAAO,gBAAKrB,GAAL,EAAUoB,GAAV,EAAenB,IAAf,EAAqBoB,OAArB,EACJR,IADI,CACC,UAASC,GAAT,EAAc;AAClB,WAAOd,GAAG,CAACM,EAAJ,CAAOS,iBAAP,CAAyBD,GAAzB,CAAP;AACD,GAHI,CAAP;AAID","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\n/* eslint-disable complexity, max-statements */\nimport { post } from '../http';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport { STATE_TOKEN_KEY_NAME } from '../constants';\nimport { addStateToken } from './util';\n\nexport function transactionStatus(sdk, args) {\n args = addStateToken(sdk, args);\n return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn', args, { withCredentials: true });\n}\n\nexport function resumeTransaction(sdk, args) {\n if (!args || !args.stateToken) {\n var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n if (stateToken) {\n args = {\n stateToken: stateToken\n };\n } else {\n return Promise.reject(new AuthSdkError('No transaction to resume'));\n }\n }\n return sdk.tx.status(args)\n .then(function(res) {\n return sdk.tx.createTransaction(res);\n });\n}\n\nexport function introspectAuthn (sdk, args) {\n if (!args || !args.stateToken) {\n var stateToken = sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n if (stateToken) {\n args = {\n stateToken: stateToken\n };\n } else {\n return Promise.reject(new AuthSdkError('No transaction to evaluate'));\n }\n }\n return transactionStep(sdk, args)\n .then(function (res) {\n return sdk.tx.createTransaction(res);\n });\n}\n\nexport function transactionStep(sdk, args) {\n args = addStateToken(sdk, args);\n // v1 pipeline introspect API\n return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn/introspect', args, { withCredentials: true });\n}\n\nexport function transactionExists(sdk) {\n // We have a cookie state token\n return !!sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n}\n\nexport function postToTransaction(sdk, url, args, options?) {\n options = Object.assign({ withCredentials: true }, options);\n return post(sdk, url, args, options)\n .then(function(res) {\n return sdk.tx.createTransaction(res);\n });\n}\n"],"file":"api.js"}
package/cjs/tx/poll.js CHANGED
@@ -18,8 +18,6 @@ var _AuthPollStopError = _interopRequireDefault(require("../errors/AuthPollStopE
18
18
 
19
19
  var _TransactionState = require("./TransactionState");
20
20
 
21
- var _AuthTransaction = require("./AuthTransaction");
22
-
23
21
  var _util2 = require("./util");
24
22
 
25
23
  /*!
@@ -117,7 +115,7 @@ function getPollFn(sdk, res, ref) {
117
115
  // Any non-waiting result, even if polling was stopped
118
116
  // during a request, will return
119
117
  ref.isPolling = false;
120
- return new _AuthTransaction.AuthTransaction(sdk, pollRes);
118
+ return sdk.tx.createTransaction(pollRes);
121
119
  }
122
120
  }).catch(function (err) {
123
121
  // Exponential backoff, up to 16 seconds
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../lib/tx/poll.ts"],"names":["getPollFn","sdk","res","ref","options","delay","rememberDevice","autoPush","transactionCallBack","DEFAULT_POLLING_DELAY","pollLink","pollFn","opts","e","reject","AuthSdkError","undefined","href","saveAuthnState","withCredentials","isPolling","retryCount","recursivePoll","AuthPollStopError","then","pollRes","factorResult","AuthTransaction","catch","err","xhr","status","delayLength","Math","pow"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\nimport { post } from '../http';\nimport { isNumber, isObject, getLink, toQueryString, delay as delayFn } from '../util';\nimport { DEFAULT_POLLING_DELAY } from '../constants';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport AuthPollStopError from '../errors/AuthPollStopError';\nimport { TransactionState } from './TransactionState';\nimport { AuthTransaction } from './AuthTransaction';\nimport { getStateToken } from './util';\n\nexport interface PollOptions {\n delay?: number;\n rememberDevice?: boolean;\n autoPush?: boolean;\n transactionCallBack?: (TransactionState) => void;\n}\n\nexport function getPollFn(sdk, res: TransactionState, ref) {\n return function (options: PollOptions | number) {\n var delay;\n var rememberDevice;\n var autoPush;\n var transactionCallBack;\n\n if (isNumber(options)) {\n delay = options;\n } else if (isObject(options)) {\n options = options as PollOptions;\n delay = options.delay;\n rememberDevice = options.rememberDevice;\n autoPush = options.autoPush;\n transactionCallBack = options.transactionCallBack;\n }\n\n if (!delay && delay !== 0) {\n delay = DEFAULT_POLLING_DELAY;\n }\n\n // Get the poll function\n var pollLink = getLink(res, 'next', 'poll');\n // eslint-disable-next-line complexity\n function pollFn() {\n var opts = {} as PollOptions;\n if (typeof autoPush === 'function') {\n try {\n opts.autoPush = !!autoPush();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== undefined && autoPush !== null) {\n opts.autoPush = !!autoPush;\n }\n if (typeof rememberDevice === 'function') {\n try {\n opts.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== undefined && rememberDevice !== null) {\n opts.rememberDevice = !!rememberDevice;\n }\n\n var href = pollLink.href + toQueryString(opts);\n return post(sdk, href, getStateToken(res), {\n saveAuthnState: false,\n withCredentials: true\n });\n }\n\n ref.isPolling = true;\n\n var retryCount = 0;\n var recursivePoll = function () {\n // If the poll was manually stopped during the delay\n if (!ref.isPolling) {\n return Promise.reject(new AuthPollStopError());\n }\n return pollFn()\n .then(function (pollRes) {\n // Reset our retry counter on success\n retryCount = 0;\n\n // If we're still waiting\n if (pollRes.factorResult && pollRes.factorResult === 'WAITING') {\n\n // If the poll was manually stopped while the pollFn was called\n if (!ref.isPolling) {\n throw new AuthPollStopError();\n }\n\n if (typeof transactionCallBack === 'function') {\n transactionCallBack(pollRes);\n }\n\n // Continue poll\n return delayFn(delay).then(recursivePoll);\n\n } else {\n // Any non-waiting result, even if polling was stopped\n // during a request, will return\n ref.isPolling = false;\n return new AuthTransaction(sdk, pollRes);\n }\n })\n .catch(function(err) {\n // Exponential backoff, up to 16 seconds\n if (err.xhr &&\n (err.xhr.status === 0 || err.xhr.status === 429) &&\n retryCount <= 4) {\n var delayLength = Math.pow(2, retryCount) * 1000;\n retryCount++;\n return delayFn(delayLength)\n .then(recursivePoll);\n }\n throw err;\n });\n };\n return recursivePoll()\n .catch(function(err) {\n ref.isPolling = false;\n throw err;\n });\n };\n}\n"],"file":"poll.js"}
1
+ {"version":3,"sources":["../../../lib/tx/poll.ts"],"names":["getPollFn","sdk","res","ref","options","delay","rememberDevice","autoPush","transactionCallBack","DEFAULT_POLLING_DELAY","pollLink","pollFn","opts","e","reject","AuthSdkError","undefined","href","saveAuthnState","withCredentials","isPolling","retryCount","recursivePoll","AuthPollStopError","then","pollRes","factorResult","tx","createTransaction","catch","err","xhr","status","delayLength","Math","pow"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n *\n */\n\nimport { post } from '../http';\nimport { isNumber, isObject, getLink, toQueryString, delay as delayFn } from '../util';\nimport { DEFAULT_POLLING_DELAY } from '../constants';\nimport AuthSdkError from '../errors/AuthSdkError';\nimport AuthPollStopError from '../errors/AuthPollStopError';\nimport { TransactionState } from './TransactionState';\nimport { getStateToken } from './util';\n\nexport interface PollOptions {\n delay?: number;\n rememberDevice?: boolean;\n autoPush?: boolean;\n transactionCallBack?: (TransactionState) => void;\n}\n\nexport function getPollFn(sdk, res: TransactionState, ref) {\n return function (options: PollOptions | number) {\n var delay;\n var rememberDevice;\n var autoPush;\n var transactionCallBack;\n\n if (isNumber(options)) {\n delay = options;\n } else if (isObject(options)) {\n options = options as PollOptions;\n delay = options.delay;\n rememberDevice = options.rememberDevice;\n autoPush = options.autoPush;\n transactionCallBack = options.transactionCallBack;\n }\n\n if (!delay && delay !== 0) {\n delay = DEFAULT_POLLING_DELAY;\n }\n\n // Get the poll function\n var pollLink = getLink(res, 'next', 'poll');\n // eslint-disable-next-line complexity\n function pollFn() {\n var opts = {} as PollOptions;\n if (typeof autoPush === 'function') {\n try {\n opts.autoPush = !!autoPush();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('AutoPush resulted in an error.'));\n }\n }\n else if (autoPush !== undefined && autoPush !== null) {\n opts.autoPush = !!autoPush;\n }\n if (typeof rememberDevice === 'function') {\n try {\n opts.rememberDevice = !!rememberDevice();\n }\n catch (e) {\n return Promise.reject(new AuthSdkError('RememberDevice resulted in an error.'));\n }\n }\n else if (rememberDevice !== undefined && rememberDevice !== null) {\n opts.rememberDevice = !!rememberDevice;\n }\n\n var href = pollLink.href + toQueryString(opts);\n return post(sdk, href, getStateToken(res), {\n saveAuthnState: false,\n withCredentials: true\n });\n }\n\n ref.isPolling = true;\n\n var retryCount = 0;\n var recursivePoll = function () {\n // If the poll was manually stopped during the delay\n if (!ref.isPolling) {\n return Promise.reject(new AuthPollStopError());\n }\n return pollFn()\n .then(function (pollRes) {\n // Reset our retry counter on success\n retryCount = 0;\n\n // If we're still waiting\n if (pollRes.factorResult && pollRes.factorResult === 'WAITING') {\n\n // If the poll was manually stopped while the pollFn was called\n if (!ref.isPolling) {\n throw new AuthPollStopError();\n }\n\n if (typeof transactionCallBack === 'function') {\n transactionCallBack(pollRes);\n }\n\n // Continue poll\n return delayFn(delay).then(recursivePoll);\n\n } else {\n // Any non-waiting result, even if polling was stopped\n // during a request, will return\n ref.isPolling = false;\n return sdk.tx.createTransaction(pollRes);\n }\n })\n .catch(function(err) {\n // Exponential backoff, up to 16 seconds\n if (err.xhr &&\n (err.xhr.status === 0 || err.xhr.status === 429) &&\n retryCount <= 4) {\n var delayLength = Math.pow(2, retryCount) * 1000;\n retryCount++;\n return delayFn(delayLength)\n .then(recursivePoll);\n }\n throw err;\n });\n };\n return recursivePoll()\n .catch(function(err) {\n ref.isPolling = false;\n throw err;\n });\n };\n}\n"],"file":"poll.js"}