@okta/okta-auth-js 5.4.3 → 5.8.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.
- package/CHANGELOG.md +59 -4
- package/README.md +66 -977
- package/cjs/AuthStateManager.js +5 -0
- package/cjs/AuthStateManager.js.map +1 -1
- package/cjs/OktaAuth.js +74 -29
- package/cjs/OktaAuth.js.map +1 -1
- package/cjs/OktaUserAgent.js +2 -2
- package/cjs/StorageManager.js +16 -0
- package/cjs/StorageManager.js.map +1 -1
- package/cjs/TransactionManager.js +44 -8
- package/cjs/TransactionManager.js.map +1 -1
- package/cjs/browser/browserStorage.js +5 -5
- package/cjs/browser/browserStorage.js.map +1 -1
- package/cjs/builderUtil.js +6 -0
- package/cjs/builderUtil.js.map +1 -1
- package/cjs/constants.js +5 -1
- package/cjs/constants.js.map +1 -1
- package/cjs/fetch/fetchRequest.js +10 -3
- package/cjs/fetch/fetchRequest.js.map +1 -1
- package/cjs/http/request.js +4 -0
- package/cjs/http/request.js.map +1 -1
- package/cjs/idx/interact.js +5 -2
- package/cjs/idx/interact.js.map +1 -1
- package/cjs/idx/introspect.js +24 -7
- package/cjs/idx/introspect.js.map +1 -1
- package/cjs/idx/remediate.js +35 -41
- package/cjs/idx/remediate.js.map +1 -1
- package/cjs/idx/remediators/Base/AuthenticatorData.js +7 -7
- package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
- package/cjs/idx/remediators/Base/Remediator.js +13 -7
- package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
- package/cjs/idx/remediators/Base/SelectAuthenticator.js +6 -6
- package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/Base/VerifyAuthenticator.js +18 -14
- package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/EnrollProfile.js +14 -0
- package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
- package/cjs/idx/remediators/Identify.js +5 -2
- package/cjs/idx/remediators/Identify.js.map +1 -1
- package/cjs/idx/remediators/ReEnrollAuthenticator.js +1 -1
- package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
- package/cjs/idx/run.js +28 -6
- package/cjs/idx/run.js.map +1 -1
- package/cjs/idx/transactionMeta.js +24 -9
- package/cjs/idx/transactionMeta.js.map +1 -1
- package/cjs/idx/types/idx-js.js +5 -0
- package/cjs/idx/types/idx-js.js.map +1 -1
- package/cjs/idx/types/index.js +17 -6
- package/cjs/idx/types/index.js.map +1 -1
- package/cjs/oidc/getToken.js +14 -9
- package/cjs/oidc/getToken.js.map +1 -1
- package/cjs/oidc/getWithPopup.js +9 -2
- package/cjs/oidc/getWithPopup.js.map +1 -1
- package/cjs/oidc/getWithRedirect.js.map +1 -1
- package/cjs/oidc/parseFromUrl.js +59 -20
- package/cjs/oidc/parseFromUrl.js.map +1 -1
- package/cjs/oidc/renewTokens.js +28 -5
- package/cjs/oidc/renewTokens.js.map +1 -1
- package/cjs/oidc/util/browser.js +1 -13
- package/cjs/oidc/util/browser.js.map +1 -1
- package/cjs/oidc/util/loginRedirect.js +9 -5
- package/cjs/oidc/util/loginRedirect.js.map +1 -1
- package/cjs/oidc/util/urlParams.js +1 -1
- package/cjs/oidc/util/urlParams.js.map +1 -1
- package/cjs/oidc/util/validateClaims.js +8 -6
- package/cjs/oidc/util/validateClaims.js.map +1 -1
- package/cjs/options.js +15 -2
- package/cjs/options.js.map +1 -1
- package/cjs/server/serverStorage.js +2 -1
- package/cjs/server/serverStorage.js.map +1 -1
- package/cjs/tx/AuthTransaction.js +1 -3
- package/cjs/tx/AuthTransaction.js.map +1 -1
- package/cjs/tx/api.js +3 -0
- package/cjs/tx/api.js.map +1 -1
- package/cjs/types/Transaction.js.map +1 -1
- package/cjs/util/emailVerify.js +28 -0
- package/cjs/util/emailVerify.js.map +1 -0
- package/cjs/util/index.js +13 -0
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/sharedStorage.js +54 -0
- package/cjs/util/sharedStorage.js.map +1 -0
- package/dist/okta-auth-js.min.js +2 -74
- package/dist/okta-auth-js.min.js.LICENSE.txt +32 -0
- package/dist/okta-auth-js.min.js.map +1 -1
- package/dist/okta-auth-js.polyfill.js +2 -18
- package/dist/okta-auth-js.polyfill.js.LICENSE.txt +18 -0
- package/dist/okta-auth-js.polyfill.js.map +1 -1
- package/dist/okta-auth-js.umd.js +2 -74
- package/dist/okta-auth-js.umd.js.LICENSE.txt +32 -0
- package/dist/okta-auth-js.umd.js.map +1 -1
- package/esm/AuthStateManager.js +5 -0
- package/esm/AuthStateManager.js.map +1 -1
- package/esm/OktaAuth.js +75 -31
- package/esm/OktaAuth.js.map +1 -1
- package/esm/OktaUserAgent.js +2 -2
- package/esm/StorageManager.js +17 -1
- package/esm/StorageManager.js.map +1 -1
- package/esm/TransactionManager.js +43 -8
- package/esm/TransactionManager.js.map +1 -1
- package/esm/browser/browserStorage.js +5 -5
- package/esm/browser/browserStorage.js.map +1 -1
- package/esm/builderUtil.js +6 -0
- package/esm/builderUtil.js.map +1 -1
- package/esm/constants.js +2 -0
- package/esm/constants.js.map +1 -1
- package/esm/fetch/fetchRequest.js +10 -3
- package/esm/fetch/fetchRequest.js.map +1 -1
- package/esm/http/request.js +4 -0
- package/esm/http/request.js.map +1 -1
- package/esm/idx/interact.js +5 -2
- package/esm/idx/interact.js.map +1 -1
- package/esm/idx/introspect.js +22 -6
- package/esm/idx/introspect.js.map +1 -1
- package/esm/idx/remediate.js +36 -37
- package/esm/idx/remediate.js.map +1 -1
- package/esm/idx/remediators/Base/AuthenticatorData.js +7 -7
- package/esm/idx/remediators/Base/AuthenticatorData.js.map +1 -1
- package/esm/idx/remediators/Base/Remediator.js +13 -8
- package/esm/idx/remediators/Base/Remediator.js.map +1 -1
- package/esm/idx/remediators/Base/SelectAuthenticator.js +6 -6
- package/esm/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
- package/esm/idx/remediators/Base/VerifyAuthenticator.js +18 -15
- package/esm/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
- package/esm/idx/remediators/EnrollProfile.js +21 -4
- package/esm/idx/remediators/EnrollProfile.js.map +1 -1
- package/esm/idx/remediators/Identify.js +4 -2
- package/esm/idx/remediators/Identify.js.map +1 -1
- package/esm/idx/remediators/ReEnrollAuthenticator.js +1 -1
- package/esm/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
- package/esm/idx/run.js +27 -6
- package/esm/idx/run.js.map +1 -1
- package/esm/idx/transactionMeta.js +23 -10
- package/esm/idx/transactionMeta.js.map +1 -1
- package/esm/idx/types/idx-js.js +3 -0
- package/esm/idx/types/idx-js.js.map +1 -1
- package/esm/idx/types/index.js +15 -5
- package/esm/idx/types/index.js.map +1 -1
- package/esm/oidc/getToken.js +15 -10
- package/esm/oidc/getToken.js.map +1 -1
- package/esm/oidc/getWithPopup.js +8 -2
- package/esm/oidc/getWithPopup.js.map +1 -1
- package/esm/oidc/getWithRedirect.js.map +1 -1
- package/esm/oidc/parseFromUrl.js +59 -17
- package/esm/oidc/parseFromUrl.js.map +1 -1
- package/esm/oidc/renewTokens.js +27 -5
- package/esm/oidc/renewTokens.js.map +1 -1
- package/esm/oidc/util/browser.js +1 -12
- package/esm/oidc/util/browser.js.map +1 -1
- package/esm/oidc/util/loginRedirect.js +9 -5
- package/esm/oidc/util/loginRedirect.js.map +1 -1
- package/esm/oidc/util/urlParams.js +1 -1
- package/esm/oidc/util/urlParams.js.map +1 -1
- package/esm/oidc/util/validateClaims.js +8 -6
- package/esm/oidc/util/validateClaims.js.map +1 -1
- package/esm/options.js +15 -2
- package/esm/options.js.map +1 -1
- package/esm/server/serverStorage.js +2 -1
- package/esm/server/serverStorage.js.map +1 -1
- package/esm/tx/AuthTransaction.js +1 -3
- package/esm/tx/AuthTransaction.js.map +1 -1
- package/esm/tx/api.js +3 -0
- package/esm/tx/api.js.map +1 -1
- package/esm/types/Transaction.js.map +1 -1
- package/esm/util/emailVerify.js +21 -0
- package/esm/util/emailVerify.js.map +1 -0
- package/esm/util/index.js +1 -0
- package/esm/util/index.js.map +1 -1
- package/esm/util/sharedStorage.js +43 -0
- package/esm/util/sharedStorage.js.map +1 -0
- package/lib/AuthStateManager.d.ts +4 -2
- package/lib/OktaAuth.d.ts +9 -5
- package/lib/StorageManager.d.ts +2 -0
- package/lib/TransactionManager.d.ts +5 -1
- package/lib/constants.d.ts +2 -0
- package/lib/crypto/base64.d.ts +2 -2
- package/lib/crypto/oidcHash.d.ts +1 -1
- package/lib/crypto/verifyToken.d.ts +1 -1
- package/lib/idx/introspect.d.ts +2 -1
- package/lib/idx/remediators/Base/AuthenticatorData.d.ts +2 -5
- package/lib/idx/remediators/Base/Remediator.d.ts +3 -6
- package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +3 -6
- package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +1 -1
- package/lib/idx/remediators/EnrollProfile.d.ts +1 -0
- package/lib/idx/remediators/Identify.d.ts +1 -5
- package/lib/idx/run.d.ts +1 -0
- package/lib/idx/transactionMeta.d.ts +4 -3
- package/lib/idx/types/idx-js.d.ts +2 -0
- package/lib/idx/types/index.d.ts +20 -9
- package/lib/oidc/getToken.d.ts +2 -2
- package/lib/oidc/parseFromUrl.d.ts +4 -1
- package/lib/oidc/renewTokens.d.ts +0 -12
- package/lib/oidc/util/loginRedirect.d.ts +1 -1
- package/lib/types/AuthState.d.ts +1 -0
- package/lib/types/OktaAuthOptions.d.ts +2 -1
- package/lib/types/Storage.d.ts +3 -0
- package/lib/types/Transaction.d.ts +5 -1
- package/lib/types/api.d.ts +9 -4
- package/lib/types/http.d.ts +1 -0
- package/lib/util/emailVerify.d.ts +17 -0
- package/lib/util/index.d.ts +1 -0
- package/lib/util/sharedStorage.d.ts +6 -0
- package/package.json +12 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/tx/AuthTransaction.ts"],"names":["get","find","omit","toQueryString","clone","isObject","AuthSdkError","addStateToken","getPollFn","postToTransaction","AuthTransaction","constructor","sdk","res","data","interactionHandle","status","Object","assign","flattenEmbedded","stateToken","_links","cancel","Promise","resolve","link2fn","obj","link","ref","Array","isArray","name","opts","lk","hints","allow","length","method","href","withCredentials","isPolling","factorType","provider","params","autoPush","undefined","e","reject","rememberDevice","profile","updatePhone","links2fns","fns","linkName","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\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 = null) {\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, { withCredentials: true });\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));\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":["get","find","omit","toQueryString","clone","isObject","AuthSdkError","addStateToken","getPollFn","postToTransaction","AuthTransaction","constructor","sdk","res","data","interactionHandle","status","Object","assign","flattenEmbedded","stateToken","_links","cancel","Promise","resolve","link2fn","obj","link","ref","Array","isArray","name","opts","lk","hints","allow","length","method","href","withCredentials","isPolling","factorType","provider","params","autoPush","undefined","e","reject","rememberDevice","profile","updatePhone","links2fns","fns","linkName","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\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 = null) {\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));\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/esm/tx/api.js
CHANGED
|
@@ -75,6 +75,9 @@ function transactionExists(sdk) {
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
function postToTransaction(sdk, url, args, options) {
|
|
78
|
+
options = Object.assign({
|
|
79
|
+
withCredentials: true
|
|
80
|
+
}, options);
|
|
78
81
|
return post(sdk, url, args, options).then(function (res) {
|
|
79
82
|
return new AuthTransaction(sdk, res);
|
|
80
83
|
});
|
package/esm/tx/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/tx/api.ts"],"names":["post","AuthSdkError","STATE_TOKEN_KEY_NAME","addStateToken","AuthTransaction","transactionStatus","sdk","args","getIssuerOrigin","withCredentials","resumeTransaction","stateToken","tx","exists","_get","Promise","reject","status","then","res","introspect","transactionStep","transactionExists","postToTransaction","url","options"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,IAAT,QAAqB,SAArB;AACA,OAAOC,YAAP,MAAyB,wBAAzB;AACA,SAASC,oBAAT,QAAqC,cAArC;AACA,SAASC,aAAT,QAA8B,QAA9B;AACA,SAASC,eAAT,QAAgC,mBAAhC;;AAEA,SAASC,iBAAT,CAA2BC,GAA3B,EAAgCC,IAAhC,EAAsC;AACpCA,EAAAA,IAAI,GAAGJ,aAAa,CAACG,GAAD,EAAMC,IAAN,CAApB;AACA,SAAOP,IAAI,CAACM,GAAD,EAAMA,GAAG,CAACE,eAAJ,KAAwB,eAA9B,EAA+CD,IAA/C,EAAqD;AAAEE,IAAAA,eAAe,EAAE;AAAnB,GAArD,CAAX;AACD;;AAED,SAASC,iBAAT,CAA2BJ,GAA3B,EAAgCC,IAAhC,EAAsC;AACpC,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B;AAC7B,QAAIA,UAAU,GAAGL,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBZ,oBAAnB,CAAjB;;AACA,QAAIS,UAAJ,EAAgB;AACdJ,MAAAA,IAAI,GAAG;AACLI,QAAAA,UAAU,EAAEA;AADP,OAAP;AAGD,KAJD,MAIO;AACL,aAAOI,OAAO,CAACC,MAAR,CAAe,IAAIf,YAAJ,CAAiB,0BAAjB,CAAf,CAAP;AACD;AACF;;AACD,SAAOK,GAAG,CAACM,EAAJ,CAAOK,MAAP,CAAcV,IAAd,EACJW,IADI,CACC,UAASC,GAAT,EAAc;AAClB,WAAO,IAAIf,eAAJ,CAAoBE,GAApB,EAAyBa,GAAzB,CAAP;AACD,GAHI,CAAP;AAID;;AAED,SAASC,UAAT,CAAqBd,GAArB,EAA0BC,IAA1B,EAAgC;AAC9B,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B;AAC7B,QAAIA,UAAU,GAAGL,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBZ,oBAAnB,CAAjB;;AACA,QAAIS,UAAJ,EAAgB;AACdJ,MAAAA,IAAI,GAAG;AACLI,QAAAA,UAAU,EAAEA;AADP,OAAP;AAGD,KAJD,MAIO;AACL,aAAOI,OAAO,CAACC,MAAR,CAAe,IAAIf,YAAJ,CAAiB,4BAAjB,CAAf,CAAP;AACD;AACF;;AACD,SAAOoB,eAAe,CAACf,GAAD,EAAMC,IAAN,CAAf,CACJW,IADI,CACC,UAAUC,GAAV,EAAe;AACnB,WAAO,IAAIf,eAAJ,CAAoBE,GAApB,EAAyBa,GAAzB,CAAP;AACD,GAHI,CAAP;AAID;;AAED,SAASE,eAAT,CAAyBf,GAAzB,EAA8BC,IAA9B,EAAoC;AAClCA,EAAAA,IAAI,GAAGJ,aAAa,CAACG,GAAD,EAAMC,IAAN,CAApB,CADkC,CAElC;;AACA,SAAOP,IAAI,CAACM,GAAD,EAAMA,GAAG,CAACE,eAAJ,KAAwB,0BAA9B,EAA0DD,IAA1D,EAAgE;AAAEE,IAAAA,eAAe,EAAE;AAAnB,GAAhE,CAAX;AACD;;AAED,SAASa,iBAAT,CAA2BhB,GAA3B,EAAgC;AAC9B;AACA,SAAO,CAAC,CAACA,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBZ,oBAAnB,CAAT;AACD;;AAED,SAASqB,iBAAT,CAA2BjB,GAA3B,EAAgCkB,GAAhC,EAAqCjB,IAArC,EAA2CkB,OAA3C,EAAqD;
|
|
1
|
+
{"version":3,"sources":["../../../lib/tx/api.ts"],"names":["post","AuthSdkError","STATE_TOKEN_KEY_NAME","addStateToken","AuthTransaction","transactionStatus","sdk","args","getIssuerOrigin","withCredentials","resumeTransaction","stateToken","tx","exists","_get","Promise","reject","status","then","res","introspect","transactionStep","transactionExists","postToTransaction","url","options","Object","assign"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,IAAT,QAAqB,SAArB;AACA,OAAOC,YAAP,MAAyB,wBAAzB;AACA,SAASC,oBAAT,QAAqC,cAArC;AACA,SAASC,aAAT,QAA8B,QAA9B;AACA,SAASC,eAAT,QAAgC,mBAAhC;;AAEA,SAASC,iBAAT,CAA2BC,GAA3B,EAAgCC,IAAhC,EAAsC;AACpCA,EAAAA,IAAI,GAAGJ,aAAa,CAACG,GAAD,EAAMC,IAAN,CAApB;AACA,SAAOP,IAAI,CAACM,GAAD,EAAMA,GAAG,CAACE,eAAJ,KAAwB,eAA9B,EAA+CD,IAA/C,EAAqD;AAAEE,IAAAA,eAAe,EAAE;AAAnB,GAArD,CAAX;AACD;;AAED,SAASC,iBAAT,CAA2BJ,GAA3B,EAAgCC,IAAhC,EAAsC;AACpC,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B;AAC7B,QAAIA,UAAU,GAAGL,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBZ,oBAAnB,CAAjB;;AACA,QAAIS,UAAJ,EAAgB;AACdJ,MAAAA,IAAI,GAAG;AACLI,QAAAA,UAAU,EAAEA;AADP,OAAP;AAGD,KAJD,MAIO;AACL,aAAOI,OAAO,CAACC,MAAR,CAAe,IAAIf,YAAJ,CAAiB,0BAAjB,CAAf,CAAP;AACD;AACF;;AACD,SAAOK,GAAG,CAACM,EAAJ,CAAOK,MAAP,CAAcV,IAAd,EACJW,IADI,CACC,UAASC,GAAT,EAAc;AAClB,WAAO,IAAIf,eAAJ,CAAoBE,GAApB,EAAyBa,GAAzB,CAAP;AACD,GAHI,CAAP;AAID;;AAED,SAASC,UAAT,CAAqBd,GAArB,EAA0BC,IAA1B,EAAgC;AAC9B,MAAI,CAACA,IAAD,IAAS,CAACA,IAAI,CAACI,UAAnB,EAA+B;AAC7B,QAAIA,UAAU,GAAGL,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBZ,oBAAnB,CAAjB;;AACA,QAAIS,UAAJ,EAAgB;AACdJ,MAAAA,IAAI,GAAG;AACLI,QAAAA,UAAU,EAAEA;AADP,OAAP;AAGD,KAJD,MAIO;AACL,aAAOI,OAAO,CAACC,MAAR,CAAe,IAAIf,YAAJ,CAAiB,4BAAjB,CAAf,CAAP;AACD;AACF;;AACD,SAAOoB,eAAe,CAACf,GAAD,EAAMC,IAAN,CAAf,CACJW,IADI,CACC,UAAUC,GAAV,EAAe;AACnB,WAAO,IAAIf,eAAJ,CAAoBE,GAApB,EAAyBa,GAAzB,CAAP;AACD,GAHI,CAAP;AAID;;AAED,SAASE,eAAT,CAAyBf,GAAzB,EAA8BC,IAA9B,EAAoC;AAClCA,EAAAA,IAAI,GAAGJ,aAAa,CAACG,GAAD,EAAMC,IAAN,CAApB,CADkC,CAElC;;AACA,SAAOP,IAAI,CAACM,GAAD,EAAMA,GAAG,CAACE,eAAJ,KAAwB,0BAA9B,EAA0DD,IAA1D,EAAgE;AAAEE,IAAAA,eAAe,EAAE;AAAnB,GAAhE,CAAX;AACD;;AAED,SAASa,iBAAT,CAA2BhB,GAA3B,EAAgC;AAC9B;AACA,SAAO,CAAC,CAACA,GAAG,CAACM,EAAJ,CAAOC,MAAP,CAAcC,IAAd,CAAmBZ,oBAAnB,CAAT;AACD;;AAED,SAASqB,iBAAT,CAA2BjB,GAA3B,EAAgCkB,GAAhC,EAAqCjB,IAArC,EAA2CkB,OAA3C,EAAqD;AACnDA,EAAAA,OAAO,GAAGC,MAAM,CAACC,MAAP,CAAc;AAAElB,IAAAA,eAAe,EAAE;AAAnB,GAAd,EAAyCgB,OAAzC,CAAV;AACA,SAAOzB,IAAI,CAACM,GAAD,EAAMkB,GAAN,EAAWjB,IAAX,EAAiBkB,OAAjB,CAAJ,CACJP,IADI,CACC,UAASC,GAAT,EAAc;AAClB,WAAO,IAAIf,eAAJ,CAAoBE,GAApB,EAAyBa,GAAzB,CAAP;AACD,GAHI,CAAP;AAID;;AAED,SACEd,iBADF,EAEEK,iBAFF,EAGEY,iBAHF,EAIEC,iBAJF,EAKEH,UALF","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\nfunction transactionStatus(sdk, args) {\n args = addStateToken(sdk, args);\n return post(sdk, sdk.getIssuerOrigin() + '/api/v1/authn', args, { withCredentials: true });\n}\n\nfunction 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\nfunction introspect (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\nfunction 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\nfunction transactionExists(sdk) {\n // We have a cookie state token\n return !!sdk.tx.exists._get(STATE_TOKEN_KEY_NAME);\n}\n\nfunction 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\nexport {\n transactionStatus,\n resumeTransaction,\n transactionExists,\n postToTransaction,\n introspect,\n};\n"],"file":"api.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/types/Transaction.ts"],"names":["isObjectWithProperties","obj","Object","values","length","isOAuthTransactionMeta","redirectUri","responseType","isPKCETransactionMeta","codeVerifier","isIdxTransactionMeta","interactionHandle","isCustomAuthTransactionMeta","isAllStringValues","find","value","undefined","isTransactionMeta"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;
|
|
1
|
+
{"version":3,"sources":["../../../lib/types/Transaction.ts"],"names":["isObjectWithProperties","obj","Object","values","length","isOAuthTransactionMeta","redirectUri","responseType","isPKCETransactionMeta","codeVerifier","isIdxTransactionMeta","interactionHandle","isCustomAuthTransactionMeta","isAllStringValues","find","value","undefined","isTransactionMeta"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAsBA;AAiCA,SAASA,sBAAT,CAAgCC,GAAhC,EAAqC;AACnC,MAAI,CAACA,GAAD,IAAQ,OAAOA,GAAP,KAAe,QAAvB,IAAmCC,MAAM,CAACC,MAAP,CAAcF,GAAd,EAAmBG,MAAnB,KAA8B,CAArE,EAAwE;AACtE,WAAO,KAAP;AACD;;AACD,SAAO,IAAP;AACD;;AAED,OAAO,SAASC,sBAAT,CAAgCJ,GAAhC,EAAuE;AAC5E,MAAI,CAACD,sBAAsB,CAACC,GAAD,CAA3B,EAAkC;AAChC,WAAO,KAAP;AACD;;AACD,SAAO,CAAC,CAACA,GAAG,CAACK,WAAN,IAAqB,CAAC,CAACL,GAAG,CAACM,YAAlC;AACD;AAED,OAAO,SAASC,qBAAT,CAA+BP,GAA/B,EAAqE;AAC1E,MAAI,CAACI,sBAAsB,CAACJ,GAAD,CAA3B,EAAkC;AAChC,WAAO,KAAP;AACD;;AACD,SAAO,CAAC,CAAEA,GAAD,CAAaQ,YAAtB;AACD;AAED,OAAO,SAASC,oBAAT,CAA8BT,GAA9B,EAAmE;AACxE,MAAI,CAACO,qBAAqB,CAACP,GAAD,CAA1B,EAAiC;AAC/B,WAAO,KAAP;AACD;;AACD,SAAO,CAAC,CAAEA,GAAD,CAAaU,iBAAtB;AACD;AAED,OAAO,SAASC,2BAAT,CAAqCX,GAArC,EAAiF;AACtF,MAAI,CAACD,sBAAsB,CAACC,GAAD,CAA3B,EAAkC;AAChC,WAAO,KAAP;AACD;;AACD,MAAMY,iBAAiB,GAAGX,MAAM,CAACC,MAAP,CAAcF,GAAd,EAAmBa,IAAnB,CAAyBC,KAAD,IAAY,OAAOA,KAAP,KAAiB,QAArD,MAAoEC,SAA9F;AACA,SAAOH,iBAAP;AACD;AAED,OAAO,SAASI,iBAAT,CAA2BhB,GAA3B,EAA6D;AAClE,MAAII,sBAAsB,CAACJ,GAAD,CAAtB,IAA+BW,2BAA2B,CAACX,GAAD,CAA9D,EAAqE;AACnE,WAAO,IAAP;AACD;;AACD,SAAO,KAAP;AACD","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 StorageManager from '../StorageManager';\nimport { CustomUrls } from './OktaAuthOptions';\n\nexport interface TransactionManagerOptions {\n storageManager?: StorageManager;\n enableSharedStorage?: boolean; // default true\n legacyWidgetSupport?: boolean; // default true\n saveNonceCookie?: boolean; // default true\n saveStateCookie?: boolean; // default true\n saveParamsCookie?: boolean; // default true\n}\n\nexport interface TransactionMetaOptions {\n pkce?: boolean;\n oauth?: boolean;\n muteWarning?: boolean;\n state?: string;\n}\n\n// formerly known as \"Redirect OAuth Params\"\nexport interface OAuthTransactionMeta {\n issuer: string;\n redirectUri: string;\n state: string;\n nonce: string;\n responseType: string | string [];\n scopes: string[];\n clientId: string;\n urls: CustomUrls;\n ignoreSignature: boolean;\n originalUri?: string;\n}\n\nexport interface PKCETransactionMeta extends OAuthTransactionMeta {\n codeVerifier: string;\n codeChallengeMethod: string;\n codeChallenge: string;\n}\n\nexport interface IdxTransactionMeta extends PKCETransactionMeta {\n interactionHandle?: string;\n remediations?: string[];\n}\n\nexport type CustomAuthTransactionMeta = Record<string, string | undefined>;\n\nexport type TransactionMeta =\n IdxTransactionMeta |\n PKCETransactionMeta |\n OAuthTransactionMeta |\n CustomAuthTransactionMeta;\n\nfunction isObjectWithProperties(obj) {\n if (!obj || typeof obj !== 'object' || Object.values(obj).length === 0) {\n return false;\n }\n return true;\n}\n\nexport function isOAuthTransactionMeta(obj: any): obj is OAuthTransactionMeta {\n if (!isObjectWithProperties(obj)) {\n return false;\n }\n return !!obj.redirectUri || !!obj.responseType;\n}\n\nexport function isPKCETransactionMeta(obj: any): obj is PKCETransactionMeta {\n if (!isOAuthTransactionMeta(obj)) {\n return false;\n }\n return !!(obj as any).codeVerifier;\n}\n\nexport function isIdxTransactionMeta(obj: any): obj is IdxTransactionMeta {\n if (!isPKCETransactionMeta(obj)) {\n return false;\n }\n return !!(obj as any).interactionHandle;\n}\n\nexport function isCustomAuthTransactionMeta(obj: any): obj is CustomAuthTransactionMeta {\n if (!isObjectWithProperties(obj)) {\n return false;\n }\n const isAllStringValues = Object.values(obj).find((value) => (typeof value !== 'string')) === undefined;\n return isAllStringValues;\n}\n\nexport function isTransactionMeta(obj: any): obj is TransactionMeta {\n if (isOAuthTransactionMeta(obj) || isCustomAuthTransactionMeta(obj)) {\n return true;\n }\n return false;\n}\n"],"file":"Transaction.js"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
+
*
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
*
|
|
10
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
import { urlParamsToObject } from '../oidc/util/urlParams';
|
|
13
|
+
// Check if state && stateTokenExternalId have been passed back in the url
|
|
14
|
+
export function isEmailVerifyCallback(urlPath) {
|
|
15
|
+
return /(stateTokenExternalId=)/i.test(urlPath) && /(state=)/i.test(urlPath);
|
|
16
|
+
} // Parse state and stateTokenExternalId from a urlPath (should be either a search or fragment from the URL)
|
|
17
|
+
|
|
18
|
+
export function parseEmailVerifyCallback(urlPath) {
|
|
19
|
+
return urlParamsToObject(urlPath);
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=emailVerify.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/util/emailVerify.ts"],"names":["urlParamsToObject","isEmailVerifyCallback","urlPath","test","parseEmailVerifyCallback"],"mappings":"AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,iBAAT,QAAmC,wBAAnC;AAOA;AACA,OAAO,SAASC,qBAAT,CAAgCC,OAAhC,EAA0D;AAC/D,SAAO,2BAA2BC,IAA3B,CAAgCD,OAAhC,KAA4C,YAAYC,IAAZ,CAAiBD,OAAjB,CAAnD;AACD,C,CAED;;AACA,OAAO,SAASE,wBAAT,CAAkCF,OAAlC,EAAgF;AACrF,SAAOF,iBAAiB,CAACE,OAAD,CAAxB;AACD","sourcesContent":["\n/*!\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 { urlParamsToObject } from '../oidc/util/urlParams';\n\nexport interface EmailVerifyCallbackResponse {\n state: string;\n stateTokenExternalId: string;\n}\n\n// Check if state && stateTokenExternalId have been passed back in the url\nexport function isEmailVerifyCallback (urlPath: string): boolean {\n return /(stateTokenExternalId=)/i.test(urlPath) && /(state=)/i.test(urlPath);\n}\n\n// Parse state and stateTokenExternalId from a urlPath (should be either a search or fragment from the URL)\nexport function parseEmailVerifyCallback(urlPath: string): EmailVerifyCallbackResponse {\n return urlParamsToObject(urlPath) as EmailVerifyCallbackResponse;\n}\n"],"file":"emailVerify.js"}
|
package/esm/util/index.js
CHANGED
package/esm/util/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/util/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,cAAc,WAAd;AACA,cAAc,QAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd;AACA,cAAc,OAAd","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\nexport * from './console';\nexport * from './misc';\nexport * from './object';\nexport * from './types';\nexport * from './url';\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../lib/util/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,cAAc,WAAd;AACA,cAAc,eAAd;AACA,cAAc,QAAd;AACA,cAAc,UAAd;AACA,cAAc,SAAd;AACA,cAAc,OAAd","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\nexport * from './console';\nexport * from './emailVerify';\nexport * from './misc';\nexport * from './object';\nexport * from './types';\nexport * from './url';\n"],"file":"index.js"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { isTransactionMeta } from '../types';
|
|
2
|
+
var MAX_ENTRY_LIFETIME = 30 * 60 * 1000; // 30 minutes
|
|
3
|
+
|
|
4
|
+
export function pruneSharedStorage(storageManager) {
|
|
5
|
+
var sharedStorage = storageManager.getSharedTansactionStorage();
|
|
6
|
+
var entries = sharedStorage.getStorage();
|
|
7
|
+
Object.keys(entries).forEach(state => {
|
|
8
|
+
var entry = entries[state];
|
|
9
|
+
var age = Date.now() - entry.dateCreated;
|
|
10
|
+
|
|
11
|
+
if (age > MAX_ENTRY_LIFETIME) {
|
|
12
|
+
delete entries[state];
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
sharedStorage.setStorage(entries);
|
|
16
|
+
}
|
|
17
|
+
export function saveTransactionToSharedStorage(storageManager, state, meta) {
|
|
18
|
+
var sharedStorage = storageManager.getSharedTansactionStorage();
|
|
19
|
+
var entries = sharedStorage.getStorage();
|
|
20
|
+
entries[state] = {
|
|
21
|
+
dateCreated: Date.now(),
|
|
22
|
+
transaction: meta
|
|
23
|
+
};
|
|
24
|
+
sharedStorage.setStorage(entries);
|
|
25
|
+
}
|
|
26
|
+
export function loadTransactionFromSharedStorage(storageManager, state) {
|
|
27
|
+
var sharedStorage = storageManager.getSharedTansactionStorage();
|
|
28
|
+
var entries = sharedStorage.getStorage();
|
|
29
|
+
var entry = entries[state];
|
|
30
|
+
|
|
31
|
+
if (entry && entry.transaction && isTransactionMeta(entry.transaction)) {
|
|
32
|
+
return entry.transaction;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
export function clearTransactionFromSharedStorage(storageManager, state) {
|
|
38
|
+
var sharedStorage = storageManager.getSharedTansactionStorage();
|
|
39
|
+
var entries = sharedStorage.getStorage();
|
|
40
|
+
delete entries[state];
|
|
41
|
+
sharedStorage.setStorage(entries);
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=sharedStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/util/sharedStorage.ts"],"names":["isTransactionMeta","MAX_ENTRY_LIFETIME","pruneSharedStorage","storageManager","sharedStorage","getSharedTansactionStorage","entries","getStorage","Object","keys","forEach","state","entry","age","Date","now","dateCreated","setStorage","saveTransactionToSharedStorage","meta","transaction","loadTransactionFromSharedStorage","clearTransactionFromSharedStorage"],"mappings":"AAAA,SAASA,iBAAT,QAAmD,UAAnD;AAGA,IAAMC,kBAAkB,GAAG,KAAK,EAAL,GAAU,IAArC,C,CAA2C;;AAE3C,OAAO,SAASC,kBAAT,CAA4BC,cAA5B,EAA4D;AACjE,MAAMC,aAAa,GAAGD,cAAc,CAACE,0BAAf,EAAtB;AACA,MAAMC,OAAO,GAAGF,aAAa,CAACG,UAAd,EAAhB;AACAC,EAAAA,MAAM,CAACC,IAAP,CAAYH,OAAZ,EAAqBI,OAArB,CAA6BC,KAAK,IAAI;AACpC,QAAMC,KAAK,GAAGN,OAAO,CAACK,KAAD,CAArB;AACA,QAAME,GAAG,GAAGC,IAAI,CAACC,GAAL,KAAaH,KAAK,CAACI,WAA/B;;AACA,QAAIH,GAAG,GAAGZ,kBAAV,EAA8B;AAC5B,aAAOK,OAAO,CAACK,KAAD,CAAd;AACD;AACF,GAND;AAOAP,EAAAA,aAAa,CAACa,UAAd,CAAyBX,OAAzB;AACD;AAED,OAAO,SAASY,8BAAT,CAAwCf,cAAxC,EAAwEQ,KAAxE,EAAuFQ,IAAvF,EAA8G;AACnH,MAAMf,aAAa,GAAGD,cAAc,CAACE,0BAAf,EAAtB;AACA,MAAMC,OAAO,GAAGF,aAAa,CAACG,UAAd,EAAhB;AACAD,EAAAA,OAAO,CAACK,KAAD,CAAP,GAAiB;AACfK,IAAAA,WAAW,EAAEF,IAAI,CAACC,GAAL,EADE;AAEfK,IAAAA,WAAW,EAAED;AAFE,GAAjB;AAIAf,EAAAA,aAAa,CAACa,UAAd,CAAyBX,OAAzB;AACD;AAGD,OAAO,SAASe,gCAAT,CAA0ClB,cAA1C,EAA0EQ,KAA1E,EAAyF;AAC9F,MAAMP,aAAa,GAAGD,cAAc,CAACE,0BAAf,EAAtB;AACA,MAAMC,OAAO,GAAGF,aAAa,CAACG,UAAd,EAAhB;AACA,MAAMK,KAAK,GAAGN,OAAO,CAACK,KAAD,CAArB;;AACA,MAAIC,KAAK,IAAIA,KAAK,CAACQ,WAAf,IAA8BpB,iBAAiB,CAACY,KAAK,CAACQ,WAAP,CAAnD,EAAwE;AACtE,WAAOR,KAAK,CAACQ,WAAb;AACD;;AACD,SAAO,IAAP;AACD;AAED,OAAO,SAASE,iCAAT,CAA2CnB,cAA3C,EAA2EQ,KAA3E,EAA0F;AAC/F,MAAMP,aAAa,GAAGD,cAAc,CAACE,0BAAf,EAAtB;AACA,MAAMC,OAAO,GAAGF,aAAa,CAACG,UAAd,EAAhB;AACA,SAAOD,OAAO,CAACK,KAAD,CAAd;AACAP,EAAAA,aAAa,CAACa,UAAd,CAAyBX,OAAzB;AACD","sourcesContent":["import { isTransactionMeta, TransactionMeta } from '../types';\nimport StorageManager from '../StorageManager';\n\nconst MAX_ENTRY_LIFETIME = 30 * 60 * 1000; // 30 minutes\n\nexport function pruneSharedStorage(storageManager: StorageManager) {\n const sharedStorage = storageManager.getSharedTansactionStorage();\n const entries = sharedStorage.getStorage();\n Object.keys(entries).forEach(state => {\n const entry = entries[state];\n const age = Date.now() - entry.dateCreated;\n if (age > MAX_ENTRY_LIFETIME) {\n delete entries[state];\n }\n });\n sharedStorage.setStorage(entries);\n}\n\nexport function saveTransactionToSharedStorage(storageManager: StorageManager, state: string, meta: TransactionMeta) {\n const sharedStorage = storageManager.getSharedTansactionStorage();\n const entries = sharedStorage.getStorage();\n entries[state] = {\n dateCreated: Date.now(),\n transaction: meta\n };\n sharedStorage.setStorage(entries);\n}\n\n\nexport function loadTransactionFromSharedStorage(storageManager: StorageManager, state: string) {\n const sharedStorage = storageManager.getSharedTansactionStorage();\n const entries = sharedStorage.getStorage();\n const entry = entries[state];\n if (entry && entry.transaction && isTransactionMeta(entry.transaction)) {\n return entry.transaction;\n }\n return null;\n}\n\nexport function clearTransactionFromSharedStorage(storageManager: StorageManager, state: string) {\n const sharedStorage = storageManager.getSharedTansactionStorage();\n const entries = sharedStorage.getStorage();\n delete entries[state];\n sharedStorage.setStorage(entries);\n}\n"],"file":"sharedStorage.js"}
|
|
@@ -19,12 +19,14 @@ export declare class AuthStateManager {
|
|
|
19
19
|
updateAuthStatePromise: typeof PCancelable;
|
|
20
20
|
canceledTimes: number;
|
|
21
21
|
};
|
|
22
|
-
_authState: AuthState;
|
|
22
|
+
_authState: AuthState | null;
|
|
23
|
+
_prevAuthState: AuthState | null;
|
|
23
24
|
_logOptions: AuthStateLogOptions;
|
|
24
25
|
_lastEventTimestamp: number;
|
|
25
26
|
constructor(sdk: OktaAuth);
|
|
26
27
|
_setLogOptions(options: any): void;
|
|
27
|
-
getAuthState(): AuthState;
|
|
28
|
+
getAuthState(): AuthState | null;
|
|
29
|
+
getPreviousAuthState(): AuthState | null;
|
|
28
30
|
updateAuthState(): Promise<AuthState>;
|
|
29
31
|
subscribe(handler: any): void;
|
|
30
32
|
unsubscribe(handler?: any): void;
|
package/lib/OktaAuth.d.ts
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { OktaAuth as SDKInterface, OktaAuthOptions, AccessToken, RefreshToken, TokenAPI, FeaturesAPI, SignoutAPI, FingerprintAPI, UserClaims, SigninWithRedirectOptions, SigninWithCredentialsOptions, SignoutOptions, Tokens, ForgotPasswordOptions, VerifyRecoveryTokenOptions, TransactionAPI, SessionAPI, SigninAPI, PkceAPI, SigninOptions, IdxAPI, SignoutRedirectUrlOptions, HttpAPI } from './types';
|
|
13
13
|
import { AuthTransaction } from './tx';
|
|
14
|
+
import { EmailVerifyCallbackResponse } from './util';
|
|
14
15
|
import { TokenManager } from './TokenManager';
|
|
15
16
|
import PromiseQueue from './PromiseQueue';
|
|
16
17
|
import { AuthStateManager } from './AuthStateManager';
|
|
@@ -43,8 +44,11 @@ declare class OktaAuth implements SDKInterface, SigninAPI, SignoutAPI {
|
|
|
43
44
|
constructor(args: OktaAuthOptions);
|
|
44
45
|
start(): void;
|
|
45
46
|
stop(): void;
|
|
46
|
-
|
|
47
|
+
setHeaders(headers: any): void;
|
|
48
|
+
isInteractionRequired(hashOrSearch?: string): boolean;
|
|
47
49
|
isInteractionRequiredError(error: Error): boolean;
|
|
50
|
+
isEmailVerifyCallback(urlPath: string): boolean;
|
|
51
|
+
parseEmailVerifyCallback(urlPath: string): EmailVerifyCallbackResponse;
|
|
48
52
|
signIn(opts: SigninOptions): Promise<AuthTransaction>;
|
|
49
53
|
signInWithCredentials(opts: SigninWithCredentialsOptions): Promise<AuthTransaction>;
|
|
50
54
|
signInWithRedirect(opts?: SigninWithRedirectOptions): Promise<void>;
|
|
@@ -63,11 +67,11 @@ declare class OktaAuth implements SDKInterface, SigninAPI, SignoutAPI {
|
|
|
63
67
|
* Store parsed tokens from redirect url
|
|
64
68
|
*/
|
|
65
69
|
storeTokensFromRedirect(): Promise<void>;
|
|
66
|
-
setOriginalUri(originalUri: string): void;
|
|
67
|
-
getOriginalUri(): string;
|
|
68
|
-
removeOriginalUri(): void;
|
|
70
|
+
setOriginalUri(originalUri: string, state?: string): void;
|
|
71
|
+
getOriginalUri(state?: string): string;
|
|
72
|
+
removeOriginalUri(state?: string): void;
|
|
69
73
|
isLoginRedirect(): boolean;
|
|
70
|
-
handleLoginRedirect(tokens?: Tokens): Promise<void>;
|
|
74
|
+
handleLoginRedirect(tokens?: Tokens, originalUri?: string): Promise<void>;
|
|
71
75
|
isPKCE(): boolean;
|
|
72
76
|
hasResponseType(responseType: string): boolean;
|
|
73
77
|
isAuthorizationCodeFlow(): boolean;
|
package/lib/StorageManager.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export default class StorageManager {
|
|
|
18
18
|
getOptionsForSection(sectionName: string, overrideOptions?: StorageOptions): StorageOptions;
|
|
19
19
|
getStorage(options: StorageOptions): SimpleStorage;
|
|
20
20
|
getTransactionStorage(options?: StorageOptions): TransactionStorage;
|
|
21
|
+
getSharedTansactionStorage(options?: StorageOptions): TransactionStorage;
|
|
22
|
+
getOriginalUriStorage(options?: StorageOptions): TransactionStorage;
|
|
21
23
|
getIdxResponseStorage(options?: StorageOptions): IdxResponseStorage;
|
|
22
24
|
getTokenStorage(options?: StorageOptions): StorageProvider;
|
|
23
25
|
getHttpCache(options?: StorageOptions): StorageProvider;
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
import StorageManager from './StorageManager';
|
|
13
13
|
import { TransactionMeta, PKCETransactionMeta, OAuthTransactionMeta, TransactionMetaOptions, TransactionManagerOptions } from './types';
|
|
14
14
|
import { RawIdxResponse } from './idx/types/idx-js';
|
|
15
|
+
export interface ClearTransactionMetaOptions extends TransactionMetaOptions {
|
|
16
|
+
clearSharedStorage?: boolean;
|
|
17
|
+
}
|
|
15
18
|
export default class TransactionManager {
|
|
16
19
|
options: TransactionManagerOptions;
|
|
17
20
|
storageManager: StorageManager;
|
|
@@ -19,8 +22,9 @@ export default class TransactionManager {
|
|
|
19
22
|
saveNonceCookie: boolean;
|
|
20
23
|
saveStateCookie: boolean;
|
|
21
24
|
saveParamsCookie: boolean;
|
|
25
|
+
enableSharedStorage: boolean;
|
|
22
26
|
constructor(options: TransactionManagerOptions);
|
|
23
|
-
clear(options?:
|
|
27
|
+
clear(options?: ClearTransactionMetaOptions): void;
|
|
24
28
|
save(meta: TransactionMeta, options?: TransactionMetaOptions): void;
|
|
25
29
|
exists(options?: TransactionMetaOptions): boolean;
|
|
26
30
|
load(options?: TransactionMetaOptions): TransactionMeta;
|
package/lib/constants.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export declare const TOKEN_STORAGE_NAME = "okta-token-storage";
|
|
|
20
20
|
export declare const CACHE_STORAGE_NAME = "okta-cache-storage";
|
|
21
21
|
export declare const PKCE_STORAGE_NAME = "okta-pkce-storage";
|
|
22
22
|
export declare const TRANSACTION_STORAGE_NAME = "okta-transaction-storage";
|
|
23
|
+
export declare const SHARED_TRANSACTION_STORAGE_NAME = "okta-shared-transaction-storage";
|
|
24
|
+
export declare const ORIGINAL_URI_STORAGE_NAME = "okta-original-uri-storage";
|
|
23
25
|
export declare const IDX_RESPONSE_STORAGE_NAME = "okta-idx-response-storage";
|
|
24
26
|
export declare const ACCESS_TOKEN_STORAGE_KEY = "accessToken";
|
|
25
27
|
export declare const ID_TOKEN_STORAGE_KEY = "idToken";
|
package/lib/crypto/base64.d.ts
CHANGED
|
@@ -12,6 +12,6 @@
|
|
|
12
12
|
export declare function stringToBase64Url(str: any): any;
|
|
13
13
|
export declare function base64ToBase64Url(b64: any): any;
|
|
14
14
|
export declare function base64UrlToBase64(b64u: any): any;
|
|
15
|
-
export declare function base64UrlToString(b64u: any):
|
|
15
|
+
export declare function base64UrlToString(b64u: any): any;
|
|
16
16
|
export declare function stringToBuffer(str: any): Uint8Array;
|
|
17
|
-
export declare function base64UrlDecode(str: any):
|
|
17
|
+
export declare function base64UrlDecode(str: any): any;
|
package/lib/crypto/oidcHash.d.ts
CHANGED
package/lib/idx/introspect.d.ts
CHANGED
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
import { OktaAuth } from '../types';
|
|
13
13
|
import { IdxResponse } from './types/idx-js';
|
|
14
14
|
export interface IntrospectOptions {
|
|
15
|
-
interactionHandle
|
|
15
|
+
interactionHandle?: string;
|
|
16
16
|
stateHandle?: string;
|
|
17
|
+
stateTokenExternalId?: string;
|
|
17
18
|
}
|
|
18
19
|
export declare function introspect(authClient: OktaAuth, options: IntrospectOptions): Promise<IdxResponse>;
|
|
@@ -24,13 +24,10 @@ export declare class AuthenticatorData extends Remediator {
|
|
|
24
24
|
getNextStep(): {
|
|
25
25
|
options: IdxOption[];
|
|
26
26
|
name: string;
|
|
27
|
-
|
|
27
|
+
authenticator?: import("../../types/idx-js").IdxAuthenticator;
|
|
28
28
|
canSkip?: boolean;
|
|
29
29
|
canResend?: boolean;
|
|
30
|
-
inputs?:
|
|
31
|
-
name: string;
|
|
32
|
-
required?: boolean;
|
|
33
|
-
}[];
|
|
30
|
+
inputs?: import("../../types").Input[];
|
|
34
31
|
};
|
|
35
32
|
protected getAuthenticatorFromValues(): Authenticator;
|
|
36
33
|
protected mapAuthenticatorFromValues(authenticator?: Authenticator): Authenticator;
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
12
|
import { NextStep, IdxMessage, Authenticator } from '../../types';
|
|
13
|
-
import { IdxRemediation } from '../../types/idx-js';
|
|
13
|
+
import { IdxAuthenticator, IdxRemediation } from '../../types/idx-js';
|
|
14
14
|
export declare type IdxToRemediationValueMap = Record<string, string[]>;
|
|
15
15
|
export interface RemediationValues {
|
|
16
16
|
stateHandle?: string;
|
|
@@ -29,9 +29,6 @@ export declare class Remediator {
|
|
|
29
29
|
getNextStep(): NextStep;
|
|
30
30
|
private getInputs;
|
|
31
31
|
getMessages(): IdxMessage[] | undefined;
|
|
32
|
-
getValuesAfterProceed():
|
|
33
|
-
|
|
34
|
-
stateHandle?: string;
|
|
35
|
-
};
|
|
36
|
-
protected getRelatesToType(): string;
|
|
32
|
+
getValuesAfterProceed(): unknown;
|
|
33
|
+
protected getAuthenticator(): IdxAuthenticator | undefined;
|
|
37
34
|
}
|
|
@@ -28,19 +28,16 @@ export declare class SelectAuthenticator extends Remediator {
|
|
|
28
28
|
value: string;
|
|
29
29
|
}[];
|
|
30
30
|
name: string;
|
|
31
|
-
|
|
31
|
+
authenticator?: import("../../types/idx-js").IdxAuthenticator;
|
|
32
32
|
canSkip?: boolean;
|
|
33
33
|
canResend?: boolean;
|
|
34
|
-
inputs?:
|
|
35
|
-
name: string;
|
|
36
|
-
required?: boolean;
|
|
37
|
-
}[];
|
|
34
|
+
inputs?: import("../../types").Input[];
|
|
38
35
|
};
|
|
39
36
|
mapAuthenticator(remediationValue: IdxRemediationValue): {
|
|
40
37
|
id: any;
|
|
41
38
|
};
|
|
42
39
|
getInputAuthenticator(): {
|
|
43
40
|
name: string;
|
|
44
|
-
|
|
41
|
+
key: string;
|
|
45
42
|
};
|
|
46
43
|
}
|
|
@@ -15,7 +15,6 @@ export interface VerifyAuthenticatorValues extends RemediationValues {
|
|
|
15
15
|
password?: string;
|
|
16
16
|
}
|
|
17
17
|
export declare class VerifyAuthenticator extends Remediator {
|
|
18
|
-
static remediationName: string;
|
|
19
18
|
values: VerifyAuthenticatorValues;
|
|
20
19
|
map: {
|
|
21
20
|
credentials: any[];
|
|
@@ -25,4 +24,5 @@ export declare class VerifyAuthenticator extends Remediator {
|
|
|
25
24
|
passcode: string;
|
|
26
25
|
};
|
|
27
26
|
getInputCredentials(input: any): any;
|
|
27
|
+
getValuesAfterProceed(): VerifyAuthenticatorValues;
|
|
28
28
|
}
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
12
|
import { Remediator, RemediationValues } from './Base/Remediator';
|
|
13
|
-
import { Authenticator } from '../types';
|
|
14
13
|
import { IdxRemediation } from '../types/idx-js';
|
|
15
14
|
export interface IdentifyValues extends RemediationValues {
|
|
16
15
|
username?: string;
|
|
@@ -29,8 +28,5 @@ export declare class Identify extends Remediator {
|
|
|
29
28
|
passcode: string;
|
|
30
29
|
};
|
|
31
30
|
getInputCredentials(input: any): any;
|
|
32
|
-
getValuesAfterProceed():
|
|
33
|
-
authenticators: Authenticator[];
|
|
34
|
-
stateHandle?: string;
|
|
35
|
-
};
|
|
31
|
+
getValuesAfterProceed(): unknown;
|
|
36
32
|
}
|
package/lib/idx/run.d.ts
CHANGED
|
@@ -9,10 +9,11 @@
|
|
|
9
9
|
*
|
|
10
10
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
11
|
*/
|
|
12
|
-
import { OktaAuth, IdxTransactionMeta } from '../types';
|
|
12
|
+
import { OktaAuth, IdxTransactionMeta, TransactionMetaOptions } from '../types';
|
|
13
13
|
export declare function createTransactionMeta(authClient: OktaAuth): Promise<import("../types").TokenParams>;
|
|
14
|
-
export declare function transactionMetaExist(authClient: OktaAuth): boolean;
|
|
15
|
-
export declare function
|
|
14
|
+
export declare function transactionMetaExist(authClient: OktaAuth, options?: TransactionMetaOptions): boolean;
|
|
15
|
+
export declare function getSavedTransactionMeta(authClient: OktaAuth, options?: TransactionMetaOptions): IdxTransactionMeta;
|
|
16
|
+
export declare function getTransactionMeta(authClient: OktaAuth, options?: TransactionMetaOptions): Promise<IdxTransactionMeta>;
|
|
16
17
|
export declare function saveTransactionMeta(authClient: OktaAuth, meta: any): void;
|
|
17
18
|
export declare function clearTransactionMeta(authClient: OktaAuth): void;
|
|
18
19
|
export declare function isTransactionMetaValid(authClient: OktaAuth, meta: any): boolean;
|
|
@@ -22,6 +22,7 @@ export interface IdxAuthenticator {
|
|
|
22
22
|
complexity?: unknown;
|
|
23
23
|
age?: unknown;
|
|
24
24
|
};
|
|
25
|
+
contextualData?: unknown;
|
|
25
26
|
}
|
|
26
27
|
export interface IdxForm {
|
|
27
28
|
value: IdxRemediationValue[];
|
|
@@ -100,3 +101,4 @@ export interface IdxResponse {
|
|
|
100
101
|
interactionHandle?: string;
|
|
101
102
|
};
|
|
102
103
|
}
|
|
104
|
+
export declare function isIdxResponse(obj: any): obj is IdxResponse;
|
package/lib/idx/types/index.d.ts
CHANGED
|
@@ -12,26 +12,36 @@
|
|
|
12
12
|
import { InteractOptions } from '../interact';
|
|
13
13
|
import { APIError, Tokens } from '../../types';
|
|
14
14
|
import { IdxTransactionMeta } from '../../types/Transaction';
|
|
15
|
-
import { IdxMessage, IdxOption } from './idx-js';
|
|
15
|
+
import { IdxAuthenticator, IdxMessage, IdxOption, IdxResponse } from './idx-js';
|
|
16
16
|
export { IdxMessage } from './idx-js';
|
|
17
17
|
export { AuthenticationOptions } from '../authenticate';
|
|
18
18
|
export { RegistrationOptions } from '../register';
|
|
19
19
|
export { PasswordRecoveryOptions } from '../recoverPassword';
|
|
20
20
|
export { CancelOptions } from '../cancel';
|
|
21
21
|
export declare enum IdxStatus {
|
|
22
|
-
SUCCESS =
|
|
23
|
-
PENDING =
|
|
24
|
-
FAILURE =
|
|
25
|
-
TERMINAL =
|
|
26
|
-
CANCELED =
|
|
22
|
+
SUCCESS = "SUCCESS",
|
|
23
|
+
PENDING = "PENDING",
|
|
24
|
+
FAILURE = "FAILURE",
|
|
25
|
+
TERMINAL = "TERMINAL",
|
|
26
|
+
CANCELED = "CANCELED"
|
|
27
27
|
}
|
|
28
|
-
declare
|
|
28
|
+
export declare enum AuthenticatorKey {
|
|
29
|
+
OKTA_PASSWORD = "okta_password",
|
|
30
|
+
OKTA_EMAIL = "okta_email",
|
|
31
|
+
OKTA_VERIFIER = "okta_verifier",
|
|
32
|
+
PHONE_NUMBER = "phone_number",
|
|
33
|
+
GOOGLE_AUTHENTICATOR = "google_otp"
|
|
34
|
+
}
|
|
35
|
+
export declare type Input = {
|
|
29
36
|
name: string;
|
|
37
|
+
label?: string;
|
|
38
|
+
value?: string;
|
|
39
|
+
secret?: boolean;
|
|
30
40
|
required?: boolean;
|
|
31
41
|
};
|
|
32
42
|
export declare type NextStep = {
|
|
33
43
|
name: string;
|
|
34
|
-
|
|
44
|
+
authenticator?: IdxAuthenticator;
|
|
35
45
|
canSkip?: boolean;
|
|
36
46
|
canResend?: boolean;
|
|
37
47
|
inputs?: Input[];
|
|
@@ -51,10 +61,11 @@ export interface IdxTransaction {
|
|
|
51
61
|
meta?: IdxTransactionMeta;
|
|
52
62
|
enabledFeatures?: IdxFeature[];
|
|
53
63
|
availableSteps?: NextStep[];
|
|
64
|
+
_idxResponse?: IdxResponse;
|
|
54
65
|
}
|
|
55
66
|
export declare type IdxOptions = InteractOptions;
|
|
56
67
|
export declare type Authenticator = {
|
|
57
|
-
|
|
68
|
+
key: string;
|
|
58
69
|
methodType?: string;
|
|
59
70
|
phoneNumber?: string;
|
|
60
71
|
};
|
package/lib/oidc/getToken.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { OktaAuth, TokenParams } from '../types';
|
|
2
|
-
export declare function getToken(sdk: OktaAuth, options: TokenParams): Promise<import("../types").TokenResponse>;
|
|
1
|
+
import { OktaAuth, TokenParams, PopupParams } from '../types';
|
|
2
|
+
export declare function getToken(sdk: OktaAuth, options: TokenParams & PopupParams): Promise<import("../types").TokenResponse>;
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
-
import { ParseFromUrlOptions, TokenResponse } from '../types';
|
|
1
|
+
import { ParseFromUrlOptions, TokenResponse, OAuthResponse } from '../types';
|
|
2
|
+
export declare function getResponseMode(sdk: any): 'query' | 'fragment';
|
|
3
|
+
export declare function parseOAuthResponseFromUrl(sdk: any, options: string | ParseFromUrlOptions): OAuthResponse;
|
|
4
|
+
export declare function cleanOAuthResponseFromUrl(sdk: any, options: ParseFromUrlOptions): void;
|
|
2
5
|
export declare function parseFromUrl(sdk: any, options: string | ParseFromUrlOptions): Promise<TokenResponse>;
|
|
@@ -1,14 +1,2 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
-
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
-
*
|
|
5
|
-
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
-
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
-
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
-
*
|
|
10
|
-
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
-
*
|
|
12
|
-
*/
|
|
13
1
|
import { TokenParams, Tokens } from '../types';
|
|
14
2
|
export declare function renewTokens(sdk: any, options: TokenParams): Promise<Tokens>;
|
|
@@ -27,4 +27,4 @@ export declare function isLoginRedirect(sdk: OktaAuth): boolean;
|
|
|
27
27
|
* Check if error=interaction_required has been passed back in the url, which happens in
|
|
28
28
|
* the social auth IDP redirect flow.
|
|
29
29
|
*/
|
|
30
|
-
export declare function isInteractionRequired(sdk: OktaAuth): boolean;
|
|
30
|
+
export declare function isInteractionRequired(sdk: OktaAuth, hashOrSearch?: string): boolean;
|