@okta/okta-auth-js 6.6.0 → 6.7.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 +23 -0
- package/README.md +20 -5
- package/cjs/AuthStateManager.js +6 -6
- package/cjs/AuthStateManager.js.map +1 -1
- package/cjs/OktaAuth.js +17 -7
- package/cjs/OktaAuth.js.map +1 -1
- package/cjs/OktaUserAgent.js +2 -2
- package/cjs/OktaUserAgent.js.map +1 -1
- package/cjs/PromiseQueue.js.map +1 -1
- package/cjs/SavedObject.js +6 -0
- package/cjs/SavedObject.js.map +1 -1
- package/cjs/ServiceManager.js +44 -68
- package/cjs/ServiceManager.js.map +1 -1
- package/cjs/StorageManager.js.map +1 -1
- package/cjs/TokenManager.js +63 -65
- package/cjs/TokenManager.js.map +1 -1
- package/cjs/TransactionManager.js.map +1 -1
- package/cjs/browser/browserStorage.js +13 -3
- package/cjs/browser/browserStorage.js.map +1 -1
- package/cjs/browser/fingerprint.js.map +1 -1
- package/cjs/builderUtil.js.map +1 -1
- package/cjs/cdnEntry.js +52 -0
- package/cjs/cdnEntry.js.map +1 -0
- package/cjs/clock.js.map +1 -1
- package/cjs/constants.js.map +1 -1
- package/cjs/crypto/base64.js.map +1 -1
- package/cjs/crypto/browser.js.map +1 -1
- package/cjs/crypto/index.js.map +1 -1
- package/cjs/crypto/node.js.map +1 -1
- package/cjs/crypto/oidcHash.js.map +1 -1
- package/cjs/crypto/verifyToken.js.map +1 -1
- package/cjs/crypto/webauthn.js.map +1 -1
- package/cjs/crypto/webcrypto.js.map +1 -1
- package/cjs/errors/AuthApiError.js +5 -1
- package/cjs/errors/AuthApiError.js.map +1 -1
- package/cjs/errors/AuthPollStopError.js.map +1 -1
- package/cjs/errors/AuthSdkError.js.map +1 -1
- package/cjs/errors/CustomError.js.map +1 -1
- package/cjs/errors/OAuthError.js.map +1 -1
- package/cjs/errors/index.js.map +1 -1
- package/cjs/features.js.map +1 -1
- package/cjs/fetch/fetchRequest.js.map +1 -1
- package/cjs/http/headers.js.map +1 -1
- package/cjs/http/index.js.map +1 -1
- package/cjs/http/request.js +14 -1
- package/cjs/http/request.js.map +1 -1
- 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/OktaVerifyTotp.js.map +1 -1
- package/cjs/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -1
- package/cjs/idx/authenticator/SecurityQuestionVerification.js.map +1 -1
- package/cjs/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -1
- package/cjs/idx/authenticator/WebauthnEnrollment.js.map +1 -1
- package/cjs/idx/authenticator/WebauthnVerification.js.map +1 -1
- package/cjs/idx/authenticator/getAuthenticator.js.map +1 -1
- package/cjs/idx/authenticator/index.js.map +1 -1
- package/cjs/idx/authenticator/util.js.map +1 -1
- package/cjs/idx/cancel.js.map +1 -1
- package/cjs/idx/emailVerify.js.map +1 -1
- package/cjs/idx/flow/AccountUnlockFlow.js.map +1 -1
- package/cjs/idx/flow/AuthenticationFlow.js.map +1 -1
- package/cjs/idx/flow/FlowSpecification.js.map +1 -1
- package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -1
- package/cjs/idx/flow/RegistrationFlow.js.map +1 -1
- package/cjs/idx/flow/RemediationFlow.js.map +1 -1
- package/cjs/idx/flow/index.js.map +1 -1
- package/cjs/idx/handleInteractionCodeRedirect.js.map +1 -1
- package/cjs/idx/idxState/index.js.map +1 -1
- package/cjs/idx/idxState/v1/actionParser.js.map +1 -1
- package/cjs/idx/idxState/v1/generateIdxAction.js.map +1 -1
- package/cjs/idx/idxState/v1/idxResponseParser.js.map +1 -1
- package/cjs/idx/idxState/v1/makeIdxState.js.map +1 -1
- package/cjs/idx/idxState/v1/parsers.js.map +1 -1
- package/cjs/idx/idxState/v1/remediationParser.js.map +1 -1
- package/cjs/idx/index.js.map +1 -1
- package/cjs/idx/interact.js.map +1 -1
- package/cjs/idx/introspect.js.map +1 -1
- package/cjs/idx/poll.js.map +1 -1
- package/cjs/idx/proceed.js.map +1 -1
- package/cjs/idx/recoverPassword.js.map +1 -1
- package/cjs/idx/register.js.map +1 -1
- package/cjs/idx/remediate.js +7 -11
- package/cjs/idx/remediate.js.map +1 -1
- package/cjs/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -1
- package/cjs/idx/remediators/AuthenticatorVerificationData.js.map +1 -1
- package/cjs/idx/remediators/Base/AuthenticatorData.js.map +1 -1
- package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
- package/cjs/idx/remediators/Base/SelectAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/ChallengeAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/ChallengePoll.js.map +1 -1
- package/cjs/idx/remediators/EnrollAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/EnrollPoll.js.map +1 -1
- package/cjs/idx/remediators/EnrollProfile.js.map +1 -1
- package/cjs/idx/remediators/EnrollmentChannelData.js.map +1 -1
- package/cjs/idx/remediators/GenericRemediator/GenericRemediator.js.map +1 -1
- package/cjs/idx/remediators/GenericRemediator/index.js.map +1 -1
- package/cjs/idx/remediators/GenericRemediator/util.js +7 -1
- package/cjs/idx/remediators/GenericRemediator/util.js.map +1 -1
- package/cjs/idx/remediators/Identify.js.map +1 -1
- package/cjs/idx/remediators/ReEnrollAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/RedirectIdp.js.map +1 -1
- package/cjs/idx/remediators/ResetAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -1
- package/cjs/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -1
- package/cjs/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -1
- package/cjs/idx/remediators/SelectEnrollProfile.js.map +1 -1
- package/cjs/idx/remediators/SelectEnrollmentChannel.js.map +1 -1
- package/cjs/idx/remediators/Skip.js.map +1 -1
- package/cjs/idx/remediators/index.js.map +1 -1
- package/cjs/idx/remediators/util.js.map +1 -1
- package/cjs/idx/run.js +1 -1
- package/cjs/idx/run.js.map +1 -1
- package/cjs/idx/startTransaction.js.map +1 -1
- package/cjs/idx/transactionMeta.js.map +1 -1
- package/cjs/idx/types/FlowIdentifier.js.map +1 -1
- package/cjs/idx/types/api.js.map +1 -1
- package/cjs/idx/types/idx-js.js.map +1 -1
- package/cjs/idx/types/index.js.map +1 -1
- package/cjs/idx/types/options.js.map +1 -1
- package/cjs/idx/unlockAccount.js.map +1 -1
- package/cjs/idx/util.js +21 -24
- package/cjs/idx/util.js.map +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/myaccount/api.js +43 -0
- package/cjs/myaccount/api.js.map +1 -0
- package/cjs/myaccount/emailApi.js +144 -0
- package/cjs/myaccount/emailApi.js.map +1 -0
- package/cjs/myaccount/index.js +30 -0
- package/cjs/myaccount/index.js.map +1 -0
- package/cjs/myaccount/phoneApi.js +123 -0
- package/cjs/myaccount/phoneApi.js.map +1 -0
- package/cjs/myaccount/profileApi.js +58 -0
- package/cjs/myaccount/profileApi.js.map +1 -0
- package/cjs/myaccount/request.js +168 -0
- package/cjs/myaccount/request.js.map +1 -0
- package/cjs/myaccount/transactions/Base.js +38 -0
- package/cjs/myaccount/transactions/Base.js.map +1 -0
- package/cjs/myaccount/transactions/EmailChallengeTransaction.js +58 -0
- package/cjs/myaccount/transactions/EmailChallengeTransaction.js.map +1 -0
- package/cjs/myaccount/transactions/EmailStatusTransaction.js +32 -0
- package/cjs/myaccount/transactions/EmailStatusTransaction.js.map +1 -0
- package/cjs/myaccount/transactions/EmailTransaction.js +94 -0
- package/cjs/myaccount/transactions/EmailTransaction.js.map +1 -0
- package/cjs/myaccount/transactions/PhoneTransaction.js +78 -0
- package/cjs/myaccount/transactions/PhoneTransaction.js.map +1 -0
- package/cjs/myaccount/transactions/ProfileSchemaTransaction.js +19 -0
- package/cjs/myaccount/transactions/ProfileSchemaTransaction.js.map +1 -0
- package/cjs/myaccount/transactions/ProfileTransaction.js +26 -0
- package/cjs/myaccount/transactions/ProfileTransaction.js.map +1 -0
- package/cjs/myaccount/transactions/index.js +61 -0
- package/cjs/myaccount/transactions/index.js.map +1 -0
- package/cjs/myaccount/types.js +64 -0
- package/cjs/myaccount/types.js.map +1 -0
- package/cjs/oidc/decodeToken.js.map +1 -1
- package/cjs/oidc/endpoints/authorize.js.map +1 -1
- package/cjs/oidc/endpoints/index.js.map +1 -1
- package/cjs/oidc/endpoints/token.js.map +1 -1
- package/cjs/oidc/endpoints/well-known.js.map +1 -1
- package/cjs/oidc/exchangeCodeForTokens.js.map +1 -1
- package/cjs/oidc/getToken.js.map +1 -1
- package/cjs/oidc/getUserInfo.js.map +1 -1
- package/cjs/oidc/getWithPopup.js.map +1 -1
- package/cjs/oidc/getWithRedirect.js.map +1 -1
- package/cjs/oidc/getWithoutPrompt.js.map +1 -1
- package/cjs/oidc/handleOAuthResponse.js.map +1 -1
- package/cjs/oidc/index.js.map +1 -1
- package/cjs/oidc/parseFromUrl.js.map +1 -1
- package/cjs/oidc/renewToken.js.map +1 -1
- package/cjs/oidc/renewTokens.js.map +1 -1
- package/cjs/oidc/renewTokensWithRefresh.js.map +1 -1
- package/cjs/oidc/revokeToken.js.map +1 -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.map +1 -1
- package/cjs/oidc/util/loginRedirect.js.map +1 -1
- package/cjs/oidc/util/oauth.js.map +1 -1
- package/cjs/oidc/util/oauthMeta.js.map +1 -1
- package/cjs/oidc/util/pkce.js.map +1 -1
- package/cjs/oidc/util/prepareTokenParams.js.map +1 -1
- package/cjs/oidc/util/refreshToken.js.map +1 -1
- package/cjs/oidc/util/urlParams.js.map +1 -1
- package/cjs/oidc/util/validateClaims.js.map +1 -1
- package/cjs/oidc/util/validateToken.js.map +1 -1
- package/cjs/oidc/verifyToken.js.map +1 -1
- package/cjs/options/browser.js.map +1 -1
- package/cjs/options/index.js +3 -1
- package/cjs/options/index.js.map +1 -1
- package/cjs/options/node.js.map +1 -1
- package/cjs/server/serverStorage.js +2 -1
- package/cjs/server/serverStorage.js.map +1 -1
- package/cjs/services/AutoRenewService.js +7 -7
- package/cjs/services/AutoRenewService.js.map +1 -1
- package/cjs/services/LeaderElectionService.js +103 -0
- package/cjs/services/LeaderElectionService.js.map +1 -0
- package/cjs/services/SyncStorageService.js +121 -39
- package/cjs/services/SyncStorageService.js.map +1 -1
- package/cjs/services/index.js +13 -0
- package/cjs/services/index.js.map +1 -1
- package/cjs/session.js.map +1 -1
- package/cjs/tx/AuthTransaction.js.map +1 -1
- package/cjs/tx/TransactionState.js.map +1 -1
- package/cjs/tx/api.js.map +1 -1
- package/cjs/tx/index.js.map +1 -1
- package/cjs/tx/poll.js.map +1 -1
- package/cjs/tx/util.js.map +1 -1
- package/cjs/types/AuthState.js.map +1 -1
- package/cjs/types/Cookies.js.map +1 -1
- package/cjs/types/EventEmitter.js.map +1 -1
- package/cjs/types/JWT.js.map +1 -1
- package/cjs/types/OAuth.js.map +1 -1
- package/cjs/types/OktaAuthOptions.js.map +1 -1
- package/cjs/types/Service.js.map +1 -1
- package/cjs/types/Storage.js.map +1 -1
- package/cjs/types/Token.js.map +1 -1
- package/cjs/types/TokenManager.js +16 -0
- package/cjs/types/TokenManager.js.map +1 -1
- package/cjs/types/Transaction.js.map +1 -1
- package/cjs/types/UserClaims.js.map +1 -1
- package/cjs/types/api.js.map +1 -1
- package/cjs/types/http.js.map +1 -1
- package/cjs/types/index.js +13 -0
- package/cjs/types/index.js.map +1 -1
- package/cjs/util/console.js +2 -1
- package/cjs/util/console.js.map +1 -1
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/misc.js.map +1 -1
- package/cjs/util/object.js.map +1 -1
- package/cjs/util/sharedStorage.js.map +1 -1
- package/cjs/util/types.js.map +1 -1
- package/cjs/util/url.js.map +1 -1
- package/dist/myaccount.umd.js +3 -0
- package/dist/myaccount.umd.js.LICENSE.txt +12 -0
- package/dist/myaccount.umd.js.map +1 -0
- package/dist/okta-auth-js.min.js +1 -1
- 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.map +1 -1
- package/esm/browser/AuthStateManager.js +161 -0
- package/esm/browser/AuthStateManager.js.map +1 -0
- package/esm/browser/OktaAuth.js +560 -0
- package/esm/browser/OktaAuth.js.map +1 -0
- package/esm/browser/OktaUserAgent.js +39 -0
- package/esm/browser/OktaUserAgent.js.map +1 -0
- package/esm/browser/PromiseQueue.js +65 -0
- package/esm/browser/PromiseQueue.js.map +1 -0
- package/esm/browser/SavedObject.js +81 -0
- package/esm/browser/SavedObject.js.map +1 -0
- package/esm/browser/ServiceManager.js +115 -0
- package/esm/browser/ServiceManager.js.map +1 -0
- package/esm/browser/StorageManager.js +148 -0
- package/esm/browser/StorageManager.js.map +1 -0
- package/esm/browser/TokenManager.js +386 -0
- package/esm/browser/TokenManager.js.map +1 -0
- package/esm/browser/TransactionManager.js +244 -0
- package/esm/browser/TransactionManager.js.map +1 -0
- package/esm/browser/_virtual/_tslib.js +41 -0
- package/esm/browser/_virtual/_tslib.js.map +1 -0
- package/esm/browser/browser/browserStorage.js +216 -0
- package/esm/browser/browser/browserStorage.js.map +1 -0
- package/esm/browser/browser/fingerprint.js +69 -0
- package/esm/browser/browser/fingerprint.js.map +1 -0
- package/esm/browser/builderUtil.js +39 -0
- package/esm/browser/builderUtil.js.map +1 -0
- package/esm/browser/clock.js +28 -0
- package/esm/browser/clock.js.map +1 -0
- package/esm/browser/constants.js +37 -0
- package/esm/browser/constants.js.map +1 -0
- package/esm/browser/crypto/base64.js +66 -0
- package/esm/browser/crypto/base64.js.map +1 -0
- package/esm/browser/crypto/browser.js +18 -0
- package/esm/browser/crypto/browser.js.map +1 -0
- package/esm/browser/crypto/index.js +17 -0
- package/esm/browser/crypto/index.js.map +1 -0
- package/esm/browser/crypto/oidcHash.js +28 -0
- package/esm/browser/crypto/oidcHash.js.map +1 -0
- package/esm/browser/crypto/verifyToken.js +38 -0
- package/esm/browser/crypto/verifyToken.js.map +1 -0
- package/esm/browser/crypto/webauthn.js +79 -0
- package/esm/browser/crypto/webauthn.js.map +1 -0
- package/esm/browser/errors/AuthApiError.js +35 -0
- package/esm/browser/errors/AuthApiError.js.map +1 -0
- package/esm/browser/errors/AuthPollStopError.js +23 -0
- package/esm/browser/errors/AuthPollStopError.js.map +1 -0
- package/esm/browser/errors/AuthSdkError.js +31 -0
- package/esm/browser/errors/AuthSdkError.js.map +1 -0
- package/esm/browser/errors/CustomError.js +21 -0
- package/esm/browser/errors/CustomError.js.map +1 -0
- package/esm/browser/errors/OAuthError.js +27 -0
- package/esm/browser/errors/OAuthError.js.map +1 -0
- package/esm/browser/errors/index.js +26 -0
- package/esm/browser/errors/index.js.map +1 -0
- package/esm/browser/features.js +67 -0
- package/esm/browser/features.js.map +1 -0
- package/esm/browser/fetch/fetchRequest.js +90 -0
- package/esm/browser/fetch/fetchRequest.js.map +1 -0
- package/esm/browser/http/headers.js +19 -0
- package/esm/browser/http/headers.js.map +1 -0
- package/esm/browser/http/request.js +133 -0
- package/esm/browser/http/request.js.map +1 -0
- package/esm/browser/idx/authenticate.js +25 -0
- package/esm/browser/idx/authenticate.js.map +1 -0
- package/esm/browser/idx/authenticator/Authenticator.js +20 -0
- package/esm/browser/idx/authenticator/Authenticator.js.map +1 -0
- package/esm/browser/idx/authenticator/OktaPassword.js +33 -0
- package/esm/browser/idx/authenticator/OktaPassword.js.map +1 -0
- package/esm/browser/idx/authenticator/OktaVerifyTotp.js +26 -0
- package/esm/browser/idx/authenticator/OktaVerifyTotp.js.map +1 -0
- package/esm/browser/idx/authenticator/SecurityQuestionEnrollment.js +45 -0
- package/esm/browser/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -0
- package/esm/browser/idx/authenticator/SecurityQuestionVerification.js +42 -0
- package/esm/browser/idx/authenticator/SecurityQuestionVerification.js.map +1 -0
- package/esm/browser/idx/authenticator/VerificationCodeAuthenticator.js +33 -0
- package/esm/browser/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -0
- package/esm/browser/idx/authenticator/WebauthnEnrollment.js +41 -0
- package/esm/browser/idx/authenticator/WebauthnEnrollment.js.map +1 -0
- package/esm/browser/idx/authenticator/WebauthnVerification.js +43 -0
- package/esm/browser/idx/authenticator/WebauthnVerification.js.map +1 -0
- package/esm/browser/idx/authenticator/getAuthenticator.js +51 -0
- package/esm/browser/idx/authenticator/getAuthenticator.js.map +1 -0
- package/esm/browser/idx/authenticator/util.js +55 -0
- package/esm/browser/idx/authenticator/util.js.map +1 -0
- package/esm/browser/idx/cancel.js +42 -0
- package/esm/browser/idx/cancel.js.map +1 -0
- package/esm/browser/idx/emailVerify.js +46 -0
- package/esm/browser/idx/emailVerify.js.map +1 -0
- package/esm/browser/idx/flow/AccountUnlockFlow.js +43 -0
- package/esm/browser/idx/flow/AccountUnlockFlow.js.map +1 -0
- package/esm/browser/idx/flow/AuthenticationFlow.js +49 -0
- package/esm/browser/idx/flow/AuthenticationFlow.js.map +1 -0
- package/esm/browser/idx/flow/FlowSpecification.js +56 -0
- package/esm/browser/idx/flow/FlowSpecification.js.map +1 -0
- package/esm/browser/idx/flow/PasswordRecoveryFlow.js +47 -0
- package/esm/browser/idx/flow/PasswordRecoveryFlow.js.map +1 -0
- package/esm/browser/idx/flow/RegistrationFlow.js +46 -0
- package/esm/browser/idx/flow/RegistrationFlow.js.map +1 -0
- package/esm/browser/idx/handleInteractionCodeRedirect.js +41 -0
- package/esm/browser/idx/handleInteractionCodeRedirect.js.map +1 -0
- package/esm/browser/idx/idxState/index.js +46 -0
- package/esm/browser/idx/idxState/index.js.map +1 -0
- package/esm/browser/idx/idxState/v1/actionParser.js +53 -0
- package/esm/browser/idx/idxState/v1/actionParser.js.map +1 -0
- package/esm/browser/idx/idxState/v1/generateIdxAction.js +65 -0
- package/esm/browser/idx/idxState/v1/generateIdxAction.js.map +1 -0
- package/esm/browser/idx/idxState/v1/idxResponseParser.js +95 -0
- package/esm/browser/idx/idxState/v1/idxResponseParser.js.map +1 -0
- package/esm/browser/idx/idxState/v1/makeIdxState.js +46 -0
- package/esm/browser/idx/idxState/v1/makeIdxState.js.map +1 -0
- package/esm/browser/idx/idxState/v1/parsers.js +20 -0
- package/esm/browser/idx/idxState/v1/parsers.js.map +1 -0
- package/esm/browser/idx/idxState/v1/remediationParser.js +25 -0
- package/esm/browser/idx/idxState/v1/remediationParser.js.map +1 -0
- package/esm/browser/idx/interact.js +62 -0
- package/esm/browser/idx/interact.js.map +1 -0
- package/esm/browser/idx/introspect.js +68 -0
- package/esm/browser/idx/introspect.js.map +1 -0
- package/esm/browser/idx/poll.js +52 -0
- package/esm/browser/idx/poll.js.map +1 -0
- package/esm/browser/idx/proceed.js +34 -0
- package/esm/browser/idx/proceed.js.map +1 -0
- package/esm/browser/idx/recoverPassword.js +41 -0
- package/esm/browser/idx/recoverPassword.js.map +1 -0
- package/esm/browser/idx/register.js +36 -0
- package/esm/browser/idx/register.js.map +1 -0
- package/esm/browser/idx/remediate.js +134 -0
- package/esm/browser/idx/remediate.js.map +1 -0
- package/esm/browser/idx/remediators/AuthenticatorEnrollmentData.js +48 -0
- package/esm/browser/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -0
- package/esm/browser/idx/remediators/AuthenticatorVerificationData.js +71 -0
- package/esm/browser/idx/remediators/AuthenticatorVerificationData.js.map +1 -0
- package/esm/browser/idx/remediators/Base/AuthenticatorData.js +82 -0
- package/esm/browser/idx/remediators/Base/AuthenticatorData.js.map +1 -0
- package/esm/browser/idx/remediators/Base/Remediator.js +177 -0
- package/esm/browser/idx/remediators/Base/Remediator.js.map +1 -0
- package/esm/browser/idx/remediators/Base/SelectAuthenticator.js +90 -0
- package/esm/browser/idx/remediators/Base/SelectAuthenticator.js.map +1 -0
- package/esm/browser/idx/remediators/Base/VerifyAuthenticator.js +44 -0
- package/esm/browser/idx/remediators/Base/VerifyAuthenticator.js.map +1 -0
- package/esm/browser/idx/remediators/ChallengeAuthenticator.js +20 -0
- package/esm/browser/idx/remediators/ChallengeAuthenticator.js.map +1 -0
- package/esm/browser/idx/remediators/ChallengePoll.js +23 -0
- package/esm/browser/idx/remediators/ChallengePoll.js.map +1 -0
- package/esm/browser/idx/remediators/EnrollAuthenticator.js +20 -0
- package/esm/browser/idx/remediators/EnrollAuthenticator.js.map +1 -0
- package/esm/browser/idx/remediators/EnrollPoll.js +38 -0
- package/esm/browser/idx/remediators/EnrollPoll.js.map +1 -0
- package/esm/browser/idx/remediators/EnrollProfile.js +52 -0
- package/esm/browser/idx/remediators/EnrollProfile.js.map +1 -0
- package/esm/browser/idx/remediators/EnrollmentChannelData.js +49 -0
- package/esm/browser/idx/remediators/EnrollmentChannelData.js.map +1 -0
- package/esm/browser/idx/remediators/GenericRemediator/GenericRemediator.js +61 -0
- package/esm/browser/idx/remediators/GenericRemediator/GenericRemediator.js.map +1 -0
- package/esm/browser/idx/remediators/GenericRemediator/util.js +92 -0
- package/esm/browser/idx/remediators/GenericRemediator/util.js.map +1 -0
- package/esm/browser/idx/remediators/Identify.js +40 -0
- package/esm/browser/idx/remediators/Identify.js.map +1 -0
- package/esm/browser/idx/remediators/ReEnrollAuthenticator.js +34 -0
- package/esm/browser/idx/remediators/ReEnrollAuthenticator.js.map +1 -0
- package/esm/browser/idx/remediators/RedirectIdp.js +32 -0
- package/esm/browser/idx/remediators/RedirectIdp.js.map +1 -0
- package/esm/browser/idx/remediators/ResetAuthenticator.js +20 -0
- package/esm/browser/idx/remediators/ResetAuthenticator.js.map +1 -0
- package/esm/browser/idx/remediators/SelectAuthenticatorAuthenticate.js +35 -0
- package/esm/browser/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -0
- package/esm/browser/idx/remediators/SelectAuthenticatorEnroll.js +20 -0
- package/esm/browser/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -0
- package/esm/browser/idx/remediators/SelectAuthenticatorUnlockAccount.js +44 -0
- package/esm/browser/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -0
- package/esm/browser/idx/remediators/SelectEnrollProfile.js +23 -0
- package/esm/browser/idx/remediators/SelectEnrollProfile.js.map +1 -0
- package/esm/browser/idx/remediators/SelectEnrollmentChannel.js +50 -0
- package/esm/browser/idx/remediators/SelectEnrollmentChannel.js.map +1 -0
- package/esm/browser/idx/remediators/Skip.js +23 -0
- package/esm/browser/idx/remediators/Skip.js.map +1 -0
- package/esm/browser/idx/remediators/index.js +33 -0
- package/esm/browser/idx/remediators/index.js.map +1 -0
- package/esm/browser/idx/remediators/util.js +34 -0
- package/esm/browser/idx/remediators/util.js.map +1 -0
- package/esm/browser/idx/run.js +245 -0
- package/esm/browser/idx/run.js.map +1 -0
- package/esm/browser/idx/startTransaction.js +21 -0
- package/esm/browser/idx/startTransaction.js.map +1 -0
- package/esm/browser/idx/transactionMeta.js +110 -0
- package/esm/browser/idx/transactionMeta.js.map +1 -0
- package/esm/browser/idx/types/api.js +43 -0
- package/esm/browser/idx/types/api.js.map +1 -0
- package/esm/browser/idx/types/idx-js.js +21 -0
- package/esm/browser/idx/types/idx-js.js.map +1 -0
- package/esm/browser/idx/unlockAccount.js +32 -0
- package/esm/browser/idx/unlockAccount.js.map +1 -0
- package/esm/browser/idx/util.js +212 -0
- package/esm/browser/idx/util.js.map +1 -0
- package/esm/browser/index.js +91 -0
- package/esm/browser/index.js.map +1 -0
- package/esm/browser/myaccount/emailApi.js +86 -0
- package/esm/browser/myaccount/emailApi.js.map +1 -0
- package/esm/browser/myaccount/myaccount/index.js +24 -0
- package/esm/browser/myaccount/myaccount/index.js.map +1 -0
- package/esm/browser/myaccount/phoneApi.js +76 -0
- package/esm/browser/myaccount/phoneApi.js.map +1 -0
- package/esm/browser/myaccount/profileApi.js +46 -0
- package/esm/browser/myaccount/profileApi.js.map +1 -0
- package/esm/browser/myaccount/request.js +121 -0
- package/esm/browser/myaccount/request.js.map +1 -0
- package/esm/browser/myaccount/transactions/Base.js +32 -0
- package/esm/browser/myaccount/transactions/Base.js.map +1 -0
- package/esm/browser/myaccount/transactions/EmailChallengeTransaction.js +48 -0
- package/esm/browser/myaccount/transactions/EmailChallengeTransaction.js.map +1 -0
- package/esm/browser/myaccount/transactions/EmailStatusTransaction.js +28 -0
- package/esm/browser/myaccount/transactions/EmailStatusTransaction.js.map +1 -0
- package/esm/browser/myaccount/transactions/EmailTransaction.js +81 -0
- package/esm/browser/myaccount/transactions/EmailTransaction.js.map +1 -0
- package/esm/browser/myaccount/transactions/PhoneTransaction.js +67 -0
- package/esm/browser/myaccount/transactions/PhoneTransaction.js.map +1 -0
- package/esm/browser/myaccount/transactions/ProfileSchemaTransaction.js +23 -0
- package/esm/browser/myaccount/transactions/ProfileSchemaTransaction.js.map +1 -0
- package/esm/browser/myaccount/transactions/ProfileTransaction.js +26 -0
- package/esm/browser/myaccount/transactions/ProfileTransaction.js.map +1 -0
- package/esm/browser/myaccount/types.js +25 -0
- package/esm/browser/myaccount/types.js.map +1 -0
- package/esm/browser/oidc/decodeToken.js +33 -0
- package/esm/browser/oidc/decodeToken.js.map +1 -0
- package/esm/browser/oidc/endpoints/authorize.js +63 -0
- package/esm/browser/oidc/endpoints/authorize.js.map +1 -0
- package/esm/browser/oidc/endpoints/token.js +83 -0
- package/esm/browser/oidc/endpoints/token.js.map +1 -0
- package/esm/browser/oidc/endpoints/well-known.js +55 -0
- package/esm/browser/oidc/endpoints/well-known.js.map +1 -0
- package/esm/browser/oidc/exchangeCodeForTokens.js +58 -0
- package/esm/browser/oidc/exchangeCodeForTokens.js.map +1 -0
- package/esm/browser/oidc/getToken.js +117 -0
- package/esm/browser/oidc/getToken.js.map +1 -0
- package/esm/browser/oidc/getUserInfo.js +69 -0
- package/esm/browser/oidc/getUserInfo.js.map +1 -0
- package/esm/browser/oidc/getWithPopup.js +35 -0
- package/esm/browser/oidc/getWithPopup.js.map +1 -0
- package/esm/browser/oidc/getWithRedirect.js +34 -0
- package/esm/browser/oidc/getWithRedirect.js.map +1 -0
- package/esm/browser/oidc/getWithoutPrompt.js +31 -0
- package/esm/browser/oidc/getWithoutPrompt.js.map +1 -0
- package/esm/browser/oidc/handleOAuthResponse.js +119 -0
- package/esm/browser/oidc/handleOAuthResponse.js.map +1 -0
- package/esm/browser/oidc/parseFromUrl.js +116 -0
- package/esm/browser/oidc/parseFromUrl.js.map +1 -0
- package/esm/browser/oidc/renewToken.js +67 -0
- package/esm/browser/oidc/renewToken.js.map +1 -0
- package/esm/browser/oidc/renewTokens.js +58 -0
- package/esm/browser/oidc/renewTokens.js.map +1 -0
- package/esm/browser/oidc/renewTokensWithRefresh.js +47 -0
- package/esm/browser/oidc/renewTokensWithRefresh.js.map +1 -0
- package/esm/browser/oidc/revokeToken.js +49 -0
- package/esm/browser/oidc/revokeToken.js.map +1 -0
- package/esm/browser/oidc/util/browser.js +69 -0
- package/esm/browser/oidc/util/browser.js.map +1 -0
- package/esm/browser/oidc/util/defaultTokenParams.js +34 -0
- package/esm/browser/oidc/util/defaultTokenParams.js.map +1 -0
- package/esm/browser/oidc/util/errors.js +38 -0
- package/esm/browser/oidc/util/errors.js.map +1 -0
- package/esm/browser/oidc/util/loginRedirect.js +66 -0
- package/esm/browser/oidc/util/loginRedirect.js.map +1 -0
- package/esm/browser/oidc/util/oauth.js +65 -0
- package/esm/browser/oidc/util/oauth.js.map +1 -0
- package/esm/browser/oidc/util/oauthMeta.js +38 -0
- package/esm/browser/oidc/util/oauthMeta.js.map +1 -0
- package/esm/browser/oidc/util/pkce.js +48 -0
- package/esm/browser/oidc/util/pkce.js.map +1 -0
- package/esm/browser/oidc/util/prepareTokenParams.js +65 -0
- package/esm/browser/oidc/util/prepareTokenParams.js.map +1 -0
- package/esm/browser/oidc/util/refreshToken.js +33 -0
- package/esm/browser/oidc/util/refreshToken.js.map +1 -0
- package/esm/browser/oidc/util/urlParams.js +43 -0
- package/esm/browser/oidc/util/urlParams.js.map +1 -0
- package/esm/browser/oidc/util/validateClaims.js +48 -0
- package/esm/browser/oidc/util/validateClaims.js.map +1 -0
- package/esm/browser/oidc/util/validateToken.js +34 -0
- package/esm/browser/oidc/util/validateToken.js.map +1 -0
- package/esm/browser/oidc/verifyToken.js +54 -0
- package/esm/browser/oidc/verifyToken.js.map +1 -0
- package/esm/browser/options/browser.js +77 -0
- package/esm/browser/options/browser.js.map +1 -0
- package/esm/browser/options/index.js +85 -0
- package/esm/browser/options/index.js.map +1 -0
- package/esm/browser/services/AutoRenewService.js +77 -0
- package/esm/browser/services/AutoRenewService.js.map +1 -0
- package/esm/browser/services/LeaderElectionService.js +74 -0
- package/esm/browser/services/LeaderElectionService.js.map +1 -0
- package/esm/browser/services/SyncStorageService.js +130 -0
- package/esm/browser/services/SyncStorageService.js.map +1 -0
- package/esm/browser/session.js +66 -0
- package/esm/browser/session.js.map +1 -0
- package/esm/browser/tx/AuthTransaction.js +174 -0
- package/esm/browser/tx/AuthTransaction.js.map +1 -0
- package/esm/browser/tx/api.js +72 -0
- package/esm/browser/tx/api.js.map +1 -0
- package/esm/browser/tx/poll.js +117 -0
- package/esm/browser/tx/poll.js.map +1 -0
- package/esm/browser/tx/util.js +26 -0
- package/esm/browser/tx/util.js.map +1 -0
- package/esm/browser/types/Token.js +32 -0
- package/esm/browser/types/Token.js.map +1 -0
- package/esm/browser/types/TokenManager.js +21 -0
- package/esm/browser/types/TokenManager.js.map +1 -0
- package/esm/browser/types/Transaction.js +52 -0
- package/esm/browser/types/Transaction.js.map +1 -0
- package/esm/browser/util/console.js +50 -0
- package/esm/browser/util/console.js.map +1 -0
- package/esm/browser/util/misc.js +32 -0
- package/esm/browser/util/misc.js.map +1 -0
- package/esm/browser/util/object.js +98 -0
- package/esm/browser/util/object.js.map +1 -0
- package/esm/browser/util/sharedStorage.js +56 -0
- package/esm/browser/util/sharedStorage.js.map +1 -0
- package/esm/browser/util/types.js +30 -0
- package/esm/browser/util/types.js.map +1 -0
- package/esm/browser/util/url.js +57 -0
- package/esm/browser/util/url.js.map +1 -0
- package/esm/node/AuthStateManager.js +161 -0
- package/esm/node/AuthStateManager.js.map +1 -0
- package/esm/node/OktaAuth.js +560 -0
- package/esm/node/OktaAuth.js.map +1 -0
- package/esm/node/OktaUserAgent.js +39 -0
- package/esm/node/OktaUserAgent.js.map +1 -0
- package/esm/node/PromiseQueue.js +65 -0
- package/esm/node/PromiseQueue.js.map +1 -0
- package/esm/node/SavedObject.js +81 -0
- package/esm/node/SavedObject.js.map +1 -0
- package/esm/node/ServiceManager.js +115 -0
- package/esm/node/ServiceManager.js.map +1 -0
- package/esm/node/StorageManager.js +148 -0
- package/esm/node/StorageManager.js.map +1 -0
- package/esm/node/TokenManager.js +387 -0
- package/esm/node/TokenManager.js.map +1 -0
- package/esm/node/TransactionManager.js +244 -0
- package/esm/node/TransactionManager.js.map +1 -0
- package/esm/node/_virtual/_tslib.js +41 -0
- package/esm/node/_virtual/_tslib.js.map +1 -0
- package/esm/node/browser/browserStorage.js +216 -0
- package/esm/node/browser/browserStorage.js.map +1 -0
- package/esm/node/browser/fingerprint.js +70 -0
- package/esm/node/browser/fingerprint.js.map +1 -0
- package/esm/node/builderUtil.js +39 -0
- package/esm/node/builderUtil.js.map +1 -0
- package/esm/node/clock.js +28 -0
- package/esm/node/clock.js.map +1 -0
- package/esm/node/constants.js +37 -0
- package/esm/node/constants.js.map +1 -0
- package/esm/node/crypto/base64.js +66 -0
- package/esm/node/crypto/base64.js.map +1 -0
- package/esm/node/crypto/index.js +17 -0
- package/esm/node/crypto/index.js.map +1 -0
- package/esm/node/crypto/node.js +48 -0
- package/esm/node/crypto/node.js.map +1 -0
- package/esm/node/crypto/oidcHash.js +28 -0
- package/esm/node/crypto/oidcHash.js.map +1 -0
- package/esm/node/crypto/verifyToken.js +38 -0
- package/esm/node/crypto/verifyToken.js.map +1 -0
- package/esm/node/crypto/webauthn.js +79 -0
- package/esm/node/crypto/webauthn.js.map +1 -0
- package/esm/node/errors/AuthApiError.js +35 -0
- package/esm/node/errors/AuthApiError.js.map +1 -0
- package/esm/node/errors/AuthPollStopError.js +23 -0
- package/esm/node/errors/AuthPollStopError.js.map +1 -0
- package/esm/node/errors/AuthSdkError.js +31 -0
- package/esm/node/errors/AuthSdkError.js.map +1 -0
- package/esm/node/errors/CustomError.js +21 -0
- package/esm/node/errors/CustomError.js.map +1 -0
- package/esm/node/errors/OAuthError.js +27 -0
- package/esm/node/errors/OAuthError.js.map +1 -0
- package/esm/node/errors/index.js +26 -0
- package/esm/node/errors/index.js.map +1 -0
- package/esm/node/features.js +67 -0
- package/esm/node/features.js.map +1 -0
- package/esm/node/fetch/fetchRequest.js +90 -0
- package/esm/node/fetch/fetchRequest.js.map +1 -0
- package/esm/node/http/headers.js +19 -0
- package/esm/node/http/headers.js.map +1 -0
- package/esm/node/http/request.js +133 -0
- package/esm/node/http/request.js.map +1 -0
- package/esm/node/idx/authenticate.js +25 -0
- package/esm/node/idx/authenticate.js.map +1 -0
- package/esm/node/idx/authenticator/Authenticator.js +20 -0
- package/esm/node/idx/authenticator/Authenticator.js.map +1 -0
- package/esm/node/idx/authenticator/OktaPassword.js +33 -0
- package/esm/node/idx/authenticator/OktaPassword.js.map +1 -0
- package/esm/node/idx/authenticator/OktaVerifyTotp.js +26 -0
- package/esm/node/idx/authenticator/OktaVerifyTotp.js.map +1 -0
- package/esm/node/idx/authenticator/SecurityQuestionEnrollment.js +45 -0
- package/esm/node/idx/authenticator/SecurityQuestionEnrollment.js.map +1 -0
- package/esm/node/idx/authenticator/SecurityQuestionVerification.js +42 -0
- package/esm/node/idx/authenticator/SecurityQuestionVerification.js.map +1 -0
- package/esm/node/idx/authenticator/VerificationCodeAuthenticator.js +33 -0
- package/esm/node/idx/authenticator/VerificationCodeAuthenticator.js.map +1 -0
- package/esm/node/idx/authenticator/WebauthnEnrollment.js +41 -0
- package/esm/node/idx/authenticator/WebauthnEnrollment.js.map +1 -0
- package/esm/node/idx/authenticator/WebauthnVerification.js +43 -0
- package/esm/node/idx/authenticator/WebauthnVerification.js.map +1 -0
- package/esm/node/idx/authenticator/getAuthenticator.js +51 -0
- package/esm/node/idx/authenticator/getAuthenticator.js.map +1 -0
- package/esm/node/idx/authenticator/util.js +55 -0
- package/esm/node/idx/authenticator/util.js.map +1 -0
- package/esm/node/idx/cancel.js +42 -0
- package/esm/node/idx/cancel.js.map +1 -0
- package/esm/node/idx/emailVerify.js +46 -0
- package/esm/node/idx/emailVerify.js.map +1 -0
- package/esm/node/idx/flow/AccountUnlockFlow.js +43 -0
- package/esm/node/idx/flow/AccountUnlockFlow.js.map +1 -0
- package/esm/node/idx/flow/AuthenticationFlow.js +49 -0
- package/esm/node/idx/flow/AuthenticationFlow.js.map +1 -0
- package/esm/node/idx/flow/FlowSpecification.js +56 -0
- package/esm/node/idx/flow/FlowSpecification.js.map +1 -0
- package/esm/node/idx/flow/PasswordRecoveryFlow.js +47 -0
- package/esm/node/idx/flow/PasswordRecoveryFlow.js.map +1 -0
- package/esm/node/idx/flow/RegistrationFlow.js +46 -0
- package/esm/node/idx/flow/RegistrationFlow.js.map +1 -0
- package/esm/node/idx/handleInteractionCodeRedirect.js +41 -0
- package/esm/node/idx/handleInteractionCodeRedirect.js.map +1 -0
- package/esm/node/idx/idxState/index.js +46 -0
- package/esm/node/idx/idxState/index.js.map +1 -0
- package/esm/node/idx/idxState/v1/actionParser.js +53 -0
- package/esm/node/idx/idxState/v1/actionParser.js.map +1 -0
- package/esm/node/idx/idxState/v1/generateIdxAction.js +65 -0
- package/esm/node/idx/idxState/v1/generateIdxAction.js.map +1 -0
- package/esm/node/idx/idxState/v1/idxResponseParser.js +95 -0
- package/esm/node/idx/idxState/v1/idxResponseParser.js.map +1 -0
- package/esm/node/idx/idxState/v1/makeIdxState.js +46 -0
- package/esm/node/idx/idxState/v1/makeIdxState.js.map +1 -0
- package/esm/node/idx/idxState/v1/parsers.js +20 -0
- package/esm/node/idx/idxState/v1/parsers.js.map +1 -0
- package/esm/node/idx/idxState/v1/remediationParser.js +25 -0
- package/esm/node/idx/idxState/v1/remediationParser.js.map +1 -0
- package/esm/node/idx/interact.js +63 -0
- package/esm/node/idx/interact.js.map +1 -0
- package/esm/node/idx/introspect.js +69 -0
- package/esm/node/idx/introspect.js.map +1 -0
- package/esm/node/idx/poll.js +52 -0
- package/esm/node/idx/poll.js.map +1 -0
- package/esm/node/idx/proceed.js +34 -0
- package/esm/node/idx/proceed.js.map +1 -0
- package/esm/node/idx/recoverPassword.js +41 -0
- package/esm/node/idx/recoverPassword.js.map +1 -0
- package/esm/node/idx/register.js +36 -0
- package/esm/node/idx/register.js.map +1 -0
- package/esm/node/idx/remediate.js +134 -0
- package/esm/node/idx/remediate.js.map +1 -0
- package/esm/node/idx/remediators/AuthenticatorEnrollmentData.js +48 -0
- package/esm/node/idx/remediators/AuthenticatorEnrollmentData.js.map +1 -0
- package/esm/node/idx/remediators/AuthenticatorVerificationData.js +71 -0
- package/esm/node/idx/remediators/AuthenticatorVerificationData.js.map +1 -0
- package/esm/node/idx/remediators/Base/AuthenticatorData.js +82 -0
- package/esm/node/idx/remediators/Base/AuthenticatorData.js.map +1 -0
- package/esm/node/idx/remediators/Base/Remediator.js +177 -0
- package/esm/node/idx/remediators/Base/Remediator.js.map +1 -0
- package/esm/node/idx/remediators/Base/SelectAuthenticator.js +90 -0
- package/esm/node/idx/remediators/Base/SelectAuthenticator.js.map +1 -0
- package/esm/node/idx/remediators/Base/VerifyAuthenticator.js +44 -0
- package/esm/node/idx/remediators/Base/VerifyAuthenticator.js.map +1 -0
- package/esm/node/idx/remediators/ChallengeAuthenticator.js +20 -0
- package/esm/node/idx/remediators/ChallengeAuthenticator.js.map +1 -0
- package/esm/node/idx/remediators/ChallengePoll.js +23 -0
- package/esm/node/idx/remediators/ChallengePoll.js.map +1 -0
- package/esm/node/idx/remediators/EnrollAuthenticator.js +20 -0
- package/esm/node/idx/remediators/EnrollAuthenticator.js.map +1 -0
- package/esm/node/idx/remediators/EnrollPoll.js +38 -0
- package/esm/node/idx/remediators/EnrollPoll.js.map +1 -0
- package/esm/node/idx/remediators/EnrollProfile.js +52 -0
- package/esm/node/idx/remediators/EnrollProfile.js.map +1 -0
- package/esm/node/idx/remediators/EnrollmentChannelData.js +49 -0
- package/esm/node/idx/remediators/EnrollmentChannelData.js.map +1 -0
- package/esm/node/idx/remediators/GenericRemediator/GenericRemediator.js +61 -0
- package/esm/node/idx/remediators/GenericRemediator/GenericRemediator.js.map +1 -0
- package/esm/node/idx/remediators/GenericRemediator/util.js +92 -0
- package/esm/node/idx/remediators/GenericRemediator/util.js.map +1 -0
- package/esm/node/idx/remediators/Identify.js +40 -0
- package/esm/node/idx/remediators/Identify.js.map +1 -0
- package/esm/node/idx/remediators/ReEnrollAuthenticator.js +34 -0
- package/esm/node/idx/remediators/ReEnrollAuthenticator.js.map +1 -0
- package/esm/node/idx/remediators/RedirectIdp.js +32 -0
- package/esm/node/idx/remediators/RedirectIdp.js.map +1 -0
- package/esm/node/idx/remediators/ResetAuthenticator.js +20 -0
- package/esm/node/idx/remediators/ResetAuthenticator.js.map +1 -0
- package/esm/node/idx/remediators/SelectAuthenticatorAuthenticate.js +35 -0
- package/esm/node/idx/remediators/SelectAuthenticatorAuthenticate.js.map +1 -0
- package/esm/node/idx/remediators/SelectAuthenticatorEnroll.js +20 -0
- package/esm/node/idx/remediators/SelectAuthenticatorEnroll.js.map +1 -0
- package/esm/node/idx/remediators/SelectAuthenticatorUnlockAccount.js +44 -0
- package/esm/node/idx/remediators/SelectAuthenticatorUnlockAccount.js.map +1 -0
- package/esm/node/idx/remediators/SelectEnrollProfile.js +23 -0
- package/esm/node/idx/remediators/SelectEnrollProfile.js.map +1 -0
- package/esm/node/idx/remediators/SelectEnrollmentChannel.js +50 -0
- package/esm/node/idx/remediators/SelectEnrollmentChannel.js.map +1 -0
- package/esm/node/idx/remediators/Skip.js +23 -0
- package/esm/node/idx/remediators/Skip.js.map +1 -0
- package/esm/node/idx/remediators/index.js +33 -0
- package/esm/node/idx/remediators/index.js.map +1 -0
- package/esm/node/idx/remediators/util.js +34 -0
- package/esm/node/idx/remediators/util.js.map +1 -0
- package/esm/node/idx/run.js +245 -0
- package/esm/node/idx/run.js.map +1 -0
- package/esm/node/idx/startTransaction.js +21 -0
- package/esm/node/idx/startTransaction.js.map +1 -0
- package/esm/node/idx/transactionMeta.js +111 -0
- package/esm/node/idx/transactionMeta.js.map +1 -0
- package/esm/node/idx/types/api.js +43 -0
- package/esm/node/idx/types/api.js.map +1 -0
- package/esm/node/idx/types/idx-js.js +21 -0
- package/esm/node/idx/types/idx-js.js.map +1 -0
- package/esm/node/idx/unlockAccount.js +32 -0
- package/esm/node/idx/unlockAccount.js.map +1 -0
- package/esm/node/idx/util.js +212 -0
- package/esm/node/idx/util.js.map +1 -0
- package/esm/node/index.js +91 -0
- package/esm/node/index.js.map +1 -0
- package/esm/node/myaccount/emailApi.js +86 -0
- package/esm/node/myaccount/emailApi.js.map +1 -0
- package/esm/node/myaccount/myaccount/index.js +24 -0
- package/esm/node/myaccount/myaccount/index.js.map +1 -0
- package/esm/node/myaccount/phoneApi.js +76 -0
- package/esm/node/myaccount/phoneApi.js.map +1 -0
- package/esm/node/myaccount/profileApi.js +46 -0
- package/esm/node/myaccount/profileApi.js.map +1 -0
- package/esm/node/myaccount/request.js +121 -0
- package/esm/node/myaccount/request.js.map +1 -0
- package/esm/node/myaccount/transactions/Base.js +32 -0
- package/esm/node/myaccount/transactions/Base.js.map +1 -0
- package/esm/node/myaccount/transactions/EmailChallengeTransaction.js +48 -0
- package/esm/node/myaccount/transactions/EmailChallengeTransaction.js.map +1 -0
- package/esm/node/myaccount/transactions/EmailStatusTransaction.js +28 -0
- package/esm/node/myaccount/transactions/EmailStatusTransaction.js.map +1 -0
- package/esm/node/myaccount/transactions/EmailTransaction.js +81 -0
- package/esm/node/myaccount/transactions/EmailTransaction.js.map +1 -0
- package/esm/node/myaccount/transactions/PhoneTransaction.js +67 -0
- package/esm/node/myaccount/transactions/PhoneTransaction.js.map +1 -0
- package/esm/node/myaccount/transactions/ProfileSchemaTransaction.js +23 -0
- package/esm/node/myaccount/transactions/ProfileSchemaTransaction.js.map +1 -0
- package/esm/node/myaccount/transactions/ProfileTransaction.js +26 -0
- package/esm/node/myaccount/transactions/ProfileTransaction.js.map +1 -0
- package/esm/node/myaccount/types.js +25 -0
- package/esm/node/myaccount/types.js.map +1 -0
- package/esm/node/oidc/decodeToken.js +34 -0
- package/esm/node/oidc/decodeToken.js.map +1 -0
- package/esm/node/oidc/endpoints/authorize.js +63 -0
- package/esm/node/oidc/endpoints/authorize.js.map +1 -0
- package/esm/node/oidc/endpoints/token.js +83 -0
- package/esm/node/oidc/endpoints/token.js.map +1 -0
- package/esm/node/oidc/endpoints/well-known.js +55 -0
- package/esm/node/oidc/endpoints/well-known.js.map +1 -0
- package/esm/node/oidc/exchangeCodeForTokens.js +59 -0
- package/esm/node/oidc/exchangeCodeForTokens.js.map +1 -0
- package/esm/node/oidc/getToken.js +118 -0
- package/esm/node/oidc/getToken.js.map +1 -0
- package/esm/node/oidc/getUserInfo.js +69 -0
- package/esm/node/oidc/getUserInfo.js.map +1 -0
- package/esm/node/oidc/getWithPopup.js +36 -0
- package/esm/node/oidc/getWithPopup.js.map +1 -0
- package/esm/node/oidc/getWithRedirect.js +35 -0
- package/esm/node/oidc/getWithRedirect.js.map +1 -0
- package/esm/node/oidc/getWithoutPrompt.js +31 -0
- package/esm/node/oidc/getWithoutPrompt.js.map +1 -0
- package/esm/node/oidc/handleOAuthResponse.js +120 -0
- package/esm/node/oidc/handleOAuthResponse.js.map +1 -0
- package/esm/node/oidc/parseFromUrl.js +117 -0
- package/esm/node/oidc/parseFromUrl.js.map +1 -0
- package/esm/node/oidc/renewToken.js +67 -0
- package/esm/node/oidc/renewToken.js.map +1 -0
- package/esm/node/oidc/renewTokens.js +59 -0
- package/esm/node/oidc/renewTokens.js.map +1 -0
- package/esm/node/oidc/renewTokensWithRefresh.js +47 -0
- package/esm/node/oidc/renewTokensWithRefresh.js.map +1 -0
- package/esm/node/oidc/revokeToken.js +49 -0
- package/esm/node/oidc/revokeToken.js.map +1 -0
- package/esm/node/oidc/util/browser.js +69 -0
- package/esm/node/oidc/util/browser.js.map +1 -0
- package/esm/node/oidc/util/defaultTokenParams.js +34 -0
- package/esm/node/oidc/util/defaultTokenParams.js.map +1 -0
- package/esm/node/oidc/util/errors.js +38 -0
- package/esm/node/oidc/util/errors.js.map +1 -0
- package/esm/node/oidc/util/loginRedirect.js +66 -0
- package/esm/node/oidc/util/loginRedirect.js.map +1 -0
- package/esm/node/oidc/util/oauth.js +65 -0
- package/esm/node/oidc/util/oauth.js.map +1 -0
- package/esm/node/oidc/util/oauthMeta.js +38 -0
- package/esm/node/oidc/util/oauthMeta.js.map +1 -0
- package/esm/node/oidc/util/pkce.js +48 -0
- package/esm/node/oidc/util/pkce.js.map +1 -0
- package/esm/node/oidc/util/prepareTokenParams.js +65 -0
- package/esm/node/oidc/util/prepareTokenParams.js.map +1 -0
- package/esm/node/oidc/util/refreshToken.js +33 -0
- package/esm/node/oidc/util/refreshToken.js.map +1 -0
- package/esm/node/oidc/util/urlParams.js +43 -0
- package/esm/node/oidc/util/urlParams.js.map +1 -0
- package/esm/node/oidc/util/validateClaims.js +48 -0
- package/esm/node/oidc/util/validateClaims.js.map +1 -0
- package/esm/node/oidc/util/validateToken.js +34 -0
- package/esm/node/oidc/util/validateToken.js.map +1 -0
- package/esm/node/oidc/verifyToken.js +55 -0
- package/esm/node/oidc/verifyToken.js.map +1 -0
- package/esm/node/options/index.js +85 -0
- package/esm/node/options/index.js.map +1 -0
- package/esm/node/options/node.js +41 -0
- package/esm/node/options/node.js.map +1 -0
- package/esm/node/server/serverStorage.js +82 -0
- package/esm/node/server/serverStorage.js.map +1 -0
- package/esm/node/services/AutoRenewService.js +77 -0
- package/esm/node/services/AutoRenewService.js.map +1 -0
- package/esm/node/services/LeaderElectionService.js +74 -0
- package/esm/node/services/LeaderElectionService.js.map +1 -0
- package/esm/node/services/SyncStorageService.js +130 -0
- package/esm/node/services/SyncStorageService.js.map +1 -0
- package/esm/node/session.js +66 -0
- package/esm/node/session.js.map +1 -0
- package/esm/node/tx/AuthTransaction.js +174 -0
- package/esm/node/tx/AuthTransaction.js.map +1 -0
- package/esm/node/tx/api.js +72 -0
- package/esm/node/tx/api.js.map +1 -0
- package/esm/node/tx/poll.js +117 -0
- package/esm/node/tx/poll.js.map +1 -0
- package/esm/node/tx/util.js +26 -0
- package/esm/node/tx/util.js.map +1 -0
- package/esm/node/types/Token.js +32 -0
- package/esm/node/types/Token.js.map +1 -0
- package/esm/node/types/TokenManager.js +21 -0
- package/esm/node/types/TokenManager.js.map +1 -0
- package/esm/node/types/Transaction.js +52 -0
- package/esm/node/types/Transaction.js.map +1 -0
- package/esm/node/util/console.js +50 -0
- package/esm/node/util/console.js.map +1 -0
- package/esm/node/util/misc.js +32 -0
- package/esm/node/util/misc.js.map +1 -0
- package/esm/node/util/object.js +98 -0
- package/esm/node/util/object.js.map +1 -0
- package/esm/node/util/sharedStorage.js +56 -0
- package/esm/node/util/sharedStorage.js.map +1 -0
- package/esm/node/util/types.js +30 -0
- package/esm/node/util/types.js.map +1 -0
- package/esm/node/util/url.js +57 -0
- package/esm/node/util/url.js.map +1 -0
- package/esm/package.json +3 -0
- package/lib/SavedObject.d.ts +1 -0
- package/lib/ServiceManager.d.ts +1 -7
- package/lib/TokenManager.d.ts +12 -10
- package/lib/cdnEntry.d.ts +18 -0
- package/lib/errors/AuthApiError.d.ts +2 -1
- package/lib/idx/idxState/v1/idxResponseParser.d.ts +2 -2
- package/lib/idx/util.d.ts +3 -3
- package/lib/myaccount/api.d.ts +14 -0
- package/lib/myaccount/emailApi.d.ts +29 -0
- package/lib/myaccount/index.d.ts +13 -0
- package/lib/myaccount/phoneApi.d.ts +25 -0
- package/lib/myaccount/profileApi.d.ts +13 -0
- package/lib/myaccount/request.d.ts +29 -0
- package/lib/myaccount/transactions/Base.d.ts +15 -0
- package/lib/myaccount/transactions/EmailChallengeTransaction.d.ts +12 -0
- package/lib/myaccount/transactions/EmailStatusTransaction.d.ts +9 -0
- package/lib/myaccount/transactions/EmailTransaction.d.ts +15 -0
- package/lib/myaccount/transactions/PhoneTransaction.d.ts +12 -0
- package/lib/myaccount/transactions/ProfileSchemaTransaction.d.ts +5 -0
- package/lib/myaccount/transactions/ProfileTransaction.d.ts +7 -0
- package/lib/myaccount/transactions/index.d.ts +7 -0
- package/lib/myaccount/types.d.ts +55 -0
- package/lib/services/AutoRenewService.d.ts +2 -2
- package/lib/services/LeaderElectionService.d.ts +33 -0
- package/lib/services/SyncStorageService.d.ts +17 -5
- package/lib/services/index.d.ts +1 -0
- package/lib/types/JWT.d.ts +4 -1
- package/lib/types/OktaAuthOptions.d.ts +4 -2
- package/lib/types/Service.d.ts +7 -4
- package/lib/types/Storage.d.ts +2 -0
- package/lib/types/TokenManager.d.ts +20 -4
- package/lib/types/api.d.ts +2 -1
- package/lib/types/index.d.ts +1 -0
- package/package.json +44 -20
- package/polyfill/index.js +7 -0
- package/esm/esm.browser.js +0 -9834
- package/esm/esm.browser.js.map +0 -1
- package/esm/esm.node.mjs +0 -9932
- package/esm/esm.node.mjs.map +0 -1
package/cjs/ServiceManager.js
CHANGED
|
@@ -10,13 +10,13 @@ var _map = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable
|
|
|
10
10
|
|
|
11
11
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/values"));
|
|
12
12
|
|
|
13
|
-
var
|
|
13
|
+
var _entries = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/entries"));
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
|
|
16
16
|
|
|
17
17
|
var _services = require("./services");
|
|
18
18
|
|
|
19
|
-
var
|
|
19
|
+
var _util = require("./util");
|
|
20
20
|
|
|
21
21
|
/*!
|
|
22
22
|
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
@@ -29,24 +29,31 @@ var _features = require("./features");
|
|
|
29
29
|
*
|
|
30
30
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
31
31
|
*/
|
|
32
|
+
const AUTO_RENEW = 'autoRenew';
|
|
33
|
+
const SYNC_STORAGE = 'syncStorage';
|
|
34
|
+
const LEADER_ELECTION = 'leaderElection';
|
|
35
|
+
|
|
32
36
|
class ServiceManager {
|
|
33
37
|
constructor(sdk, options = {}) {
|
|
34
|
-
this.sdk = sdk;
|
|
38
|
+
this.sdk = sdk;
|
|
39
|
+
this.onLeader = this.onLeader.bind(this); // TODO: backwards compatibility, remove in next major version - OKTA-473815
|
|
35
40
|
|
|
36
41
|
const {
|
|
37
42
|
autoRenew,
|
|
38
43
|
autoRemove,
|
|
39
44
|
syncStorage
|
|
40
45
|
} = sdk.tokenManager.getOptions();
|
|
46
|
+
options.electionChannelName = options.electionChannelName || options.broadcastChannelName;
|
|
41
47
|
this.options = (0, _assign.default)({}, ServiceManager.defaultOptions, {
|
|
42
48
|
autoRenew,
|
|
43
49
|
autoRemove,
|
|
44
50
|
syncStorage
|
|
45
|
-
},
|
|
51
|
+
}, {
|
|
52
|
+
electionChannelName: `${sdk.options.clientId}-election`,
|
|
53
|
+
syncChannelName: `${sdk.options.clientId}-sync`
|
|
54
|
+
}, (0, _util.removeNils)(options));
|
|
46
55
|
this.started = false;
|
|
47
56
|
this.services = new _map.default();
|
|
48
|
-
this.onLeaderDuplicate = this.onLeaderDuplicate.bind(this);
|
|
49
|
-
this.onLeader = this.onLeader.bind(this);
|
|
50
57
|
ServiceManager.knownServices.forEach(name => {
|
|
51
58
|
const svc = this.createService(name);
|
|
52
59
|
|
|
@@ -56,54 +63,36 @@ class ServiceManager {
|
|
|
56
63
|
});
|
|
57
64
|
}
|
|
58
65
|
|
|
59
|
-
|
|
60
|
-
return (0, _features.isBrowser)();
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
onLeader() {
|
|
66
|
+
async onLeader() {
|
|
64
67
|
if (this.started) {
|
|
65
68
|
// Start services that requires leadership
|
|
66
|
-
this.startServices();
|
|
69
|
+
await this.startServices();
|
|
67
70
|
}
|
|
68
71
|
}
|
|
69
72
|
|
|
70
|
-
onLeaderDuplicate() {}
|
|
71
|
-
|
|
72
73
|
isLeader() {
|
|
73
|
-
var _this$
|
|
74
|
+
var _this$getService;
|
|
74
75
|
|
|
75
|
-
return
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
hasLeader() {
|
|
79
|
-
var _this$elector2;
|
|
80
|
-
|
|
81
|
-
return (_this$elector2 = this.elector) === null || _this$elector2 === void 0 ? void 0 : _this$elector2.hasLeader;
|
|
76
|
+
return (_this$getService = this.getService(LEADER_ELECTION)) === null || _this$getService === void 0 ? void 0 : _this$getService.isLeader();
|
|
82
77
|
}
|
|
83
78
|
|
|
84
79
|
isLeaderRequired() {
|
|
85
80
|
var _context;
|
|
86
81
|
|
|
87
|
-
return [...(0, _values.default)(_context = this.services).call(_context)].some(srv => srv.requiresLeadership());
|
|
82
|
+
return [...(0, _values.default)(_context = this.services).call(_context)].some(srv => srv.canStart() && srv.requiresLeadership());
|
|
88
83
|
}
|
|
89
84
|
|
|
90
85
|
async start() {
|
|
91
86
|
if (this.started) {
|
|
92
87
|
return; // noop if services have already started
|
|
93
|
-
} // only start election if a leader is required
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
if (this.isLeaderRequired()) {
|
|
97
|
-
await this.startElector();
|
|
98
88
|
}
|
|
99
89
|
|
|
100
|
-
this.startServices();
|
|
90
|
+
await this.startServices();
|
|
101
91
|
this.started = true;
|
|
102
92
|
}
|
|
103
93
|
|
|
104
94
|
async stop() {
|
|
105
|
-
await this.
|
|
106
|
-
this.stopServices();
|
|
95
|
+
await this.stopServices();
|
|
107
96
|
this.started = false;
|
|
108
97
|
}
|
|
109
98
|
|
|
@@ -111,54 +100,35 @@ class ServiceManager {
|
|
|
111
100
|
return this.services.get(name);
|
|
112
101
|
}
|
|
113
102
|
|
|
114
|
-
startServices() {
|
|
115
|
-
for (const srv of (0,
|
|
103
|
+
async startServices() {
|
|
104
|
+
for (const [name, srv] of (0, _entries.default)(_context2 = this.services).call(_context2)) {
|
|
116
105
|
var _context2;
|
|
117
106
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
if (canStart) {
|
|
121
|
-
srv.start();
|
|
107
|
+
if (this.canStartService(name, srv)) {
|
|
108
|
+
await srv.start();
|
|
122
109
|
}
|
|
123
110
|
}
|
|
124
111
|
}
|
|
125
112
|
|
|
126
|
-
stopServices() {
|
|
113
|
+
async stopServices() {
|
|
127
114
|
for (const srv of (0, _values.default)(_context3 = this.services).call(_context3)) {
|
|
128
115
|
var _context3;
|
|
129
116
|
|
|
130
|
-
srv.stop();
|
|
117
|
+
await srv.stop();
|
|
131
118
|
}
|
|
132
|
-
}
|
|
119
|
+
} // eslint-disable-next-line complexity
|
|
133
120
|
|
|
134
|
-
async startElector() {
|
|
135
|
-
await this.stopElector();
|
|
136
121
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
const {
|
|
140
|
-
broadcastChannelName
|
|
141
|
-
} = this.options;
|
|
142
|
-
this.channel = new _broadcastChannel.BroadcastChannel(broadcastChannelName);
|
|
143
|
-
}
|
|
122
|
+
canStartService(name, srv) {
|
|
123
|
+
let canStart = srv.canStart() && !srv.isStarted(); // only start election if a leader is required
|
|
144
124
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
}
|
|
125
|
+
if (name === LEADER_ELECTION) {
|
|
126
|
+
canStart && (canStart = this.isLeaderRequired());
|
|
127
|
+
} else if (srv.requiresLeadership()) {
|
|
128
|
+
canStart && (canStart = this.isLeader());
|
|
150
129
|
}
|
|
151
|
-
}
|
|
152
130
|
|
|
153
|
-
|
|
154
|
-
if (this.elector) {
|
|
155
|
-
var _this$elector3, _this$channel;
|
|
156
|
-
|
|
157
|
-
await ((_this$elector3 = this.elector) === null || _this$elector3 === void 0 ? void 0 : _this$elector3.die());
|
|
158
|
-
this.elector = undefined;
|
|
159
|
-
await ((_this$channel = this.channel) === null || _this$channel === void 0 ? void 0 : _this$channel.close());
|
|
160
|
-
this.channel = undefined;
|
|
161
|
-
}
|
|
131
|
+
return canStart;
|
|
162
132
|
}
|
|
163
133
|
|
|
164
134
|
createService(name) {
|
|
@@ -166,12 +136,18 @@ class ServiceManager {
|
|
|
166
136
|
let service;
|
|
167
137
|
|
|
168
138
|
switch (name) {
|
|
169
|
-
case
|
|
139
|
+
case LEADER_ELECTION:
|
|
140
|
+
service = new _services.LeaderElectionService({ ...this.options,
|
|
141
|
+
onLeader: this.onLeader
|
|
142
|
+
});
|
|
143
|
+
break;
|
|
144
|
+
|
|
145
|
+
case AUTO_RENEW:
|
|
170
146
|
service = new _services.AutoRenewService(tokenManager, { ...this.options
|
|
171
147
|
});
|
|
172
148
|
break;
|
|
173
149
|
|
|
174
|
-
case
|
|
150
|
+
case SYNC_STORAGE:
|
|
175
151
|
service = new _services.SyncStorageService(tokenManager, { ...this.options
|
|
176
152
|
});
|
|
177
153
|
break;
|
|
@@ -186,7 +162,7 @@ class ServiceManager {
|
|
|
186
162
|
}
|
|
187
163
|
|
|
188
164
|
exports.ServiceManager = ServiceManager;
|
|
189
|
-
(0, _defineProperty2.default)(ServiceManager, "knownServices", [
|
|
165
|
+
(0, _defineProperty2.default)(ServiceManager, "knownServices", [AUTO_RENEW, SYNC_STORAGE, LEADER_ELECTION]);
|
|
190
166
|
(0, _defineProperty2.default)(ServiceManager, "defaultOptions", {
|
|
191
167
|
autoRenew: true,
|
|
192
168
|
autoRemove: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"ServiceManager.js","names":["AUTO_RENEW","SYNC_STORAGE","LEADER_ELECTION","ServiceManager","constructor","sdk","options","onLeader","bind","autoRenew","autoRemove","syncStorage","tokenManager","getOptions","electionChannelName","broadcastChannelName","defaultOptions","clientId","syncChannelName","started","services","knownServices","forEach","name","svc","createService","set","startServices","isLeader","getService","isLeaderRequired","some","srv","canStart","requiresLeadership","start","stop","stopServices","get","canStartService","isStarted","service","LeaderElectionService","AutoRenewService","SyncStorageService","Error"],"sources":["../../lib/ServiceManager.ts"],"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 {\n ServiceManagerInterface,\n ServiceInterface,\n ServiceManagerOptions\n} from './types';\nimport { OktaAuth } from '.';\nimport { AutoRenewService, SyncStorageService, LeaderElectionService } from './services';\nimport { removeNils } from './util';\n\nconst AUTO_RENEW = 'autoRenew';\nconst SYNC_STORAGE = 'syncStorage';\nconst LEADER_ELECTION = 'leaderElection';\n\nexport class ServiceManager implements ServiceManagerInterface {\n private sdk: OktaAuth;\n private options: ServiceManagerOptions;\n private services: Map<string, ServiceInterface>;\n private started: boolean;\n\n private static knownServices = [AUTO_RENEW, SYNC_STORAGE, LEADER_ELECTION];\n\n private static defaultOptions = {\n autoRenew: true,\n autoRemove: true,\n syncStorage: true\n };\n\n constructor(sdk: OktaAuth, options: ServiceManagerOptions = {}) {\n this.sdk = sdk;\n this.onLeader = this.onLeader.bind(this);\n\n // TODO: backwards compatibility, remove in next major version - OKTA-473815\n const { autoRenew, autoRemove, syncStorage } = sdk.tokenManager.getOptions();\n options.electionChannelName = options.electionChannelName || options.broadcastChannelName;\n this.options = Object.assign({}, \n ServiceManager.defaultOptions,\n { autoRenew, autoRemove, syncStorage }, \n {\n electionChannelName: `${sdk.options.clientId}-election`,\n syncChannelName: `${sdk.options.clientId}-sync`,\n },\n removeNils(options)\n );\n\n this.started = false;\n this.services = new Map();\n\n ServiceManager.knownServices.forEach(name => {\n const svc = this.createService(name);\n if (svc) {\n this.services.set(name, svc);\n }\n });\n }\n\n private async onLeader() {\n if (this.started) {\n // Start services that requires leadership\n await this.startServices();\n }\n }\n\n isLeader() {\n return (this.getService(LEADER_ELECTION) as LeaderElectionService)?.isLeader();\n }\n\n isLeaderRequired() {\n return [...this.services.values()].some(srv => srv.canStart() && srv.requiresLeadership());\n }\n\n async start() {\n if (this.started) {\n return; // noop if services have already started\n }\n await this.startServices();\n this.started = true;\n }\n \n async stop() {\n await this.stopServices();\n this.started = false;\n }\n\n getService(name: string): ServiceInterface | undefined {\n return this.services.get(name);\n }\n\n private async startServices() {\n for (const [name, srv] of this.services.entries()) {\n if (this.canStartService(name, srv)) {\n await srv.start();\n }\n }\n }\n\n private async stopServices() {\n for (const srv of this.services.values()) {\n await srv.stop();\n }\n }\n\n // eslint-disable-next-line complexity\n private canStartService(name: string, srv: ServiceInterface): boolean {\n let canStart = srv.canStart() && !srv.isStarted();\n // only start election if a leader is required\n if (name === LEADER_ELECTION) {\n canStart &&= this.isLeaderRequired();\n } else if (srv.requiresLeadership()) {\n canStart &&= this.isLeader();\n }\n return canStart;\n }\n\n private createService(name: string): ServiceInterface {\n const tokenManager = this.sdk.tokenManager;\n\n let service: ServiceInterface;\n switch (name) {\n case LEADER_ELECTION:\n service = new LeaderElectionService({...this.options, onLeader: this.onLeader});\n break;\n case AUTO_RENEW:\n service = new AutoRenewService(tokenManager, {...this.options});\n break;\n case SYNC_STORAGE:\n service = new SyncStorageService(tokenManager, {...this.options});\n break;\n default:\n throw new Error(`Unknown service ${name}`);\n }\n return service;\n }\n\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../lib/StorageManager.ts"],"names":["logServerSideMemoryStorageWarning","options","storageProvider","StorageManager","constructor","storageManagerOptions","cookieOptions","storageUtil","getOptionsForSection","sectionName","overrideOptions","getStorage","storageType","storageTypes","sessionCookie","idx","undefined","findStorageType","getStorageByType","getTransactionStorage","storage","storageKey","TRANSACTION_STORAGE_NAME","SavedObject","getSharedTansactionStorage","SHARED_TRANSACTION_STORAGE_NAME","getOriginalUriStorage","ORIGINAL_URI_STORAGE_NAME","getIdxResponseStorage","e","transactionStorage","getItem","key","transaction","setItem","val","AuthSdkError","setStorage","removeItem","IDX_RESPONSE_STORAGE_NAME","getTokenStorage","TOKEN_STORAGE_NAME","getHttpCache","CACHE_STORAGE_NAME","getLegacyPKCEStorage","PKCE_STORAGE_NAME","getLegacyOAuthParamsStorage","REDIRECT_OAUTH_PARAMS_NAME"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\n\nimport {\n PKCE_STORAGE_NAME,\n TOKEN_STORAGE_NAME,\n TRANSACTION_STORAGE_NAME,\n SHARED_TRANSACTION_STORAGE_NAME,\n ORIGINAL_URI_STORAGE_NAME,\n IDX_RESPONSE_STORAGE_NAME,\n CACHE_STORAGE_NAME,\n REDIRECT_OAUTH_PARAMS_NAME\n} from './constants';\nimport {\n StorageUtil,\n StorageProvider,\n StorageOptions,\n PKCEStorage,\n CookieOptions,\n TransactionStorage,\n IdxResponseStorage,\n StorageManagerOptions,\n SimpleStorage\n} from './types';\nimport SavedObject from './SavedObject';\nimport { isBrowser } from './features';\nimport { warn } from './util';\nimport { AuthSdkError } from './errors';\n\nfunction logServerSideMemoryStorageWarning(options: StorageOptions) {\n if (!isBrowser() && !options.storageProvider && !options.storageProvider) {\n // eslint-disable-next-line max-len\n warn('Memory storage can only support simple single user use case on server side, please provide custom storageProvider or storageKey if advanced scenarios need to be supported.');\n }\n}\n\nexport class StorageManager {\n storageManagerOptions: StorageManagerOptions;\n cookieOptions: CookieOptions;\n storageUtil: StorageUtil;\n\n constructor(storageManagerOptions: StorageManagerOptions, cookieOptions: CookieOptions, storageUtil: StorageUtil) {\n this.storageManagerOptions = storageManagerOptions;\n this.cookieOptions = cookieOptions;\n this.storageUtil = storageUtil;\n }\n\n // combines defaults in order\n getOptionsForSection(sectionName: string, overrideOptions?: StorageOptions) {\n return Object.assign({}, this.storageManagerOptions[sectionName], overrideOptions);\n }\n \n // generic method to get any available storage provider\n // eslint-disable-next-line complexity\n getStorage(options: StorageOptions): SimpleStorage {\n options = Object.assign({}, this.cookieOptions, options); // set defaults\n\n if (options.storageProvider) {\n return options.storageProvider;\n }\n\n let { storageType, storageTypes } = options;\n\n if(storageType === 'sessionStorage') {\n options.sessionCookie = true;\n }\n\n // Maintain compatibility. Automatically fallback. May change in next major version. OKTA-362589\n if (storageType && storageTypes) {\n const idx = storageTypes.indexOf(storageType);\n if (idx >= 0) {\n storageTypes = storageTypes.slice(idx);\n storageType = undefined;\n }\n }\n\n if (!storageType) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n storageType = this.storageUtil.findStorageType(storageTypes!);\n }\n return this.storageUtil.getStorageByType(storageType, options);\n }\n\n // stateToken, interactionHandle\n getTransactionStorage(options?: StorageOptions): TransactionStorage {\n options = this.getOptionsForSection('transaction', options);\n logServerSideMemoryStorageWarning(options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || TRANSACTION_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n getSharedTansactionStorage(options?: StorageOptions): TransactionStorage {\n options = this.getOptionsForSection('shared-transaction', options);\n logServerSideMemoryStorageWarning(options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || SHARED_TRANSACTION_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n getOriginalUriStorage(options?: StorageOptions): TransactionStorage {\n options = this.getOptionsForSection('original-uri', options);\n logServerSideMemoryStorageWarning(options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || ORIGINAL_URI_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n // intermediate idxResponse\n // store for network traffic optimazation purpose\n // TODO: revisit in auth-js 6.0 epic JIRA: OKTA-399791\n getIdxResponseStorage(options?: StorageOptions): IdxResponseStorage | null {\n let storage;\n if (isBrowser()) {\n // on browser side only use memory storage \n try {\n storage = this.storageUtil.getStorageByType('memory', options);\n } catch (e) {\n // it's ok to miss response storage\n // eslint-disable-next-line max-len\n warn('No response storage found, you may want to provide custom implementation for intermediate idx responses to optimize the network traffic');\n }\n } else {\n // on server side re-use transaction custom storage\n const transactionStorage = this.getTransactionStorage(options);\n if (transactionStorage) {\n storage = {\n getItem: (key) => {\n const transaction = transactionStorage.getStorage();\n if (transaction && transaction[key]) {\n return transaction[key];\n }\n return null;\n },\n setItem: (key, val) => {\n const transaction = transactionStorage.getStorage();\n if (!transaction) {\n throw new AuthSdkError('Transaction has been cleared, failed to save idxState');\n }\n transaction[key] = val;\n transactionStorage.setStorage(transaction);\n },\n removeItem: (key) => {\n const transaction = transactionStorage.getStorage();\n if (!transaction) {\n return;\n }\n delete transaction[key];\n transactionStorage.setStorage(transaction);\n }\n };\n }\n }\n\n if (!storage) {\n return null;\n }\n\n return new SavedObject(storage, IDX_RESPONSE_STORAGE_NAME);\n }\n\n // access_token, id_token, refresh_token\n getTokenStorage(options?: StorageOptions): StorageProvider {\n options = this.getOptionsForSection('token', options);\n logServerSideMemoryStorageWarning(options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || TOKEN_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n // caches well-known response, among others\n getHttpCache(options?: StorageOptions): StorageProvider {\n options = this.getOptionsForSection('cache', options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || CACHE_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n // Will be removed in an upcoming major version. OKTA-362589\n getLegacyPKCEStorage(options?: StorageOptions): PKCEStorage {\n options = this.getOptionsForSection('legacy-pkce', options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || PKCE_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n getLegacyOAuthParamsStorage(options?: StorageOptions): StorageProvider {\n options = this.getOptionsForSection('legacy-oauth-params', options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || REDIRECT_OAUTH_PARAMS_NAME;\n return new SavedObject(storage, storageKey);\n }\n}\n"],"file":"StorageManager.js"}
|
|
1
|
+
{"version":3,"file":"StorageManager.js","names":["logServerSideMemoryStorageWarning","options","storageProvider","StorageManager","constructor","storageManagerOptions","cookieOptions","storageUtil","getOptionsForSection","sectionName","overrideOptions","getStorage","storageType","storageTypes","sessionCookie","idx","undefined","findStorageType","getStorageByType","getTransactionStorage","storage","storageKey","TRANSACTION_STORAGE_NAME","SavedObject","getSharedTansactionStorage","SHARED_TRANSACTION_STORAGE_NAME","getOriginalUriStorage","ORIGINAL_URI_STORAGE_NAME","getIdxResponseStorage","e","transactionStorage","getItem","key","transaction","setItem","val","AuthSdkError","setStorage","removeItem","IDX_RESPONSE_STORAGE_NAME","getTokenStorage","TOKEN_STORAGE_NAME","getHttpCache","CACHE_STORAGE_NAME","getLegacyPKCEStorage","PKCE_STORAGE_NAME","getLegacyOAuthParamsStorage","REDIRECT_OAUTH_PARAMS_NAME"],"sources":["../../lib/StorageManager.ts"],"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\nimport {\n PKCE_STORAGE_NAME,\n TOKEN_STORAGE_NAME,\n TRANSACTION_STORAGE_NAME,\n SHARED_TRANSACTION_STORAGE_NAME,\n ORIGINAL_URI_STORAGE_NAME,\n IDX_RESPONSE_STORAGE_NAME,\n CACHE_STORAGE_NAME,\n REDIRECT_OAUTH_PARAMS_NAME\n} from './constants';\nimport {\n StorageUtil,\n StorageProvider,\n StorageOptions,\n PKCEStorage,\n CookieOptions,\n TransactionStorage,\n IdxResponseStorage,\n StorageManagerOptions,\n SimpleStorage\n} from './types';\nimport SavedObject from './SavedObject';\nimport { isBrowser } from './features';\nimport { warn } from './util';\nimport { AuthSdkError } from './errors';\n\nfunction logServerSideMemoryStorageWarning(options: StorageOptions) {\n if (!isBrowser() && !options.storageProvider && !options.storageProvider) {\n // eslint-disable-next-line max-len\n warn('Memory storage can only support simple single user use case on server side, please provide custom storageProvider or storageKey if advanced scenarios need to be supported.');\n }\n}\n\nexport class StorageManager {\n storageManagerOptions: StorageManagerOptions;\n cookieOptions: CookieOptions;\n storageUtil: StorageUtil;\n\n constructor(storageManagerOptions: StorageManagerOptions, cookieOptions: CookieOptions, storageUtil: StorageUtil) {\n this.storageManagerOptions = storageManagerOptions;\n this.cookieOptions = cookieOptions;\n this.storageUtil = storageUtil;\n }\n\n // combines defaults in order\n getOptionsForSection(sectionName: string, overrideOptions?: StorageOptions) {\n return Object.assign({}, this.storageManagerOptions[sectionName], overrideOptions);\n }\n \n // generic method to get any available storage provider\n // eslint-disable-next-line complexity\n getStorage(options: StorageOptions): SimpleStorage {\n options = Object.assign({}, this.cookieOptions, options); // set defaults\n\n if (options.storageProvider) {\n return options.storageProvider;\n }\n\n let { storageType, storageTypes } = options;\n\n if(storageType === 'sessionStorage') {\n options.sessionCookie = true;\n }\n\n // Maintain compatibility. Automatically fallback. May change in next major version. OKTA-362589\n if (storageType && storageTypes) {\n const idx = storageTypes.indexOf(storageType);\n if (idx >= 0) {\n storageTypes = storageTypes.slice(idx);\n storageType = undefined;\n }\n }\n\n if (!storageType) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n storageType = this.storageUtil.findStorageType(storageTypes!);\n }\n return this.storageUtil.getStorageByType(storageType, options);\n }\n\n // stateToken, interactionHandle\n getTransactionStorage(options?: StorageOptions): TransactionStorage {\n options = this.getOptionsForSection('transaction', options);\n logServerSideMemoryStorageWarning(options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || TRANSACTION_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n getSharedTansactionStorage(options?: StorageOptions): TransactionStorage {\n options = this.getOptionsForSection('shared-transaction', options);\n logServerSideMemoryStorageWarning(options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || SHARED_TRANSACTION_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n getOriginalUriStorage(options?: StorageOptions): TransactionStorage {\n options = this.getOptionsForSection('original-uri', options);\n logServerSideMemoryStorageWarning(options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || ORIGINAL_URI_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n // intermediate idxResponse\n // store for network traffic optimazation purpose\n // TODO: revisit in auth-js 6.0 epic JIRA: OKTA-399791\n getIdxResponseStorage(options?: StorageOptions): IdxResponseStorage | null {\n let storage;\n if (isBrowser()) {\n // on browser side only use memory storage \n try {\n storage = this.storageUtil.getStorageByType('memory', options);\n } catch (e) {\n // it's ok to miss response storage\n // eslint-disable-next-line max-len\n warn('No response storage found, you may want to provide custom implementation for intermediate idx responses to optimize the network traffic');\n }\n } else {\n // on server side re-use transaction custom storage\n const transactionStorage = this.getTransactionStorage(options);\n if (transactionStorage) {\n storage = {\n getItem: (key) => {\n const transaction = transactionStorage.getStorage();\n if (transaction && transaction[key]) {\n return transaction[key];\n }\n return null;\n },\n setItem: (key, val) => {\n const transaction = transactionStorage.getStorage();\n if (!transaction) {\n throw new AuthSdkError('Transaction has been cleared, failed to save idxState');\n }\n transaction[key] = val;\n transactionStorage.setStorage(transaction);\n },\n removeItem: (key) => {\n const transaction = transactionStorage.getStorage();\n if (!transaction) {\n return;\n }\n delete transaction[key];\n transactionStorage.setStorage(transaction);\n }\n };\n }\n }\n\n if (!storage) {\n return null;\n }\n\n return new SavedObject(storage, IDX_RESPONSE_STORAGE_NAME);\n }\n\n // access_token, id_token, refresh_token\n getTokenStorage(options?: StorageOptions): StorageProvider {\n options = this.getOptionsForSection('token', options);\n logServerSideMemoryStorageWarning(options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || TOKEN_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n // caches well-known response, among others\n getHttpCache(options?: StorageOptions): StorageProvider {\n options = this.getOptionsForSection('cache', options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || CACHE_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n // Will be removed in an upcoming major version. OKTA-362589\n getLegacyPKCEStorage(options?: StorageOptions): PKCEStorage {\n options = this.getOptionsForSection('legacy-pkce', options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || PKCE_STORAGE_NAME;\n return new SavedObject(storage, storageKey);\n }\n\n getLegacyOAuthParamsStorage(options?: StorageOptions): StorageProvider {\n options = this.getOptionsForSection('legacy-oauth-params', options);\n const storage = this.getStorage(options);\n const storageKey = options.storageKey || REDIRECT_OAUTH_PARAMS_NAME;\n return new SavedObject(storage, storageKey);\n }\n}\n"],"mappings":"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"}
|
package/cjs/TokenManager.js
CHANGED
|
@@ -2,14 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
exports.TokenManager =
|
|
5
|
+
exports.TokenManager = void 0;
|
|
6
6
|
|
|
7
7
|
var _assign = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/assign"));
|
|
8
8
|
|
|
9
9
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/object/keys"));
|
|
10
10
|
|
|
11
|
-
var _stringify = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/json/stringify"));
|
|
12
|
-
|
|
13
11
|
var _filter = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/filter"));
|
|
14
12
|
|
|
15
13
|
var _reduce = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/reduce"));
|
|
@@ -52,19 +50,8 @@ const DEFAULT_OPTIONS = {
|
|
|
52
50
|
storage: undefined,
|
|
53
51
|
// will use value from storageManager config
|
|
54
52
|
expireEarlySeconds: 30,
|
|
55
|
-
storageKey: _constants.TOKEN_STORAGE_NAME
|
|
56
|
-
_storageEventDelay: 0
|
|
53
|
+
storageKey: _constants.TOKEN_STORAGE_NAME
|
|
57
54
|
};
|
|
58
|
-
const EVENT_EXPIRED = 'expired';
|
|
59
|
-
exports.EVENT_EXPIRED = EVENT_EXPIRED;
|
|
60
|
-
const EVENT_RENEWED = 'renewed';
|
|
61
|
-
exports.EVENT_RENEWED = EVENT_RENEWED;
|
|
62
|
-
const EVENT_ADDED = 'added';
|
|
63
|
-
exports.EVENT_ADDED = EVENT_ADDED;
|
|
64
|
-
const EVENT_REMOVED = 'removed';
|
|
65
|
-
exports.EVENT_REMOVED = EVENT_REMOVED;
|
|
66
|
-
const EVENT_ERROR = 'error';
|
|
67
|
-
exports.EVENT_ERROR = EVENT_ERROR;
|
|
68
55
|
|
|
69
56
|
function defaultState() {
|
|
70
57
|
return {
|
|
@@ -74,7 +61,23 @@ function defaultState() {
|
|
|
74
61
|
}
|
|
75
62
|
|
|
76
63
|
class TokenManager {
|
|
77
|
-
|
|
64
|
+
on(event, handler, context) {
|
|
65
|
+
if (context) {
|
|
66
|
+
this.emitter.on(event, handler, context);
|
|
67
|
+
} else {
|
|
68
|
+
this.emitter.on(event, handler);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
off(event, handler) {
|
|
73
|
+
if (handler) {
|
|
74
|
+
this.emitter.off(event, handler);
|
|
75
|
+
} else {
|
|
76
|
+
this.emitter.off(event);
|
|
77
|
+
}
|
|
78
|
+
} // eslint-disable-next-line complexity
|
|
79
|
+
|
|
80
|
+
|
|
78
81
|
constructor(sdk, options = {}) {
|
|
79
82
|
this.sdk = sdk;
|
|
80
83
|
this.emitter = sdk.emitter;
|
|
@@ -85,10 +88,6 @@ class TokenManager {
|
|
|
85
88
|
|
|
86
89
|
options = (0, _assign.default)({}, DEFAULT_OPTIONS, (0, _util.removeNils)(options));
|
|
87
90
|
|
|
88
|
-
if ((0, _features.isIE11OrLess)()) {
|
|
89
|
-
options._storageEventDelay = options._storageEventDelay || 1000;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
91
|
if (!(0, _features.isLocalhost)()) {
|
|
93
92
|
options.expireEarlySeconds = DEFAULT_OPTIONS.expireEarlySeconds;
|
|
94
93
|
}
|
|
@@ -111,8 +110,10 @@ class TokenManager {
|
|
|
111
110
|
});
|
|
112
111
|
this.clock = _clock.default.create();
|
|
113
112
|
this.state = defaultState();
|
|
114
|
-
|
|
115
|
-
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
hasSharedStorage() {
|
|
116
|
+
return this.storage.isSharedStorage();
|
|
116
117
|
}
|
|
117
118
|
|
|
118
119
|
start() {
|
|
@@ -143,44 +144,23 @@ class TokenManager {
|
|
|
143
144
|
}
|
|
144
145
|
|
|
145
146
|
emitExpired(key, token) {
|
|
146
|
-
this.emitter.emit(EVENT_EXPIRED, key, token);
|
|
147
|
+
this.emitter.emit(_types.EVENT_EXPIRED, key, token);
|
|
147
148
|
}
|
|
148
149
|
|
|
149
150
|
emitRenewed(key, freshToken, oldToken) {
|
|
150
|
-
this.emitter.emit(EVENT_RENEWED, key, freshToken, oldToken);
|
|
151
|
+
this.emitter.emit(_types.EVENT_RENEWED, key, freshToken, oldToken);
|
|
151
152
|
}
|
|
152
153
|
|
|
153
154
|
emitAdded(key, token) {
|
|
154
|
-
this.emitter.emit(EVENT_ADDED, key, token);
|
|
155
|
+
this.emitter.emit(_types.EVENT_ADDED, key, token);
|
|
155
156
|
}
|
|
156
157
|
|
|
157
158
|
emitRemoved(key, token) {
|
|
158
|
-
this.emitter.emit(EVENT_REMOVED, key, token);
|
|
159
|
+
this.emitter.emit(_types.EVENT_REMOVED, key, token);
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
emitError(error) {
|
|
162
|
-
this.emitter.emit(EVENT_ERROR, error);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
emitEventsForCrossTabsStorageUpdate(newValue, oldValue) {
|
|
166
|
-
const oldTokens = this.getTokensFromStorageValue(oldValue);
|
|
167
|
-
const newTokens = this.getTokensFromStorageValue(newValue);
|
|
168
|
-
(0, _keys.default)(newTokens).forEach(key => {
|
|
169
|
-
const oldToken = oldTokens[key];
|
|
170
|
-
const newToken = newTokens[key];
|
|
171
|
-
|
|
172
|
-
if ((0, _stringify.default)(oldToken) !== (0, _stringify.default)(newToken)) {
|
|
173
|
-
this.emitAdded(key, newToken);
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
|
-
(0, _keys.default)(oldTokens).forEach(key => {
|
|
177
|
-
const oldToken = oldTokens[key];
|
|
178
|
-
const newToken = newTokens[key];
|
|
179
|
-
|
|
180
|
-
if (!newToken) {
|
|
181
|
-
this.emitRemoved(key, oldToken);
|
|
182
|
-
}
|
|
183
|
-
});
|
|
163
|
+
this.emitter.emit(_types.EVENT_ERROR, error);
|
|
184
164
|
}
|
|
185
165
|
|
|
186
166
|
clearExpireEventTimeout(key) {
|
|
@@ -242,6 +222,7 @@ class TokenManager {
|
|
|
242
222
|
(0, _util2.validateToken)(token);
|
|
243
223
|
tokenStorage[key] = token;
|
|
244
224
|
this.storage.setStorage(tokenStorage);
|
|
225
|
+
this.emitSetStorageEvent();
|
|
245
226
|
this.emitAdded(key, token);
|
|
246
227
|
this.setExpireEventTimeout(key, token);
|
|
247
228
|
}
|
|
@@ -301,6 +282,19 @@ class TokenManager {
|
|
|
301
282
|
}
|
|
302
283
|
|
|
303
284
|
throw new _errors.AuthSdkError('Unknown token type');
|
|
285
|
+
} // for synchronization of LocalStorage cross tabs for IE11
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
emitSetStorageEvent() {
|
|
289
|
+
if ((0, _features.isIE11OrLess)()) {
|
|
290
|
+
const storage = this.storage.getStorage();
|
|
291
|
+
this.emitter.emit(_types.EVENT_SET_STORAGE, storage);
|
|
292
|
+
}
|
|
293
|
+
} // used in `SyncStorageService` for synchronization of LocalStorage cross tabs for IE11
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
getStorage() {
|
|
297
|
+
return this.storage;
|
|
304
298
|
}
|
|
305
299
|
|
|
306
300
|
setTokens(tokens, // TODO: callbacks can be removed in the next major version OKTA-407224
|
|
@@ -357,7 +351,8 @@ class TokenManager {
|
|
|
357
351
|
|
|
358
352
|
return storage;
|
|
359
353
|
}, {});
|
|
360
|
-
this.storage.setStorage(storage);
|
|
354
|
+
this.storage.setStorage(storage);
|
|
355
|
+
this.emitSetStorageEvent(); // emit event and start expiration timer
|
|
361
356
|
|
|
362
357
|
types.forEach(type => {
|
|
363
358
|
const newToken = tokens[type];
|
|
@@ -387,6 +382,7 @@ class TokenManager {
|
|
|
387
382
|
var removedToken = tokenStorage[key];
|
|
388
383
|
delete tokenStorage[key];
|
|
389
384
|
this.storage.setStorage(tokenStorage);
|
|
385
|
+
this.emitSetStorageEvent();
|
|
390
386
|
this.emitRemoved(key, removedToken);
|
|
391
387
|
} // TODO: this methods is redundant and can be removed in the next major version OKTA-407224
|
|
392
388
|
|
|
@@ -442,29 +438,30 @@ class TokenManager {
|
|
|
442
438
|
}
|
|
443
439
|
|
|
444
440
|
clear() {
|
|
441
|
+
const tokens = this.getTokensSync();
|
|
445
442
|
this.clearExpireEventTimeoutAll();
|
|
446
443
|
this.storage.clearStorage();
|
|
444
|
+
this.emitSetStorageEvent();
|
|
445
|
+
(0, _keys.default)(tokens).forEach(key => {
|
|
446
|
+
this.emitRemoved(key, tokens[key]);
|
|
447
|
+
});
|
|
447
448
|
}
|
|
448
449
|
|
|
449
450
|
clearPendingRemoveTokens() {
|
|
450
|
-
const
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
451
|
+
const tokenStorage = this.storage.getStorage();
|
|
452
|
+
const removedTokens = {};
|
|
453
|
+
(0, _keys.default)(tokenStorage).forEach(key => {
|
|
454
|
+
if (tokenStorage[key].pendingRemove) {
|
|
455
|
+
removedTokens[key] = tokenStorage[key];
|
|
456
|
+
delete tokenStorage[key];
|
|
454
457
|
}
|
|
455
458
|
});
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
tokens = JSON.parse(value) || {};
|
|
463
|
-
} catch (e) {
|
|
464
|
-
tokens = {};
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
return tokens;
|
|
459
|
+
this.storage.setStorage(tokenStorage);
|
|
460
|
+
this.emitSetStorageEvent();
|
|
461
|
+
(0, _keys.default)(removedTokens).forEach(key => {
|
|
462
|
+
this.clearExpireEventTimeout(key);
|
|
463
|
+
this.emitRemoved(key, removedTokens[key]);
|
|
464
|
+
});
|
|
468
465
|
}
|
|
469
466
|
|
|
470
467
|
updateRefreshToken(token) {
|
|
@@ -475,6 +472,7 @@ class TokenManager {
|
|
|
475
472
|
(0, _util2.validateToken)(token);
|
|
476
473
|
tokenStorage[key] = token;
|
|
477
474
|
this.storage.setStorage(tokenStorage);
|
|
475
|
+
this.emitSetStorageEvent();
|
|
478
476
|
}
|
|
479
477
|
|
|
480
478
|
removeRefreshToken() {
|