@okta/okta-auth-js 5.11.0 → 6.2.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 +74 -0
- package/README.md +63 -29
- package/cjs/AuthStateManager.js +15 -6
- package/cjs/AuthStateManager.js.map +1 -1
- package/cjs/OktaAuth.js +168 -108
- package/cjs/OktaAuth.js.map +1 -1
- package/cjs/OktaUserAgent.js +2 -2
- package/cjs/OktaUserAgent.js.map +1 -1
- package/cjs/PromiseQueue.js +11 -2
- package/cjs/PromiseQueue.js.map +1 -1
- package/cjs/SavedObject.js +4 -2
- package/cjs/SavedObject.js.map +1 -1
- package/cjs/ServiceManager.js +195 -0
- package/cjs/ServiceManager.js.map +1 -0
- package/cjs/StorageManager.js +16 -9
- package/cjs/StorageManager.js.map +1 -1
- package/cjs/TokenManager.js +42 -34
- package/cjs/TokenManager.js.map +1 -1
- package/cjs/TransactionManager.js +26 -7
- package/cjs/TransactionManager.js.map +1 -1
- package/cjs/browser/browserStorage.js +36 -20
- package/cjs/browser/browserStorage.js.map +1 -1
- package/cjs/browser/fingerprint.js +12 -4
- package/cjs/browser/fingerprint.js.map +1 -1
- package/cjs/builderUtil.js +7 -19
- package/cjs/builderUtil.js.map +1 -1
- package/cjs/clock.js +5 -1
- package/cjs/clock.js.map +1 -1
- package/cjs/crypto/base64.js +18 -0
- package/cjs/crypto/base64.js.map +1 -1
- package/cjs/crypto/index.js +6 -4
- package/cjs/crypto/index.js.map +1 -1
- package/cjs/crypto/node.js +19 -13
- package/cjs/crypto/node.js.map +1 -1
- package/cjs/crypto/oidcHash.js +5 -1
- package/cjs/crypto/oidcHash.js.map +1 -1
- package/cjs/crypto/webauthn.js +101 -0
- package/cjs/crypto/webauthn.js.map +1 -0
- package/cjs/crypto/webcrypto.js +3 -1
- package/cjs/crypto/webcrypto.js.map +1 -1
- package/cjs/errors/AuthApiError.js +1 -1
- package/cjs/errors/AuthPollStopError.js +1 -1
- package/cjs/errors/AuthSdkError.js +1 -1
- package/cjs/errors/CustomError.js +5 -1
- package/cjs/errors/CustomError.js.map +1 -1
- package/cjs/errors/OAuthError.js +1 -1
- package/cjs/errors/index.js +1 -1
- package/cjs/features.js +9 -3
- package/cjs/features.js.map +1 -1
- package/cjs/fetch/fetchRequest.js +19 -6
- package/cjs/fetch/fetchRequest.js.map +1 -1
- package/cjs/http/headers.js.map +1 -1
- package/cjs/http/index.js +4 -2
- package/cjs/http/index.js.map +1 -1
- package/cjs/http/request.js +11 -5
- package/cjs/http/request.js.map +1 -1
- package/cjs/idx/authenticate.js +8 -5
- package/cjs/idx/authenticate.js.map +1 -1
- package/cjs/idx/authenticator/Authenticator.js.map +1 -1
- package/cjs/idx/authenticator/OktaPassword.js.map +1 -1
- package/cjs/idx/authenticator/SecurityQuestionEnrollment.js +1 -1
- package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -1
- package/cjs/idx/authenticator/SecurityQuestionVerification.js +2 -1
- package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -1
- package/cjs/idx/authenticator/VerificationCodeAuthenticator.js +2 -2
- package/cjs/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -1
- package/cjs/idx/authenticator/WebauthnEnrollment.js +46 -0
- package/cjs/idx/authenticator/WebauthnEnrollment.js.map +1 -0
- package/cjs/idx/authenticator/WebauthnVerification.js +55 -0
- package/cjs/idx/authenticator/WebauthnVerification.js.map +1 -0
- package/cjs/idx/authenticator/getAuthenticator.js +17 -6
- package/cjs/idx/authenticator/getAuthenticator.js.map +1 -1
- package/cjs/idx/authenticator/index.js +34 -6
- package/cjs/idx/authenticator/index.js.map +1 -1
- package/cjs/idx/cancel.js.map +1 -1
- package/cjs/idx/emailVerify.js +73 -0
- package/cjs/idx/emailVerify.js.map +1 -0
- package/cjs/idx/flow/AccountUnlockFlow.js +30 -0
- package/cjs/idx/flow/AccountUnlockFlow.js.map +1 -0
- package/cjs/idx/flow/FlowSpecification.js +24 -4
- package/cjs/idx/flow/FlowSpecification.js.map +1 -1
- package/cjs/idx/flow/PasswordRecoveryFlow.js +4 -1
- package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -1
- package/cjs/idx/flow/RegistrationFlow.js +2 -0
- package/cjs/idx/flow/RegistrationFlow.js.map +1 -1
- package/cjs/idx/flow/index.js +20 -5
- package/cjs/idx/flow/index.js.map +1 -1
- package/cjs/idx/handleInteractionCodeRedirect.js +6 -1
- package/cjs/idx/handleInteractionCodeRedirect.js.map +1 -1
- package/cjs/idx/headers.js +21 -5
- package/cjs/idx/headers.js.map +1 -1
- package/cjs/idx/idx-js/client.js +91 -0
- package/cjs/idx/idx-js/client.js.map +1 -0
- package/cjs/idx/idx-js/index.js +162 -0
- package/cjs/idx/idx-js/index.js.map +1 -0
- package/cjs/idx/idx-js/interact.js +83 -0
- package/cjs/idx/idx-js/interact.js.map +1 -0
- package/cjs/idx/idx-js/introspect.js +58 -0
- package/cjs/idx/idx-js/introspect.js.map +1 -0
- package/cjs/idx/idx-js/parsers.js +41 -0
- package/cjs/idx/idx-js/parsers.js.map +1 -0
- package/cjs/idx/idx-js/util.js +34 -0
- package/cjs/idx/idx-js/util.js.map +1 -0
- package/cjs/idx/idx-js/v1/actionParser.js +90 -0
- package/cjs/idx/idx-js/v1/actionParser.js.map +1 -0
- package/cjs/idx/idx-js/v1/generateIdxAction.js +117 -0
- package/cjs/idx/idx-js/v1/generateIdxAction.js.map +1 -0
- package/cjs/idx/idx-js/v1/idxResponseParser.js +137 -0
- package/cjs/idx/idx-js/v1/idxResponseParser.js.map +1 -0
- package/cjs/idx/idx-js/v1/makeIdxState.js +64 -0
- package/cjs/idx/idx-js/v1/makeIdxState.js.map +1 -0
- package/cjs/idx/idx-js/v1/parsers.js +24 -0
- package/cjs/idx/idx-js/v1/parsers.js.map +1 -0
- package/cjs/idx/idx-js/v1/remediationParser.js +32 -0
- package/cjs/idx/idx-js/v1/remediationParser.js.map +1 -0
- package/cjs/idx/index.js +121 -109
- package/cjs/idx/index.js.map +1 -1
- package/cjs/idx/interact.js +53 -36
- package/cjs/idx/interact.js.map +1 -1
- package/cjs/idx/introspect.js +17 -19
- package/cjs/idx/introspect.js.map +1 -1
- package/cjs/idx/poll.js +13 -3
- package/cjs/idx/poll.js.map +1 -1
- package/cjs/idx/proceed.js +4 -7
- package/cjs/idx/proceed.js.map +1 -1
- package/cjs/idx/recoverPassword.js +1 -1
- package/cjs/idx/recoverPassword.js.map +1 -1
- package/cjs/idx/register.js +11 -16
- package/cjs/idx/register.js.map +1 -1
- package/cjs/idx/remediate.js +74 -27
- package/cjs/idx/remediate.js.map +1 -1
- package/cjs/idx/remediators/AuthenticatorEnrollmentData.js +12 -4
- package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
- package/cjs/idx/remediators/AuthenticatorVerificationData.js +52 -9
- package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
- package/cjs/idx/remediators/Base/AuthenticatorData.js +31 -13
- package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
- package/cjs/idx/remediators/Base/Remediator.js +67 -31
- package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
- package/cjs/idx/remediators/Base/SelectAuthenticator.js +46 -30
- package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/Base/VerifyAuthenticator.js +16 -4
- package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/ChallengeAuthenticator.js +2 -2
- package/cjs/idx/remediators/ChallengeAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/ChallengePoll.js +2 -2
- package/cjs/idx/remediators/EnrollAuthenticator.js +2 -2
- package/cjs/idx/remediators/EnrollAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/EnrollPoll.js +18 -9
- package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
- package/cjs/idx/remediators/EnrollProfile.js +24 -9
- package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
- package/cjs/idx/remediators/EnrollmentChannelData.js +96 -0
- package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -0
- package/cjs/idx/remediators/Identify.js +5 -3
- package/cjs/idx/remediators/Identify.js.map +1 -1
- package/cjs/idx/remediators/ReEnrollAuthenticator.js +6 -3
- package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/RedirectIdp.js +2 -2
- package/cjs/idx/remediators/ResetAuthenticator.js +2 -2
- package/cjs/idx/remediators/ResetAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js +7 -5
- package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
- package/cjs/idx/remediators/SelectAuthenticatorEnroll.js +2 -2
- package/cjs/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -1
- package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js +72 -0
- package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -0
- package/cjs/idx/remediators/SelectEnrollProfile.js +2 -2
- package/cjs/idx/remediators/SelectEnrollProfile.js.map +1 -1
- package/cjs/idx/remediators/SelectEnrollmentChannel.js +86 -0
- package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -0
- package/cjs/idx/remediators/Skip.js +5 -3
- package/cjs/idx/remediators/Skip.js.map +1 -1
- package/cjs/idx/remediators/index.js +57 -16
- package/cjs/idx/remediators/index.js.map +1 -1
- package/cjs/idx/remediators/util.js +18 -3
- package/cjs/idx/remediators/util.js.map +1 -1
- package/cjs/idx/run.js +145 -49
- package/cjs/idx/run.js.map +1 -1
- package/cjs/idx/startTransaction.js +4 -2
- package/cjs/idx/startTransaction.js.map +1 -1
- package/cjs/idx/transactionMeta.js +82 -69
- package/cjs/idx/transactionMeta.js.map +1 -1
- package/cjs/idx/types/idx-js.js.map +1 -1
- package/cjs/idx/types/index.js +59 -7
- package/cjs/idx/types/index.js.map +1 -1
- package/cjs/idx/unlockAccount.js +48 -0
- package/cjs/idx/unlockAccount.js.map +1 -0
- package/cjs/index.js +33 -13
- package/cjs/index.js.map +1 -1
- package/cjs/oidc/endpoints/authorize.js +10 -2
- package/cjs/oidc/endpoints/authorize.js.map +1 -1
- package/cjs/oidc/endpoints/index.js +5 -3
- package/cjs/oidc/endpoints/index.js.map +1 -1
- package/cjs/oidc/endpoints/token.js +16 -3
- package/cjs/oidc/endpoints/token.js.map +1 -1
- package/cjs/oidc/endpoints/well-known.js +7 -3
- package/cjs/oidc/endpoints/well-known.js.map +1 -1
- package/cjs/oidc/exchangeCodeForTokens.js +12 -4
- package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
- package/cjs/oidc/getToken.js +12 -6
- package/cjs/oidc/getToken.js.map +1 -1
- package/cjs/oidc/getUserInfo.js +7 -3
- package/cjs/oidc/getUserInfo.js.map +1 -1
- package/cjs/oidc/getWithPopup.js +8 -2
- package/cjs/oidc/getWithPopup.js.map +1 -1
- package/cjs/oidc/getWithRedirect.js +15 -38
- package/cjs/oidc/getWithRedirect.js.map +1 -1
- package/cjs/oidc/getWithoutPrompt.js +8 -2
- package/cjs/oidc/getWithoutPrompt.js.map +1 -1
- package/cjs/oidc/handleOAuthResponse.js +87 -87
- package/cjs/oidc/handleOAuthResponse.js.map +1 -1
- package/cjs/oidc/index.js +4 -2
- package/cjs/oidc/index.js.map +1 -1
- package/cjs/oidc/parseFromUrl.js +9 -3
- package/cjs/oidc/parseFromUrl.js.map +1 -1
- package/cjs/oidc/renewToken.js.map +1 -1
- package/cjs/oidc/renewTokens.js +6 -2
- package/cjs/oidc/renewTokens.js.map +1 -1
- package/cjs/oidc/renewTokensWithRefresh.js +5 -1
- package/cjs/oidc/renewTokensWithRefresh.js.map +1 -1
- package/cjs/oidc/revokeToken.js +34 -31
- package/cjs/oidc/revokeToken.js.map +1 -1
- package/cjs/oidc/util/browser.js +5 -1
- package/cjs/oidc/util/browser.js.map +1 -1
- package/cjs/oidc/util/defaultTokenParams.js.map +1 -1
- package/cjs/oidc/util/errors.js.map +1 -1
- package/cjs/oidc/util/index.js +27 -11
- package/cjs/oidc/util/index.js.map +1 -1
- package/cjs/oidc/util/loginRedirect.js +10 -1
- package/cjs/oidc/util/loginRedirect.js.map +1 -1
- package/cjs/oidc/util/oauth.js +4 -2
- package/cjs/oidc/util/oauth.js.map +1 -1
- package/cjs/oidc/util/oauthMeta.js +36 -0
- package/cjs/oidc/util/oauthMeta.js.map +1 -0
- package/cjs/oidc/util/pkce.js +11 -3
- package/cjs/oidc/util/pkce.js.map +1 -1
- package/cjs/oidc/util/prepareTokenParams.js +62 -39
- package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
- package/cjs/oidc/util/validateClaims.js +3 -1
- package/cjs/oidc/util/validateClaims.js.map +1 -1
- package/cjs/oidc/verifyToken.js +13 -4
- package/cjs/oidc/verifyToken.js.map +1 -1
- package/cjs/options/browser.js +81 -0
- package/cjs/options/browser.js.map +1 -0
- package/cjs/options/index.js +94 -0
- package/cjs/options/index.js.map +1 -0
- package/cjs/options/node.js +46 -0
- package/cjs/options/node.js.map +1 -0
- package/cjs/server/serverStorage.js +9 -5
- package/cjs/server/serverStorage.js.map +1 -1
- package/cjs/services/AutoRenewService.js +94 -0
- package/cjs/services/AutoRenewService.js.map +1 -0
- package/cjs/services/SyncStorageService.js +93 -0
- package/cjs/services/SyncStorageService.js.map +1 -0
- package/cjs/services/index.js +30 -0
- package/cjs/services/index.js.map +1 -0
- package/cjs/tx/AuthTransaction.js +18 -9
- package/cjs/tx/AuthTransaction.js.map +1 -1
- package/cjs/tx/TransactionState.js +0 -17
- package/cjs/tx/TransactionState.js.map +1 -1
- package/cjs/tx/api.js +11 -6
- package/cjs/tx/api.js.map +1 -1
- package/cjs/tx/index.js +7 -5
- package/cjs/tx/index.js.map +1 -1
- package/cjs/tx/poll.js +6 -4
- package/cjs/tx/poll.js.map +1 -1
- package/cjs/tx/util.js +5 -1
- package/cjs/tx/util.js.map +1 -1
- package/cjs/types/Service.js +2 -0
- package/cjs/types/Service.js.map +1 -0
- package/cjs/types/Transaction.js +10 -2
- package/cjs/types/Transaction.js.map +1 -1
- package/cjs/types/index.js +29 -14
- package/cjs/types/index.js.map +1 -1
- package/cjs/util/index.js +7 -18
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/misc.js +5 -1
- package/cjs/util/misc.js.map +1 -1
- package/cjs/util/object.js +16 -6
- package/cjs/util/object.js.map +1 -1
- package/cjs/util/sharedStorage.js +5 -1
- package/cjs/util/sharedStorage.js.map +1 -1
- package/cjs/util/url.js.map +1 -1
- package/dist/okta-auth-js.min.js +1 -1
- package/dist/okta-auth-js.min.js.LICENSE.txt +0 -20
- package/dist/okta-auth-js.min.js.map +1 -1
- package/dist/okta-auth-js.polyfill.js +1 -1
- package/dist/okta-auth-js.polyfill.js.map +1 -1
- package/dist/okta-auth-js.umd.js +1 -1
- package/dist/okta-auth-js.umd.js.LICENSE.txt +1 -19
- package/dist/okta-auth-js.umd.js.map +1 -1
- package/esm/{index.js → esm.browser.js} +3283 -2698
- package/esm/esm.browser.js.map +1 -0
- package/esm/esm.node.mjs +9277 -0
- package/esm/esm.node.mjs.map +1 -0
- package/lib/AuthStateManager.d.ts +2 -5
- package/lib/OktaAuth.d.ts +14 -16
- package/lib/ServiceManager.d.ts +38 -0
- package/lib/StorageManager.d.ts +2 -2
- package/lib/TokenManager.d.ts +4 -5
- package/lib/TransactionManager.d.ts +4 -3
- package/lib/browser/fingerprint.d.ts +2 -3
- package/lib/builderUtil.d.ts +1 -2
- package/lib/crypto/base64.d.ts +2 -0
- package/lib/crypto/browser.d.ts +1 -1
- package/lib/crypto/webauthn.d.ts +25 -0
- package/lib/features.d.ts +1 -1
- package/lib/http/headers.d.ts +2 -2
- package/lib/http/request.d.ts +4 -4
- package/lib/idx/authenticate.d.ts +2 -2
- package/lib/idx/authenticator/Authenticator.d.ts +4 -5
- package/lib/idx/authenticator/OktaPassword.d.ts +7 -9
- package/lib/idx/authenticator/SecurityQuestionEnrollment.d.ts +9 -8
- package/lib/idx/authenticator/SecurityQuestionVerification.d.ts +7 -7
- package/lib/idx/authenticator/VerificationCodeAuthenticator.d.ts +6 -2
- package/lib/idx/authenticator/WebauthnEnrollment.d.ts +16 -0
- package/lib/idx/authenticator/WebauthnVerification.d.ts +17 -0
- package/lib/idx/authenticator/getAuthenticator.d.ts +1 -1
- package/lib/idx/authenticator/index.d.ts +9 -0
- package/lib/idx/cancel.d.ts +2 -2
- package/lib/idx/emailVerify.d.ts +26 -0
- package/lib/{util/emailVerify.d.ts → idx/flow/AccountUnlockFlow.d.ts} +2 -6
- package/lib/idx/flow/FlowSpecification.d.ts +3 -2
- package/lib/idx/flow/index.d.ts +1 -0
- package/lib/idx/headers.d.ts +3 -2
- package/lib/idx/idx-js/client.d.ts +36 -0
- package/lib/idx/idx-js/index.d.ts +51 -0
- package/lib/idx/idx-js/interact.d.ts +25 -0
- package/lib/idx/idx-js/introspect.d.ts +20 -0
- package/lib/idx/idx-js/parsers.d.ts +15 -0
- package/lib/idx/idx-js/util.d.ts +12 -0
- package/lib/idx/idx-js/v1/actionParser.d.ts +16 -0
- package/lib/idx/idx-js/v1/generateIdxAction.d.ts +13 -0
- package/lib/idx/idx-js/v1/idxResponseParser.d.ts +20 -0
- package/lib/idx/idx-js/v1/makeIdxState.d.ts +13 -0
- package/lib/idx/idx-js/v1/parsers.d.ts +16 -0
- package/lib/idx/idx-js/v1/remediationParser.d.ts +12 -0
- package/lib/idx/index.d.ts +12 -10
- package/lib/idx/interact.d.ts +7 -13
- package/lib/idx/introspect.d.ts +4 -3
- package/lib/idx/poll.d.ts +2 -2
- package/lib/idx/proceed.d.ts +8 -5
- package/lib/idx/recoverPassword.d.ts +2 -2
- package/lib/idx/register.d.ts +2 -2
- package/lib/idx/remediate.d.ts +10 -4
- package/lib/idx/remediators/AuthenticatorEnrollmentData.d.ts +3 -3
- package/lib/idx/remediators/AuthenticatorVerificationData.d.ts +5 -5
- package/lib/idx/remediators/Base/AuthenticatorData.d.ts +10 -10
- package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +10 -7
- package/lib/idx/remediators/Base/VerifyAuthenticator.d.ts +8 -12
- package/lib/idx/remediators/EnrollProfile.d.ts +1 -1
- package/lib/idx/remediators/EnrollmentChannelData.d.ts +54 -0
- package/lib/idx/remediators/Identify.d.ts +2 -2
- package/lib/idx/remediators/ReEnrollAuthenticator.d.ts +2 -2
- package/lib/idx/remediators/RedirectIdp.d.ts +3 -3
- package/lib/idx/remediators/SelectAuthenticatorUnlockAccount.d.ts +38 -0
- package/lib/idx/remediators/SelectEnrollmentChannel.d.ts +40 -0
- package/lib/idx/remediators/index.d.ts +3 -0
- package/lib/idx/remediators/util.d.ts +2 -2
- package/lib/idx/run.d.ts +5 -3
- package/lib/idx/startTransaction.d.ts +3 -2
- package/lib/idx/transactionMeta.d.ts +10 -31
- package/lib/idx/types/FlowIdentifier.d.ts +1 -1
- package/lib/idx/types/idx-js.d.ts +44 -1
- package/lib/idx/types/index.d.ts +36 -9
- package/lib/idx/unlockAccount.d.ts +15 -0
- package/lib/index.d.ts +1 -0
- package/lib/oidc/endpoints/well-known.d.ts +3 -3
- package/lib/oidc/exchangeCodeForTokens.d.ts +14 -2
- package/lib/oidc/getToken.d.ts +2 -2
- package/lib/oidc/getWithPopup.d.ts +2 -2
- package/lib/oidc/getWithRedirect.d.ts +2 -2
- package/lib/oidc/getWithoutPrompt.d.ts +2 -2
- package/lib/oidc/handleOAuthResponse.d.ts +2 -2
- package/lib/oidc/parseFromUrl.d.ts +1 -1
- package/lib/oidc/renewToken.d.ts +2 -2
- package/lib/oidc/renewTokens.d.ts +1 -1
- package/lib/oidc/renewTokensWithRefresh.d.ts +2 -2
- package/lib/oidc/revokeToken.d.ts +2 -2
- package/lib/oidc/util/browser.d.ts +3 -3
- package/lib/oidc/util/defaultTokenParams.d.ts +2 -2
- package/lib/oidc/util/errors.d.ts +2 -2
- package/lib/oidc/util/index.d.ts +1 -0
- package/lib/oidc/util/loginRedirect.d.ts +4 -4
- package/lib/oidc/util/oauth.d.ts +4 -11
- package/lib/oidc/util/oauthMeta.d.ts +2 -0
- package/lib/oidc/util/prepareTokenParams.d.ts +5 -2
- package/lib/oidc/util/validateClaims.d.ts +2 -2
- package/lib/oidc/verifyToken.d.ts +2 -2
- package/lib/options/browser.d.ts +16 -0
- package/lib/{options.d.ts → options/index.d.ts} +1 -1
- package/lib/options/node.d.ts +16 -0
- package/lib/server/serverStorage.d.ts +1 -1
- package/lib/services/AutoRenewService.d.ts +27 -0
- package/lib/services/{TokenService.d.ts → SyncStorageService.d.ts} +8 -5
- package/lib/services/index.d.ts +13 -0
- package/lib/tx/AuthTransaction.d.ts +2 -2
- package/lib/tx/TransactionState.d.ts +11 -1
- package/lib/tx/api.d.ts +6 -6
- package/lib/types/OktaAuthOptions.d.ts +11 -8
- package/lib/types/Service.d.ts +23 -0
- package/lib/types/Storage.d.ts +3 -3
- package/lib/types/Transaction.d.ts +10 -7
- package/lib/types/UserClaims.d.ts +3 -3
- package/lib/types/api.d.ts +49 -22
- package/lib/types/index.d.ts +1 -1
- package/lib/util/console.d.ts +1 -1
- package/lib/util/index.d.ts +0 -1
- package/lib/util/sharedStorage.d.ts +1 -1
- package/lib/util/types.d.ts +1 -1
- package/lib/util/url.d.ts +2 -2
- package/package.json +30 -13
- package/polyfill/index.js +1 -0
- package/cjs/options.js +0 -154
- package/cjs/options.js.map +0 -1
- package/cjs/services/TokenService.js +0 -108
- package/cjs/services/TokenService.js.map +0 -1
- package/cjs/util/emailVerify.js +0 -28
- package/cjs/util/emailVerify.js.map +0 -1
- package/esm/index.js.map +0 -1
package/cjs/crypto/node.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
exports.webcrypto = exports.btoa = exports.atob = void 0;
|
|
4
6
|
|
|
7
|
+
var _atob = _interopRequireDefault(require("atob"));
|
|
8
|
+
|
|
9
|
+
var _btoa = _interopRequireDefault(require("btoa"));
|
|
10
|
+
|
|
11
|
+
var _webcrypto = require("@peculiar/webcrypto");
|
|
12
|
+
|
|
5
13
|
/*!
|
|
6
14
|
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
7
15
|
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
@@ -23,7 +31,7 @@ exports.atob = a;
|
|
|
23
31
|
if (typeof atob !== 'undefined') {
|
|
24
32
|
exports.atob = a = atob;
|
|
25
33
|
} else {
|
|
26
|
-
exports.atob = a =
|
|
34
|
+
exports.atob = a = _atob.default;
|
|
27
35
|
}
|
|
28
36
|
|
|
29
37
|
let b;
|
|
@@ -32,15 +40,17 @@ exports.btoa = b;
|
|
|
32
40
|
if (typeof btoa !== 'undefined') {
|
|
33
41
|
exports.btoa = b = btoa;
|
|
34
42
|
} else {
|
|
35
|
-
exports.btoa = b =
|
|
43
|
+
exports.btoa = b = _btoa.default;
|
|
36
44
|
}
|
|
37
45
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
const crypto = (async () => {
|
|
47
|
+
try {
|
|
48
|
+
return await import('crypto');
|
|
49
|
+
} catch (err) {
|
|
50
|
+
// this environment has no crypto module!
|
|
51
|
+
return undefined;
|
|
52
|
+
}
|
|
53
|
+
})();
|
|
44
54
|
|
|
45
55
|
let webcrypto;
|
|
46
56
|
exports.webcrypto = webcrypto;
|
|
@@ -48,10 +58,6 @@ exports.webcrypto = webcrypto;
|
|
|
48
58
|
if (typeof crypto !== 'undefined' && crypto['webcrypto']) {
|
|
49
59
|
exports.webcrypto = webcrypto = crypto['webcrypto'];
|
|
50
60
|
} else {
|
|
51
|
-
|
|
52
|
-
Crypto
|
|
53
|
-
} = require('@peculiar/webcrypto');
|
|
54
|
-
|
|
55
|
-
exports.webcrypto = webcrypto = new Crypto();
|
|
61
|
+
exports.webcrypto = webcrypto = new _webcrypto.Crypto();
|
|
56
62
|
}
|
|
57
63
|
//# sourceMappingURL=node.js.map
|
package/cjs/crypto/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/crypto/node.ts"],"names":["a","atob","
|
|
1
|
+
{"version":3,"sources":["../../../lib/crypto/node.ts"],"names":["a","atob","atobModule","b","btoa","btoaModule","crypto","err","undefined","webcrypto","Crypto"],"mappings":";;;;;;AAkBA;;AACA;;AACA;;AApBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AAEA;AACA;AAMA,IAAIA,CAAJ;;;AACA,IAAI,OAAOC,IAAP,KAAgB,WAApB,EAAiC;AAC/B,iBAAAD,CAAC,GAAGC,IAAJ;AACD,CAFD,MAEO;AACL,iBAAAD,CAAC,GAAGE,aAAJ;AACD;;AAID,IAAIC,CAAJ;;;AACA,IAAI,OAAOC,IAAP,KAAgB,WAApB,EAAiC;AAC/B,iBAAAD,CAAC,GAAGC,IAAJ;AACD,CAFD,MAEO;AACL,iBAAAD,CAAC,GAAGE,aAAJ;AACD;;AAGD,MAAMC,MAAM,GAAG,CAAC,YAAY;AAC1B,MAAI;AACF,WAAO,MAAM,OAAO,QAAP,CAAb;AACD,GAFD,CAEE,OAAOC,GAAP,EAAY;AACZ;AACA,WAAOC,SAAP;AACD;AACF,CAPc,GAAf;;AASA,IAAIC,SAAJ;;;AACA,IAAI,OAAOH,MAAP,KAAkB,WAAlB,IAAiCA,MAAM,CAAC,WAAD,CAA3C,EAA0D;AACxD,sBAAAG,SAAS,GAAGH,MAAM,CAAC,WAAD,CAAlB;AACD,CAFD,MAEO;AACL,sBAAAG,SAAS,GAAG,IAAIC,iBAAJ,EAAZ;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\n/* global atob, btoa */\n\n// Ponyfill for NodeJS\n// Webpack config excludes this file\n\nimport atobModule from 'atob';\nimport btoaModule from 'btoa';\nimport { Crypto } from '@peculiar/webcrypto';\n\nlet a;\nif (typeof atob !== 'undefined') {\n a = atob;\n} else {\n a = atobModule;\n}\nexport { a as atob };\n\n\nlet b;\nif (typeof btoa !== 'undefined') {\n b = btoa;\n} else {\n b = btoaModule;\n}\nexport { b as btoa };\n\nconst crypto = (async () => {\n try {\n return await import('crypto');\n } catch (err) {\n // this environment has no crypto module!\n return undefined;\n }\n})();\n\nlet webcrypto;\nif (typeof crypto !== 'undefined' && crypto['webcrypto']) {\n webcrypto = crypto['webcrypto'];\n} else {\n webcrypto = new Crypto();\n}\n\nexport { webcrypto };\n"],"file":"node.js"}
|
package/cjs/crypto/oidcHash.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
exports.getOidcHash = getOidcHash;
|
|
4
6
|
|
|
7
|
+
var _slice = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/slice"));
|
|
8
|
+
|
|
5
9
|
var _base = require("./base64");
|
|
6
10
|
|
|
7
11
|
var _webcrypto = require("./webcrypto");
|
|
@@ -23,7 +27,7 @@ function getOidcHash(str) {
|
|
|
23
27
|
var buffer = new TextEncoder().encode(str);
|
|
24
28
|
return _webcrypto.webcrypto.subtle.digest('SHA-256', buffer).then(function (arrayBuffer) {
|
|
25
29
|
var intBuffer = new Uint8Array(arrayBuffer);
|
|
26
|
-
var firstHalf = intBuffer.
|
|
30
|
+
var firstHalf = (0, _slice.default)(intBuffer).call(intBuffer, 0, 16);
|
|
27
31
|
var hash = String.fromCharCode.apply(null, firstHalf);
|
|
28
32
|
var b64u = (0, _base.stringToBase64Url)(hash); // url-safe base64 variant
|
|
29
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/crypto/oidcHash.ts"],"names":["getOidcHash","str","buffer","TextEncoder","encode","webcrypto","subtle","digest","then","arrayBuffer","intBuffer","Uint8Array","firstHalf","
|
|
1
|
+
{"version":3,"sources":["../../../lib/crypto/oidcHash.ts"],"names":["getOidcHash","str","buffer","TextEncoder","encode","webcrypto","subtle","digest","then","arrayBuffer","intBuffer","Uint8Array","firstHalf","hash","String","fromCharCode","apply","b64u"],"mappings":";;;;;;;;AAaA;;AACA;;AAdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AAIO,SAASA,WAAT,CAAqBC,GAArB,EAA0B;AAC/B,MAAIC,MAAM,GAAG,IAAIC,WAAJ,GAAkBC,MAAlB,CAAyBH,GAAzB,CAAb;AACA,SAAOI,qBAAUC,MAAV,CAAiBC,MAAjB,CAAwB,SAAxB,EAAmCL,MAAnC,EAA2CM,IAA3C,CAAgD,UAASC,WAAT,EAAsB;AAC3E,QAAIC,SAAS,GAAG,IAAIC,UAAJ,CAAeF,WAAf,CAAhB;AACA,QAAIG,SAAS,GAAG,oBAAAF,SAAS,MAAT,CAAAA,SAAS,EAAO,CAAP,EAAU,EAAV,CAAzB;AACA,QAAIG,IAAI,GAAGC,MAAM,CAACC,YAAP,CAAoBC,KAApB,CAA0B,IAA1B,EAAgCJ,SAAhC,CAAX;AACA,QAAIK,IAAI,GAAG,6BAAkBJ,IAAlB,CAAX,CAJ2E,CAIvC;;AACpC,WAAOI,IAAP;AACD,GANM,CAAP;AAOD","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/* global TextEncoder */\nimport { stringToBase64Url } from './base64';\nimport { webcrypto } from './webcrypto';\n\nexport function getOidcHash(str) { \n var buffer = new TextEncoder().encode(str);\n return webcrypto.subtle.digest('SHA-256', buffer).then(function(arrayBuffer) {\n var intBuffer = new Uint8Array(arrayBuffer);\n var firstHalf = intBuffer.slice(0, 16);\n var hash = String.fromCharCode.apply(null, firstHalf as unknown as number[]);\n var b64u = stringToBase64Url(hash); // url-safe base64 variant\n return b64u;\n });\n}\n"],"file":"oidcHash.js"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.getAssertion = exports.getAttestation = exports.buildCredentialRequestOptions = exports.buildCredentialCreationOptions = void 0;
|
|
4
|
+
|
|
5
|
+
var _base = require("./base64");
|
|
6
|
+
|
|
7
|
+
/*!
|
|
8
|
+
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
9
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
10
|
+
*
|
|
11
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
14
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
*
|
|
16
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
// Get known credentials from list of enrolled authenticators
|
|
19
|
+
const getEnrolledCredentials = (authenticatorEnrollments = []) => {
|
|
20
|
+
const credentials = [];
|
|
21
|
+
authenticatorEnrollments.forEach(enrollement => {
|
|
22
|
+
if (enrollement.key === 'webauthn') {
|
|
23
|
+
credentials.push({
|
|
24
|
+
type: 'public-key',
|
|
25
|
+
id: (0, _base.base64UrlToBuffer)(enrollement.credentialId)
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return credentials;
|
|
30
|
+
}; // Build options for navigator.credentials.create
|
|
31
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/create
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
const buildCredentialCreationOptions = (activationData, authenticatorEnrollments) => {
|
|
35
|
+
return {
|
|
36
|
+
publicKey: {
|
|
37
|
+
rp: activationData.rp,
|
|
38
|
+
user: {
|
|
39
|
+
id: (0, _base.base64UrlToBuffer)(activationData.user.id),
|
|
40
|
+
name: activationData.user.name,
|
|
41
|
+
displayName: activationData.user.displayName
|
|
42
|
+
},
|
|
43
|
+
challenge: (0, _base.base64UrlToBuffer)(activationData.challenge),
|
|
44
|
+
pubKeyCredParams: activationData.pubKeyCredParams,
|
|
45
|
+
attestation: activationData.attestation,
|
|
46
|
+
authenticatorSelection: activationData.authenticatorSelection,
|
|
47
|
+
excludeCredentials: getEnrolledCredentials(authenticatorEnrollments)
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}; // Build options for navigator.credentials.get
|
|
51
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/get
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
exports.buildCredentialCreationOptions = buildCredentialCreationOptions;
|
|
55
|
+
|
|
56
|
+
const buildCredentialRequestOptions = (challengeData, authenticatorEnrollments) => {
|
|
57
|
+
return {
|
|
58
|
+
publicKey: {
|
|
59
|
+
challenge: (0, _base.base64UrlToBuffer)(challengeData.challenge),
|
|
60
|
+
userVerification: challengeData.userVerification,
|
|
61
|
+
allowCredentials: getEnrolledCredentials(authenticatorEnrollments)
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
}; // Build attestation for webauthn enroll
|
|
65
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorAttestationResponse
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
exports.buildCredentialRequestOptions = buildCredentialRequestOptions;
|
|
69
|
+
|
|
70
|
+
const getAttestation = credential => {
|
|
71
|
+
const response = credential.response;
|
|
72
|
+
const id = credential.id;
|
|
73
|
+
const clientData = (0, _base.bufferToBase64Url)(response.clientDataJSON);
|
|
74
|
+
const attestation = (0, _base.bufferToBase64Url)(response.attestationObject);
|
|
75
|
+
return {
|
|
76
|
+
id,
|
|
77
|
+
clientData,
|
|
78
|
+
attestation
|
|
79
|
+
};
|
|
80
|
+
}; // Build assertion for webauthn verification
|
|
81
|
+
// https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorAssertionResponse
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
exports.getAttestation = getAttestation;
|
|
85
|
+
|
|
86
|
+
const getAssertion = credential => {
|
|
87
|
+
const response = credential.response;
|
|
88
|
+
const id = credential.id;
|
|
89
|
+
const clientData = (0, _base.bufferToBase64Url)(response.clientDataJSON);
|
|
90
|
+
const authenticatorData = (0, _base.bufferToBase64Url)(response.authenticatorData);
|
|
91
|
+
const signatureData = (0, _base.bufferToBase64Url)(response.signature);
|
|
92
|
+
return {
|
|
93
|
+
id,
|
|
94
|
+
clientData,
|
|
95
|
+
authenticatorData,
|
|
96
|
+
signatureData
|
|
97
|
+
};
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
exports.getAssertion = getAssertion;
|
|
101
|
+
//# sourceMappingURL=webauthn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../lib/crypto/webauthn.ts"],"names":["getEnrolledCredentials","authenticatorEnrollments","credentials","forEach","enrollement","key","push","type","id","credentialId","buildCredentialCreationOptions","activationData","publicKey","rp","user","name","displayName","challenge","pubKeyCredParams","attestation","authenticatorSelection","excludeCredentials","buildCredentialRequestOptions","challengeData","userVerification","allowCredentials","getAttestation","credential","response","clientData","clientDataJSON","attestationObject","getAssertion","authenticatorData","signatureData","signature"],"mappings":";;;;AAYA;;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA,MAAMA,sBAAsB,GAAG,CAACC,wBAA4C,GAAG,EAAhD,KAAuD;AACpF,QAAMC,WAA4C,GAAG,EAArD;AACAD,EAAAA,wBAAwB,CAACE,OAAzB,CAAkCC,WAAD,IAAiB;AAChD,QAAIA,WAAW,CAACC,GAAZ,KAAoB,UAAxB,EAAoC;AAClCH,MAAAA,WAAW,CAACI,IAAZ,CAAiB;AACfC,QAAAA,IAAI,EAAE,YADS;AAEfC,QAAAA,EAAE,EAAE,6BAAkBJ,WAAW,CAACK,YAA9B;AAFW,OAAjB;AAID;AACF,GAPD;AAQA,SAAOP,WAAP;AACD,CAXD,C,CAaA;AACA;;;AACO,MAAMQ,8BAA8B,GAAG,CAC5CC,cAD4C,EACZV,wBADY,KAEzC;AACH,SAAO;AACLW,IAAAA,SAAS,EAAE;AACTC,MAAAA,EAAE,EAAEF,cAAc,CAACE,EADV;AAETC,MAAAA,IAAI,EAAE;AACJN,QAAAA,EAAE,EAAE,6BAAkBG,cAAc,CAACG,IAAf,CAAoBN,EAAtC,CADA;AAEJO,QAAAA,IAAI,EAAEJ,cAAc,CAACG,IAAf,CAAoBC,IAFtB;AAGJC,QAAAA,WAAW,EAAEL,cAAc,CAACG,IAAf,CAAoBE;AAH7B,OAFG;AAOTC,MAAAA,SAAS,EAAE,6BAAkBN,cAAc,CAACM,SAAjC,CAPF;AAQTC,MAAAA,gBAAgB,EAAEP,cAAc,CAACO,gBARxB;AASTC,MAAAA,WAAW,EAAER,cAAc,CAACQ,WATnB;AAUTC,MAAAA,sBAAsB,EAAET,cAAc,CAACS,sBAV9B;AAWTC,MAAAA,kBAAkB,EAAErB,sBAAsB,CAACC,wBAAD;AAXjC;AADN,GAAP;AAeD,CAlBM,C,CAqBP;AACA;;;;;AACO,MAAMqB,6BAA6B,GAAG,CAC3CC,aAD2C,EACbtB,wBADa,KAExC;AACH,SAAO;AACLW,IAAAA,SAAS,EAAE;AACTK,MAAAA,SAAS,EAAE,6BAAkBM,aAAa,CAACN,SAAhC,CADF;AAETO,MAAAA,gBAAgB,EAAED,aAAa,CAACC,gBAFvB;AAGTC,MAAAA,gBAAgB,EAAEzB,sBAAsB,CAACC,wBAAD;AAH/B;AADN,GAAP;AAOD,CAVM,C,CAYP;AACA;;;;;AACO,MAAMyB,cAAc,GAAIC,UAAD,IAAqC;AACjE,QAAMC,QAAQ,GAAGD,UAAU,CAACC,QAA5B;AACA,QAAMpB,EAAE,GAAGmB,UAAU,CAACnB,EAAtB;AACA,QAAMqB,UAAU,GAAG,6BAAkBD,QAAQ,CAACE,cAA3B,CAAnB;AACA,QAAMX,WAAW,GAAG,6BAAkBS,QAAQ,CAACG,iBAA3B,CAApB;AACA,SAAO;AACLvB,IAAAA,EADK;AAELqB,IAAAA,UAFK;AAGLV,IAAAA;AAHK,GAAP;AAKD,CAVM,C,CAYP;AACA;;;;;AACO,MAAMa,YAAY,GAAIL,UAAD,IAAqC;AAC/D,QAAMC,QAAQ,GAAGD,UAAU,CAACC,QAA5B;AACA,QAAMpB,EAAE,GAAGmB,UAAU,CAACnB,EAAtB;AACA,QAAMqB,UAAU,GAAG,6BAAkBD,QAAQ,CAACE,cAA3B,CAAnB;AACA,QAAMG,iBAAiB,GAAG,6BAAkBL,QAAQ,CAACK,iBAA3B,CAA1B;AACA,QAAMC,aAAa,GAAG,6BAAkBN,QAAQ,CAACO,SAA3B,CAAtB;AACA,SAAO;AACL3B,IAAAA,EADK;AAELqB,IAAAA,UAFK;AAGLI,IAAAA,iBAHK;AAILC,IAAAA;AAJK,GAAP;AAMD,CAZM","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 { base64UrlToBuffer, bufferToBase64Url } from './base64';\nimport { ActivationData, ChallengeData, IdxAuthenticator } from '../idx/types';\n\n// Get known credentials from list of enrolled authenticators\nconst getEnrolledCredentials = (authenticatorEnrollments: IdxAuthenticator[] = []) => {\n const credentials: PublicKeyCredentialDescriptor[] = [];\n authenticatorEnrollments.forEach((enrollement) => {\n if (enrollement.key === 'webauthn') {\n credentials.push({\n type: 'public-key',\n id: base64UrlToBuffer(enrollement.credentialId),\n });\n }\n });\n return credentials;\n};\n\n// Build options for navigator.credentials.create\n// https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/create\nexport const buildCredentialCreationOptions = (\n activationData: ActivationData, authenticatorEnrollments: IdxAuthenticator[]\n) => {\n return {\n publicKey: {\n rp: activationData.rp,\n user: {\n id: base64UrlToBuffer(activationData.user.id),\n name: activationData.user.name,\n displayName: activationData.user.displayName\n },\n challenge: base64UrlToBuffer(activationData.challenge),\n pubKeyCredParams: activationData.pubKeyCredParams,\n attestation: activationData.attestation,\n authenticatorSelection: activationData.authenticatorSelection,\n excludeCredentials: getEnrolledCredentials(authenticatorEnrollments),\n }\n } as CredentialCreationOptions;\n};\n\n\n// Build options for navigator.credentials.get\n// https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer/get\nexport const buildCredentialRequestOptions = (\n challengeData: ChallengeData, authenticatorEnrollments: IdxAuthenticator[]\n) => {\n return {\n publicKey: {\n challenge: base64UrlToBuffer(challengeData.challenge),\n userVerification: challengeData.userVerification,\n allowCredentials: getEnrolledCredentials(authenticatorEnrollments),\n }\n } as CredentialRequestOptions;\n};\n\n// Build attestation for webauthn enroll\n// https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorAttestationResponse\nexport const getAttestation = (credential: PublicKeyCredential) => {\n const response = credential.response as AuthenticatorAttestationResponse;\n const id = credential.id;\n const clientData = bufferToBase64Url(response.clientDataJSON);\n const attestation = bufferToBase64Url(response.attestationObject);\n return {\n id,\n clientData,\n attestation\n };\n};\n\n// Build assertion for webauthn verification\n// https://developer.mozilla.org/en-US/docs/Web/API/AuthenticatorAssertionResponse\nexport const getAssertion = (credential: PublicKeyCredential) => {\n const response = credential.response as AuthenticatorAssertionResponse;\n const id = credential.id;\n const clientData = bufferToBase64Url(response.clientDataJSON);\n const authenticatorData = bufferToBase64Url(response.authenticatorData);\n const signatureData = bufferToBase64Url(response.signature);\n return {\n id,\n clientData,\n authenticatorData,\n signatureData\n };\n};\n"],"file":"webauthn.js"}
|
package/cjs/crypto/webcrypto.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
4
|
+
|
|
3
5
|
var _node = require("./node");
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
_Object$keys(_node).forEach(function (key) {
|
|
6
8
|
if (key === "default" || key === "__esModule") return;
|
|
7
9
|
if (key in exports && exports[key] === _node[key]) return;
|
|
8
10
|
Object.defineProperty(exports, key, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/crypto/webcrypto.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../lib/crypto/webcrypto.ts"],"names":[],"mappings":";;;;AAcA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","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// ./node is swapped for ./browser in webpack config\nexport * from './node';"],"file":"webcrypto.js"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
|
+
|
|
3
5
|
exports.default = void 0;
|
|
4
6
|
|
|
7
|
+
var _setPrototypeOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/set-prototype-of"));
|
|
8
|
+
|
|
5
9
|
/*!
|
|
6
10
|
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
7
11
|
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
@@ -18,7 +22,7 @@ class CustomError extends Error {
|
|
|
18
22
|
// https://stackoverflow.com/questions/41102060/typescript-extending-error-class
|
|
19
23
|
super(message); // 'Error' breaks prototype chain here
|
|
20
24
|
|
|
21
|
-
|
|
25
|
+
(0, _setPrototypeOf.default)(this, new.target.prototype); // restore prototype chain
|
|
22
26
|
}
|
|
23
27
|
|
|
24
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/errors/CustomError.ts"],"names":["CustomError","Error","constructor","message","
|
|
1
|
+
{"version":3,"sources":["../../../lib/errors/CustomError.ts"],"names":["CustomError","Error","constructor","message","new","target","prototype"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEe,MAAMA,WAAN,SAA0BC,KAA1B,CAAgC;AAC7CC,EAAAA,WAAW,CAACC,OAAD,EAAkB;AAC3B;AACA,UAAMA,OAAN,EAF2B,CAEX;;AAChB,iCAAsB,IAAtB,EAA4BC,GAAG,CAACC,MAAJ,CAAWC,SAAvC,EAH2B,CAGwB;AACpD;;AAL4C","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\nexport default class CustomError extends Error {\n constructor(message: string) {\n // https://stackoverflow.com/questions/41102060/typescript-extending-error-class\n super(message); // 'Error' breaks prototype chain here\n Object.setPrototypeOf(this, new.target.prototype); // restore prototype chain\n }\n}\n"],"file":"CustomError.js"}
|
package/cjs/errors/OAuthError.js
CHANGED
package/cjs/errors/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.isAuthApiError = isAuthApiError;
|
|
6
6
|
Object.defineProperty(exports, "AuthApiError", {
|
package/cjs/features.js
CHANGED
|
@@ -35,7 +35,12 @@ function isBrowser() {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
function isIE11OrLess() {
|
|
38
|
-
|
|
38
|
+
if (!isBrowser()) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const documentMode = document.documentMode;
|
|
43
|
+
return !!documentMode && documentMode <= 11;
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
function getUserAgent() {
|
|
@@ -52,9 +57,10 @@ function isPopupPostMessageSupported() {
|
|
|
52
57
|
return false;
|
|
53
58
|
}
|
|
54
59
|
|
|
55
|
-
|
|
60
|
+
const documentMode = document.documentMode;
|
|
61
|
+
var isIE8or9 = documentMode && documentMode < 10;
|
|
56
62
|
|
|
57
|
-
if (window.postMessage && !isIE8or9) {
|
|
63
|
+
if (typeof window.postMessage !== 'undefined' && !isIE8or9) {
|
|
58
64
|
return true;
|
|
59
65
|
}
|
|
60
66
|
|
package/cjs/features.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../lib/features.ts"],"names":["isWindowsPhone","isBrowser","document","window","isIE11OrLess","documentMode","getUserAgent","navigator","userAgent","isFingerprintSupported","agent","test","isPopupPostMessageSupported","isIE8or9","postMessage","isTokenVerifySupported","webcrypto","subtle","Uint8Array","hasTextEncoder","TextEncoder","isPKCESupported","isHTTPS","location","protocol","isLocalhost","hostname"],"mappings":";;;;;;;;;;;;;AAeA;;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AACA;AAIA,MAAMA,cAAc,GAAG,mCAAvB;;AAEO,SAASC,SAAT,GAAqB;AAC1B,SAAO,OAAOC,QAAP,KAAoB,WAApB,IAAmC,OAAOC,MAAP,KAAkB,WAA5D;AACD;;AAEM,SAASC,YAAT,GAAwB;AAC7B,
|
|
1
|
+
{"version":3,"sources":["../../lib/features.ts"],"names":["isWindowsPhone","isBrowser","document","window","isIE11OrLess","documentMode","getUserAgent","navigator","userAgent","isFingerprintSupported","agent","test","isPopupPostMessageSupported","isIE8or9","postMessage","isTokenVerifySupported","webcrypto","subtle","Uint8Array","hasTextEncoder","TextEncoder","isPKCESupported","isHTTPS","location","protocol","isLocalhost","hostname"],"mappings":";;;;;;;;;;;;;AAeA;;AAfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AACA;AAIA,MAAMA,cAAc,GAAG,mCAAvB;;AAEO,SAASC,SAAT,GAAqB;AAC1B,SAAO,OAAOC,QAAP,KAAoB,WAApB,IAAmC,OAAOC,MAAP,KAAkB,WAA5D;AACD;;AAEM,SAASC,YAAT,GAAwB;AAC7B,MAAI,CAACH,SAAS,EAAd,EAAkB;AAChB,WAAO,KAAP;AACD;;AACD,QAAMI,YAAY,GAAIH,QAAD,CAAkBG,YAAvC;AACA,SAAO,CAAC,CAACA,YAAF,IAAkBA,YAAY,IAAI,EAAzC;AACD;;AAEM,SAASC,YAAT,GAAwB;AAC7B,SAAOC,SAAS,CAACC,SAAjB;AACD;;AAEM,SAASC,sBAAT,GAAkC;AACvC,QAAMC,KAAK,GAAGJ,YAAY,EAA1B;AACA,SAAOI,KAAK,IAAI,CAACV,cAAc,CAACW,IAAf,CAAoBD,KAApB,CAAjB;AACD;;AAEM,SAASE,2BAAT,GAAuC;AAC5C,MAAI,CAACX,SAAS,EAAd,EAAkB;AAChB,WAAO,KAAP;AACD;;AACD,QAAMI,YAAY,GAAIH,QAAD,CAAkBG,YAAvC;AACA,MAAIQ,QAAQ,GAAGR,YAAY,IAAIA,YAAY,GAAG,EAA9C;;AACA,MAAI,OAAOF,MAAM,CAACW,WAAd,KAA8B,WAA9B,IAA6C,CAACD,QAAlD,EAA4D;AAC1D,WAAO,IAAP;AACD;;AACD,SAAO,KAAP;AACD;;AAEM,SAASE,sBAAT,GAAkC;AACvC,SAAO,OAAOC,iBAAP,KAAqB,WAArB,IACFA,sBAAc,IADZ,IAEF,OAAOA,kBAAUC,MAAjB,KAA4B,WAF1B,IAGF,OAAOC,UAAP,KAAsB,WAH3B;AAID;;AAEM,SAASC,cAAT,GAA0B;AAC/B,SAAO,OAAOC,WAAP,KAAuB,WAA9B;AACD;;AAEM,SAASC,eAAT,GAA2B;AAChC,SAAON,sBAAsB,MAAMI,cAAc,EAAjD;AACD;;AAEM,SAASG,OAAT,GAAmB;AACxB,MAAI,CAACrB,SAAS,EAAd,EAAkB;AAChB,WAAO,KAAP;AACD;;AACD,SAAOE,MAAM,CAACoB,QAAP,CAAgBC,QAAhB,KAA6B,QAApC;AACD;;AAEM,SAASC,WAAT,GAAuB;AAC5B;AACA,SAAOxB,SAAS,MAAME,MAAM,CAACoB,QAAP,CAAgBG,QAAhB,KAA6B,WAAnD;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/* eslint-disable node/no-unsupported-features/node-builtins */\n/* global document, window, TextEncoder, navigator */\n\nimport { webcrypto } from './crypto';\n\nconst isWindowsPhone = /windows phone|iemobile|wpdesktop/i;\t\n\nexport function isBrowser() {\n return typeof document !== 'undefined' && typeof window !== 'undefined';\n}\n\nexport function isIE11OrLess() {\n if (!isBrowser()) {\n return false;\n }\n const documentMode = (document as any).documentMode;\n return !!documentMode && documentMode <= 11;\n}\n\nexport function getUserAgent() {\n return navigator.userAgent;\n}\n\nexport function isFingerprintSupported() {\n const agent = getUserAgent();\n return agent && !isWindowsPhone.test(agent);\t\n}\n\nexport function isPopupPostMessageSupported() {\n if (!isBrowser()) {\n return false;\n }\n const documentMode = (document as any).documentMode;\n var isIE8or9 = documentMode && documentMode < 10;\n if (typeof window.postMessage !== 'undefined' && !isIE8or9) {\n return true;\n }\n return false;\n}\n\nexport function isTokenVerifySupported() {\n return typeof webcrypto !== 'undefined'\n && webcrypto !== null\n && typeof webcrypto.subtle !== 'undefined'\n && typeof Uint8Array !== 'undefined';\n}\n\nexport function hasTextEncoder() {\n return typeof TextEncoder !== 'undefined';\n}\n\nexport function isPKCESupported() {\n return isTokenVerifySupported() && hasTextEncoder();\n}\n\nexport function isHTTPS() {\n if (!isBrowser()) {\n return false;\n }\n return window.location.protocol === 'https:';\n}\n\nexport function isLocalhost() {\n // eslint-disable-next-line compat/compat\n return isBrowser() && window.location.hostname === 'localhost';\n}\n\n"],"file":"features.js"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.default = void 0;
|
|
6
6
|
|
|
7
|
+
var _indexOf = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/index-of"));
|
|
8
|
+
|
|
9
|
+
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/entries"));
|
|
10
|
+
|
|
11
|
+
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/json/stringify"));
|
|
12
|
+
|
|
13
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
|
|
14
|
+
|
|
7
15
|
var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
8
16
|
|
|
9
17
|
/*!
|
|
@@ -18,7 +26,10 @@ var _crossFetch = _interopRequireDefault(require("cross-fetch"));
|
|
|
18
26
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
19
27
|
*/
|
|
20
28
|
function readData(response) {
|
|
21
|
-
|
|
29
|
+
var _context;
|
|
30
|
+
|
|
31
|
+
if (response.headers.get('Content-Type') && // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
32
|
+
(0, _indexOf.default)(_context = response.headers.get('Content-Type').toLowerCase()).call(_context, 'application/json') >= 0) {
|
|
22
33
|
return response.json() // JSON parse can fail if response is not a valid object
|
|
23
34
|
.catch(e => {
|
|
24
35
|
return {
|
|
@@ -35,12 +46,14 @@ function formatResult(status, data, response) {
|
|
|
35
46
|
const isObject = typeof data === 'object';
|
|
36
47
|
const headers = {};
|
|
37
48
|
|
|
38
|
-
for (const pair of response.headers.
|
|
49
|
+
for (const pair of (0, _entries.default)(_context2 = response.headers).call(_context2)) {
|
|
50
|
+
var _context2;
|
|
51
|
+
|
|
39
52
|
headers[pair[0]] = pair[1];
|
|
40
53
|
}
|
|
41
54
|
|
|
42
55
|
const result = {
|
|
43
|
-
responseText: isObject ?
|
|
56
|
+
responseText: isObject ? (0, _stringify.default)(data) : data,
|
|
44
57
|
status: status,
|
|
45
58
|
headers
|
|
46
59
|
};
|
|
@@ -61,7 +74,7 @@ function fetchRequest(method, url, args) {
|
|
|
61
74
|
var contentType = headers['Content-Type'] || headers['content-type'] || ''; // JSON encode body (if appropriate)
|
|
62
75
|
|
|
63
76
|
if (contentType === 'application/json' && body && typeof body !== 'string') {
|
|
64
|
-
body =
|
|
77
|
+
body = (0, _stringify.default)(body);
|
|
65
78
|
}
|
|
66
79
|
|
|
67
80
|
var fetch = global.fetch || _crossFetch.default;
|
|
@@ -73,7 +86,7 @@ function fetchRequest(method, url, args) {
|
|
|
73
86
|
});
|
|
74
87
|
|
|
75
88
|
if (!fetchPromise.finally) {
|
|
76
|
-
fetchPromise =
|
|
89
|
+
fetchPromise = _promise.default.resolve(fetchPromise);
|
|
77
90
|
}
|
|
78
91
|
|
|
79
92
|
return fetchPromise.then(function (response) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/fetch/fetchRequest.ts"],"names":["readData","response","headers","get","toLowerCase","
|
|
1
|
+
{"version":3,"sources":["../../../lib/fetch/fetchRequest.ts"],"names":["readData","response","headers","get","toLowerCase","json","catch","e","error","errorSummary","text","formatResult","status","data","isObject","pair","result","responseText","responseType","responseJSON","fetchRequest","method","url","args","body","contentType","fetch","global","crossFetch","fetchPromise","credentials","withCredentials","finally","resolve","then","ok"],"mappings":";;;;;;;;;;;;;;AAYA;;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA,SAASA,QAAT,CAAkBC,QAAlB,EAAgE;AAAA;;AAC9D,MAAIA,QAAQ,CAACC,OAAT,CAAiBC,GAAjB,CAAqB,cAArB,KACF;AACA,mCAAAF,QAAQ,CAACC,OAAT,CAAiBC,GAAjB,CAAqB,cAArB,EAAsCC,WAAtC,mBAA4D,kBAA5D,KAAmF,CAFrF,EAEwF;AACxF,WAAOH,QAAQ,CAACI,IAAT,GACL;AADK,KAEJC,KAFI,CAEEC,CAAC,IAAI;AACV,aAAO;AACLC,QAAAA,KAAK,EAAED,CADF;AAELE,QAAAA,YAAY,EAAE;AAFT,OAAP;AAID,KAPI,CAAP;AAQC,GAXD,MAWO;AACL,WAAOR,QAAQ,CAACS,IAAT,EAAP;AACD;AACF;;AAED,SAASC,YAAT,CAAsBC,MAAtB,EAAsCC,IAAtC,EAA6DZ,QAA7D,EAAiF;AAC/E,QAAMa,QAAQ,GAAG,OAAOD,IAAP,KAAgB,QAAjC;AACA,QAAMX,OAAO,GAAG,EAAhB;;AACA,OAAK,MAAMa,IAAX,IAAmB,kCAACd,QAAQ,CAACC,OAAV,iBAAnB,EAAwD;AAAA;;AACtDA,IAAAA,OAAO,CAACa,IAAI,CAAC,CAAD,CAAL,CAAP,GAAmBA,IAAI,CAAC,CAAD,CAAvB;AACD;;AACD,QAAMC,MAAoB,GAAG;AAC3BC,IAAAA,YAAY,EAAEH,QAAQ,GAAG,wBAAeD,IAAf,CAAH,GAA0BA,IADrB;AAE3BD,IAAAA,MAAM,EAAEA,MAFmB;AAG3BV,IAAAA;AAH2B,GAA7B;;AAKA,MAAIY,QAAJ,EAAc;AACZE,IAAAA,MAAM,CAACE,YAAP,GAAsB,MAAtB;AACAF,IAAAA,MAAM,CAACG,YAAP,GAAsBN,IAAtB;AACD;;AACD,SAAOG,MAAP;AACD;AAED;;;AACA,SAASI,YAAT,CAAsBC,MAAtB,EAAsCC,GAAtC,EAAmDC,IAAnD,EAAuE;AACrE,MAAIC,IAAI,GAAGD,IAAI,CAACV,IAAhB;AACA,MAAIX,OAAO,GAAGqB,IAAI,CAACrB,OAAL,IAAgB,EAA9B;AACA,MAAIuB,WAAW,GAAIvB,OAAO,CAAC,cAAD,CAAP,IAA2BA,OAAO,CAAC,cAAD,CAAlC,IAAsD,EAAzE,CAHqE,CAKrE;;AACA,MAAIuB,WAAW,KAAK,kBAAhB,IAAsCD,IAAtC,IAA8C,OAAOA,IAAP,KAAgB,QAAlE,EAA4E;AAC1EA,IAAAA,IAAI,GAAG,wBAAeA,IAAf,CAAP;AACD;;AACD,MAAIE,KAAK,GAAGC,MAAM,CAACD,KAAP,IAAgBE,mBAA5B;AACA,MAAIC,YAAY,GAAGH,KAAK,CAACJ,GAAD,EAAM;AAC5BD,IAAAA,MAAM,EAAEA,MADoB;AAE5BnB,IAAAA,OAAO,EAAEqB,IAAI,CAACrB,OAFc;AAG5BsB,IAAAA,IAAI,EAAEA,IAHsB;AAI5BM,IAAAA,WAAW,EAAEP,IAAI,CAACQ,eAAL,GAAuB,SAAvB,GAAmC;AAJpB,GAAN,CAAxB;;AAOA,MAAI,CAACF,YAAY,CAACG,OAAlB,EAA2B;AACzBH,IAAAA,YAAY,GAAG,iBAAQI,OAAR,CAAgBJ,YAAhB,CAAf;AACD;;AAED,SAAOA,YAAY,CAACK,IAAb,CAAkB,UAASjC,QAAT,EAAmB;AAC1C,QAAIO,KAAK,GAAG,CAACP,QAAQ,CAACkC,EAAtB;AACA,QAAIvB,MAAM,GAAGX,QAAQ,CAACW,MAAtB;AACA,WAAOZ,QAAQ,CAACC,QAAD,CAAR,CACJiC,IADI,CACCrB,IAAI,IAAI;AACZ,aAAOF,YAAY,CAACC,MAAD,EAASC,IAAT,EAAeZ,QAAf,CAAnB;AACD,KAHI,EAIJiC,IAJI,CAIClB,MAAM,IAAI;AAAA;;AACd,UAAIR,KAAK,4BAAIQ,MAAM,CAACG,YAAX,iDAAI,qBAAqBX,KAAlC,EAAyC;AACvC;AACA,cAAMQ,MAAN;AACD;;AACD,aAAOA,MAAP;AACD,KAVI,CAAP;AAWD,GAdM,CAAP;AAeD;;eAEcI,Y","sourcesContent":["/*!\n * Copyright (c) 2018-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 crossFetch from 'cross-fetch';\nimport { FetchOptions, HttpResponse } from '../types';\n\nfunction readData(response: Response): Promise<object | string> {\n if (response.headers.get('Content-Type') &&\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n response.headers.get('Content-Type')!.toLowerCase().indexOf('application/json') >= 0) {\n return response.json()\n // JSON parse can fail if response is not a valid object\n .catch(e => {\n return {\n error: e,\n errorSummary: 'Could not parse server response'\n };\n });\n } else {\n return response.text();\n }\n}\n\nfunction formatResult(status: number, data: object | string, response: Response) {\n const isObject = typeof data === 'object';\n const headers = {};\n for (const pair of (response.headers as any).entries()) {\n headers[pair[0]] = pair[1];\n }\n const result: HttpResponse = {\n responseText: isObject ? JSON.stringify(data) : data as string,\n status: status,\n headers\n };\n if (isObject) {\n result.responseType = 'json';\n result.responseJSON = data as object;\n }\n return result;\n}\n\n/* eslint-disable complexity */\nfunction fetchRequest(method: string, url: string, args: FetchOptions) {\n var body = args.data;\n var headers = args.headers || {};\n var contentType = (headers['Content-Type'] || headers['content-type'] || '');\n\n // JSON encode body (if appropriate)\n if (contentType === 'application/json' && body && typeof body !== 'string') {\n body = JSON.stringify(body);\n }\n var fetch = global.fetch || crossFetch;\n var fetchPromise = fetch(url, {\n method: method,\n headers: args.headers,\n body: body as string,\n credentials: args.withCredentials ? 'include' : 'omit'\n });\n\n if (!fetchPromise.finally) {\n fetchPromise = Promise.resolve(fetchPromise);\n }\n\n return fetchPromise.then(function(response) {\n var error = !response.ok;\n var status = response.status;\n return readData(response)\n .then(data => {\n return formatResult(status, data, response);\n })\n .then(result => {\n if (error || result.responseJSON?.error) {\n // Throwing result object since error handling is done in http.js\n throw result;\n }\n return result;\n });\n });\n}\n\nexport default fetchRequest;\n"],"file":"fetchRequest.js"}
|
package/cjs/http/headers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/http/headers.ts"],"names":["setRequestHeader","authClient","headerName","headerValue","options","headers"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGO,SAASA,gBAAT,CAA0BC,UAA1B,
|
|
1
|
+
{"version":3,"sources":["../../../lib/http/headers.ts"],"names":["setRequestHeader","authClient","headerName","headerValue","options","headers"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGO,SAASA,gBAAT,CAA0BC,UAA1B,EAAyDC,UAAzD,EAAqEC,WAArE,EAAkF;AACvFF,EAAAA,UAAU,CAACG,OAAX,CAAmBC,OAAnB,GAA6BJ,UAAU,CAACG,OAAX,CAAmBC,OAAnB,IAA8B,EAA3D;AACAJ,EAAAA,UAAU,CAACG,OAAX,CAAmBC,OAAnB,CAA2BH,UAA3B,IAAyCC,WAAzC;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 */\nimport { OktaAuthInterface } from '../types';\n\nexport function setRequestHeader(authClient: OktaAuthInterface, headerName, headerValue) {\n authClient.options.headers = authClient.options.headers || {};\n authClient.options.headers[headerName] = headerValue;\n}"],"file":"headers.js"}
|
package/cjs/http/index.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
|
|
4
|
+
|
|
3
5
|
var _headers = require("./headers");
|
|
4
6
|
|
|
5
|
-
|
|
7
|
+
_Object$keys(_headers).forEach(function (key) {
|
|
6
8
|
if (key === "default" || key === "__esModule") return;
|
|
7
9
|
if (key in exports && exports[key] === _headers[key]) return;
|
|
8
10
|
Object.defineProperty(exports, key, {
|
|
@@ -15,7 +17,7 @@ Object.keys(_headers).forEach(function (key) {
|
|
|
15
17
|
|
|
16
18
|
var _request = require("./request");
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
_Object$keys(_request).forEach(function (key) {
|
|
19
21
|
if (key === "default" || key === "__esModule") return;
|
|
20
22
|
if (key in exports && exports[key] === _request[key]) return;
|
|
21
23
|
Object.defineProperty(exports, key, {
|
package/cjs/http/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../lib/http/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../lib/http/index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './headers';\nexport * from './request';"],"file":"index.js"}
|
package/cjs/http/request.js
CHANGED
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
5
|
exports.httpRequest = httpRequest;
|
|
6
6
|
exports.get = get;
|
|
7
7
|
exports.post = post;
|
|
8
8
|
|
|
9
|
+
var _promise = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/promise"));
|
|
10
|
+
|
|
11
|
+
var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
|
|
12
|
+
|
|
9
13
|
var _util = require("../util");
|
|
10
14
|
|
|
11
15
|
var _AuthApiError = _interopRequireDefault(require("../errors/AuthApiError"));
|
|
12
16
|
|
|
13
17
|
var _constants = require("../constants");
|
|
14
18
|
|
|
19
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
20
|
+
|
|
15
21
|
/*!
|
|
16
22
|
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
17
23
|
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
@@ -44,7 +50,7 @@ function httpRequest(sdk, options) {
|
|
|
44
50
|
var cachedResponse = cacheContents[url];
|
|
45
51
|
|
|
46
52
|
if (cachedResponse && Date.now() / 1000 < cachedResponse.expiresAt) {
|
|
47
|
-
return
|
|
53
|
+
return _promise.default.resolve(cachedResponse.response);
|
|
48
54
|
}
|
|
49
55
|
}
|
|
50
56
|
|
|
@@ -55,7 +61,7 @@ function httpRequest(sdk, options) {
|
|
|
55
61
|
'Content-Type': 'application/json',
|
|
56
62
|
...oktaUserAgentHeader
|
|
57
63
|
};
|
|
58
|
-
|
|
64
|
+
(0, _assign.default)(headers, sdk.options.headers, options.headers);
|
|
59
65
|
headers = (0, _util.removeNils)(headers);
|
|
60
66
|
|
|
61
67
|
if (accessToken && (0, _util.isString)(accessToken)) {
|
|
@@ -134,7 +140,7 @@ function get(sdk, url, options) {
|
|
|
134
140
|
url: url,
|
|
135
141
|
method: 'GET'
|
|
136
142
|
};
|
|
137
|
-
|
|
143
|
+
(0, _assign.default)(getOptions, options);
|
|
138
144
|
return httpRequest(sdk, getOptions);
|
|
139
145
|
}
|
|
140
146
|
|
|
@@ -146,7 +152,7 @@ function post(sdk, url, args, options) {
|
|
|
146
152
|
args: args,
|
|
147
153
|
saveAuthnState: true
|
|
148
154
|
};
|
|
149
|
-
|
|
155
|
+
(0, _assign.default)(postOptions, options);
|
|
150
156
|
return httpRequest(sdk, postOptions);
|
|
151
157
|
}
|
|
152
158
|
//# sourceMappingURL=request.js.map
|