@okta/okta-auth-js 5.6.0 → 5.9.1
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 +51 -0
- package/README.md +28 -1
- package/cjs/OktaAuth.js +69 -35
- package/cjs/OktaAuth.js.map +1 -1
- package/cjs/OktaUserAgent.js +2 -2
- package/cjs/StorageManager.js +8 -0
- package/cjs/StorageManager.js.map +1 -1
- package/cjs/TransactionManager.js +24 -12
- package/cjs/TransactionManager.js.map +1 -1
- package/cjs/builderUtil.js +6 -0
- package/cjs/builderUtil.js.map +1 -1
- package/cjs/constants.js +3 -1
- package/cjs/constants.js.map +1 -1
- package/cjs/features.js +1 -1
- package/cjs/features.js.map +1 -1
- package/cjs/idx/authenticate.js +3 -18
- package/cjs/idx/authenticate.js.map +1 -1
- package/cjs/idx/flow/AuthenticationFlow.js +30 -0
- package/cjs/idx/flow/AuthenticationFlow.js.map +1 -0
- package/cjs/idx/{flowMonitors → flow}/AuthenticationFlowMonitor.js +0 -0
- package/cjs/idx/flow/AuthenticationFlowMonitor.js.map +1 -0
- package/cjs/idx/{flowMonitors → flow}/FlowMonitor.js +0 -0
- package/cjs/idx/flow/FlowMonitor.js.map +1 -0
- package/cjs/idx/flow/FlowSpecification.js +49 -0
- package/cjs/idx/flow/FlowSpecification.js.map +1 -0
- package/cjs/idx/flow/PasswordRecoveryFlow.js +28 -0
- package/cjs/idx/flow/PasswordRecoveryFlow.js.map +1 -0
- package/cjs/idx/{flowMonitors → flow}/PasswordRecoveryFlowMonitor.js +0 -0
- package/cjs/idx/flow/PasswordRecoveryFlowMonitor.js.map +1 -0
- package/{esm/crypto/browser.js → cjs/idx/flow/RegistrationFlow.js} +15 -12
- package/cjs/idx/flow/RegistrationFlow.js.map +1 -0
- package/cjs/idx/{flowMonitors → flow}/RegistrationFlowMonitor.js +0 -0
- package/cjs/idx/flow/RegistrationFlowMonitor.js.map +1 -0
- package/cjs/idx/flow/RemediationFlow.js +2 -0
- package/{esm/types/Cookies.js.map → cjs/idx/flow/RemediationFlow.js.map} +1 -1
- package/cjs/idx/flow/index.js +119 -0
- package/cjs/idx/flow/index.js.map +1 -0
- package/cjs/idx/index.js +26 -0
- package/cjs/idx/index.js.map +1 -1
- package/cjs/idx/interact.js +5 -2
- package/cjs/idx/interact.js.map +1 -1
- package/cjs/idx/introspect.js +24 -7
- package/cjs/idx/introspect.js.map +1 -1
- package/cjs/idx/proceed.js +49 -0
- package/cjs/idx/proceed.js.map +1 -0
- package/cjs/idx/recoverPassword.js +3 -17
- package/cjs/idx/recoverPassword.js.map +1 -1
- package/cjs/idx/register.js +7 -16
- package/cjs/idx/register.js.map +1 -1
- package/cjs/idx/remediate.js +33 -37
- package/cjs/idx/remediate.js.map +1 -1
- package/cjs/idx/remediators/Base/Remediator.js.map +1 -1
- package/cjs/idx/remediators/Base/VerifyAuthenticator.js +3 -1
- package/cjs/idx/remediators/Base/VerifyAuthenticator.js.map +1 -1
- package/cjs/idx/remediators/Identify.js +4 -2
- package/cjs/idx/remediators/Identify.js.map +1 -1
- package/cjs/idx/run.js +36 -8
- package/cjs/idx/run.js.map +1 -1
- package/cjs/idx/startTransaction.js +2 -0
- package/cjs/idx/startTransaction.js.map +1 -1
- package/cjs/idx/transactionMeta.js +77 -39
- package/cjs/idx/transactionMeta.js.map +1 -1
- package/cjs/idx/types/FlowIdentifier.js +2 -0
- package/{esm/types/AuthState.js.map → cjs/idx/types/FlowIdentifier.js.map} +1 -1
- package/cjs/idx/types/idx-js.js +5 -0
- package/cjs/idx/types/idx-js.js.map +1 -1
- package/cjs/idx/types/index.js +16 -0
- package/cjs/idx/types/index.js.map +1 -1
- package/cjs/oidc/endpoints/authorize.js +4 -1
- package/cjs/oidc/endpoints/authorize.js.map +1 -1
- package/cjs/oidc/getToken.js +14 -9
- package/cjs/oidc/getToken.js.map +1 -1
- package/cjs/oidc/getWithPopup.js +9 -2
- package/cjs/oidc/getWithPopup.js.map +1 -1
- package/cjs/oidc/getWithRedirect.js +2 -6
- package/cjs/oidc/getWithRedirect.js.map +1 -1
- package/cjs/oidc/renewTokens.js +28 -5
- package/cjs/oidc/renewTokens.js.map +1 -1
- package/cjs/oidc/util/browser.js +1 -13
- package/cjs/oidc/util/browser.js.map +1 -1
- package/cjs/oidc/util/loginRedirect.js +9 -5
- package/cjs/oidc/util/loginRedirect.js.map +1 -1
- package/cjs/oidc/util/urlParams.js +1 -1
- package/cjs/oidc/util/urlParams.js.map +1 -1
- package/cjs/options.js +12 -2
- package/cjs/options.js.map +1 -1
- package/cjs/server/serverStorage.js +2 -1
- package/cjs/server/serverStorage.js.map +1 -1
- package/cjs/tx/AuthTransaction.js +1 -3
- package/cjs/tx/AuthTransaction.js.map +1 -1
- package/cjs/tx/api.js +3 -0
- package/cjs/tx/api.js.map +1 -1
- package/cjs/types/Transaction.js.map +1 -1
- package/{esm/clock.js → cjs/util/emailVerify.js} +14 -18
- package/cjs/util/emailVerify.js.map +1 -0
- package/cjs/util/index.js +13 -0
- package/cjs/util/index.js.map +1 -1
- package/dist/okta-auth-js.min.js +2 -74
- package/dist/okta-auth-js.min.js.LICENSE.txt +32 -0
- package/dist/okta-auth-js.min.js.map +1 -1
- package/dist/okta-auth-js.polyfill.js +2 -18
- package/{esm/crypto/webcrypto.js → dist/okta-auth-js.polyfill.js.LICENSE.txt} +8 -4
- package/dist/okta-auth-js.polyfill.js.map +1 -1
- package/dist/okta-auth-js.umd.js +2 -74
- package/dist/okta-auth-js.umd.js.LICENSE.txt +32 -0
- package/dist/okta-auth-js.umd.js.map +1 -1
- package/esm/index.js +8368 -16
- package/esm/index.js.map +1 -1
- package/lib/OktaAuth.d.ts +7 -3
- package/lib/StorageManager.d.ts +1 -0
- package/lib/TransactionManager.d.ts +5 -1
- package/lib/constants.d.ts +1 -0
- package/lib/crypto/base64.d.ts +2 -2
- package/lib/crypto/oidcHash.d.ts +1 -1
- package/lib/crypto/verifyToken.d.ts +1 -1
- package/{esm/oidc/endpoints/index.js → lib/idx/flow/AuthenticationFlow.d.ts} +3 -5
- package/lib/idx/{flowMonitors → flow}/AuthenticationFlowMonitor.d.ts +0 -0
- package/lib/idx/{flowMonitors → flow}/FlowMonitor.d.ts +0 -0
- package/lib/idx/flow/FlowSpecification.d.ts +10 -0
- package/{esm/crypto/index.js → lib/idx/flow/PasswordRecoveryFlow.d.ts} +3 -6
- package/lib/idx/{flowMonitors → flow}/PasswordRecoveryFlowMonitor.d.ts +0 -0
- package/{esm/tx/TransactionState.js → lib/idx/flow/RegistrationFlow.d.ts} +3 -3
- package/lib/idx/{flowMonitors → flow}/RegistrationFlowMonitor.d.ts +0 -0
- package/lib/idx/flow/RemediationFlow.d.ts +13 -0
- package/lib/idx/{flowMonitors → flow}/index.d.ts +7 -2
- package/lib/idx/index.d.ts +2 -0
- package/lib/idx/introspect.d.ts +2 -1
- package/{esm/errors/AuthApiError.js → lib/idx/proceed.d.ts} +9 -19
- package/lib/idx/remediators/Base/AuthenticatorData.d.ts +1 -4
- package/lib/idx/remediators/Base/SelectAuthenticator.d.ts +1 -4
- package/lib/idx/remediators/Identify.d.ts +1 -0
- package/lib/idx/run.d.ts +9 -9
- package/lib/idx/transactionMeta.d.ts +28 -4
- package/lib/idx/types/FlowIdentifier.d.ts +1 -0
- package/lib/idx/types/idx-js.d.ts +4 -0
- package/lib/idx/types/index.d.ts +14 -3
- package/lib/oidc/getToken.d.ts +2 -2
- package/lib/oidc/renewTokens.d.ts +0 -12
- package/lib/oidc/util/loginRedirect.d.ts +1 -1
- package/lib/types/OktaAuthOptions.d.ts +2 -0
- package/lib/types/Transaction.d.ts +2 -0
- package/lib/types/api.d.ts +20 -5
- package/{esm/errors/AuthPollStopError.js → lib/util/emailVerify.d.ts} +5 -8
- package/lib/util/index.d.ts +1 -0
- package/package.json +26 -14
- package/cjs/idx/flowMonitors/AuthenticationFlowMonitor.js.map +0 -1
- package/cjs/idx/flowMonitors/FlowMonitor.js.map +0 -1
- package/cjs/idx/flowMonitors/PasswordRecoveryFlowMonitor.js.map +0 -1
- package/cjs/idx/flowMonitors/RegistrationFlowMonitor.js.map +0 -1
- package/cjs/idx/flowMonitors/index.js +0 -54
- package/cjs/idx/flowMonitors/index.js.map +0 -1
- package/esm/AuthStateManager.js +0 -214
- package/esm/AuthStateManager.js.map +0 -1
- package/esm/OktaAuth.js +0 -679
- package/esm/OktaAuth.js.map +0 -1
- package/esm/OktaUserAgent.js +0 -49
- package/esm/OktaUserAgent.js.map +0 -1
- package/esm/PromiseQueue.js +0 -71
- package/esm/PromiseQueue.js.map +0 -1
- package/esm/SavedObject.js +0 -91
- package/esm/SavedObject.js.map +0 -1
- package/esm/StorageManager.js +0 -182
- package/esm/StorageManager.js.map +0 -1
- package/esm/TokenManager.js +0 -455
- package/esm/TokenManager.js.map +0 -1
- package/esm/TransactionManager.js +0 -316
- package/esm/TransactionManager.js.map +0 -1
- package/esm/browser/browserStorage.js +0 -256
- package/esm/browser/browserStorage.js.map +0 -1
- package/esm/browser/fingerprint.js +0 -74
- package/esm/browser/fingerprint.js.map +0 -1
- package/esm/builderUtil.js +0 -50
- package/esm/builderUtil.js.map +0 -1
- package/esm/clock.js.map +0 -1
- package/esm/constants.js +0 -35
- package/esm/constants.js.map +0 -1
- package/esm/crypto/base64.js +0 -66
- package/esm/crypto/base64.js.map +0 -1
- package/esm/crypto/browser.js.map +0 -1
- package/esm/crypto/index.js.map +0 -1
- package/esm/crypto/node.js +0 -54
- package/esm/crypto/node.js.map +0 -1
- package/esm/crypto/oidcHash.js +0 -27
- package/esm/crypto/oidcHash.js.map +0 -1
- package/esm/crypto/verifyToken.js +0 -39
- package/esm/crypto/verifyToken.js.map +0 -1
- package/esm/crypto/webcrypto.js.map +0 -1
- package/esm/errors/AuthApiError.js.map +0 -1
- package/esm/errors/AuthPollStopError.js.map +0 -1
- package/esm/errors/AuthSdkError.js +0 -29
- package/esm/errors/AuthSdkError.js.map +0 -1
- package/esm/errors/CustomError.js +0 -21
- package/esm/errors/CustomError.js.map +0 -1
- package/esm/errors/OAuthError.js +0 -22
- package/esm/errors/OAuthError.js.map +0 -1
- package/esm/errors/index.js +0 -22
- package/esm/errors/index.js.map +0 -1
- package/esm/features.js +0 -64
- package/esm/features.js.map +0 -1
- package/esm/fetch/fetchRequest.js +0 -92
- package/esm/fetch/fetchRequest.js.map +0 -1
- package/esm/http/headers.js +0 -17
- package/esm/http/headers.js.map +0 -1
- package/esm/http/index.js +0 -3
- package/esm/http/index.js.map +0 -1
- package/esm/http/request.js +0 -145
- package/esm/http/request.js.map +0 -1
- package/esm/idx/authenticate.js +0 -47
- package/esm/idx/authenticate.js.map +0 -1
- package/esm/idx/cancel.js +0 -32
- package/esm/idx/cancel.js.map +0 -1
- package/esm/idx/flowMonitors/AuthenticationFlowMonitor.js +0 -41
- package/esm/idx/flowMonitors/AuthenticationFlowMonitor.js.map +0 -1
- package/esm/idx/flowMonitors/FlowMonitor.js +0 -73
- package/esm/idx/flowMonitors/FlowMonitor.js.map +0 -1
- package/esm/idx/flowMonitors/PasswordRecoveryFlowMonitor.js +0 -57
- package/esm/idx/flowMonitors/PasswordRecoveryFlowMonitor.js.map +0 -1
- package/esm/idx/flowMonitors/RegistrationFlowMonitor.js +0 -28
- package/esm/idx/flowMonitors/RegistrationFlowMonitor.js.map +0 -1
- package/esm/idx/flowMonitors/index.js +0 -16
- package/esm/idx/flowMonitors/index.js.map +0 -1
- package/esm/idx/handleInteractionCodeRedirect.js +0 -64
- package/esm/idx/handleInteractionCodeRedirect.js.map +0 -1
- package/esm/idx/headers.js +0 -39
- package/esm/idx/headers.js.map +0 -1
- package/esm/idx/index.js +0 -20
- package/esm/idx/index.js.map +0 -1
- package/esm/idx/interact.js +0 -83
- package/esm/idx/interact.js.map +0 -1
- package/esm/idx/introspect.js +0 -45
- package/esm/idx/introspect.js.map +0 -1
- package/esm/idx/recoverPassword.js +0 -46
- package/esm/idx/recoverPassword.js.map +0 -1
- package/esm/idx/register.js +0 -63
- package/esm/idx/register.js.map +0 -1
- package/esm/idx/remediate.js +0 -302
- package/esm/idx/remediate.js.map +0 -1
- package/esm/idx/remediators/AuthenticatorEnrollmentData.js +0 -68
- package/esm/idx/remediators/AuthenticatorEnrollmentData.js.map +0 -1
- package/esm/idx/remediators/AuthenticatorVerificationData.js +0 -66
- package/esm/idx/remediators/AuthenticatorVerificationData.js.map +0 -1
- package/esm/idx/remediators/Base/AuthenticatorData.js +0 -105
- package/esm/idx/remediators/Base/AuthenticatorData.js.map +0 -1
- package/esm/idx/remediators/Base/Remediator.js +0 -221
- package/esm/idx/remediators/Base/Remediator.js.map +0 -1
- package/esm/idx/remediators/Base/SelectAuthenticator.js +0 -140
- package/esm/idx/remediators/Base/SelectAuthenticator.js.map +0 -1
- package/esm/idx/remediators/Base/VerifyAuthenticator.js +0 -63
- package/esm/idx/remediators/Base/VerifyAuthenticator.js.map +0 -1
- package/esm/idx/remediators/ChallengeAuthenticator.js +0 -18
- package/esm/idx/remediators/ChallengeAuthenticator.js.map +0 -1
- package/esm/idx/remediators/EnrollAuthenticator.js +0 -18
- package/esm/idx/remediators/EnrollAuthenticator.js.map +0 -1
- package/esm/idx/remediators/EnrollProfile.js +0 -79
- package/esm/idx/remediators/EnrollProfile.js.map +0 -1
- package/esm/idx/remediators/Identify.js +0 -86
- package/esm/idx/remediators/Identify.js.map +0 -1
- package/esm/idx/remediators/ReEnrollAuthenticator.js +0 -45
- package/esm/idx/remediators/ReEnrollAuthenticator.js.map +0 -1
- package/esm/idx/remediators/RedirectIdp.js +0 -38
- package/esm/idx/remediators/RedirectIdp.js.map +0 -1
- package/esm/idx/remediators/ResetAuthenticator.js +0 -18
- package/esm/idx/remediators/ResetAuthenticator.js.map +0 -1
- package/esm/idx/remediators/SelectAuthenticatorAuthenticate.js +0 -18
- package/esm/idx/remediators/SelectAuthenticatorAuthenticate.js.map +0 -1
- package/esm/idx/remediators/SelectAuthenticatorEnroll.js +0 -18
- package/esm/idx/remediators/SelectAuthenticatorEnroll.js.map +0 -1
- package/esm/idx/remediators/SelectEnrollProfile.js +0 -24
- package/esm/idx/remediators/SelectEnrollProfile.js.map +0 -1
- package/esm/idx/remediators/Skip.js +0 -23
- package/esm/idx/remediators/Skip.js.map +0 -1
- package/esm/idx/remediators/index.js +0 -26
- package/esm/idx/remediators/index.js.map +0 -1
- package/esm/idx/remediators/util.js +0 -35
- package/esm/idx/remediators/util.js.map +0 -1
- package/esm/idx/run.js +0 -201
- package/esm/idx/run.js.map +0 -1
- package/esm/idx/startTransaction.js +0 -27
- package/esm/idx/startTransaction.js.map +0 -1
- package/esm/idx/transactionMeta.js +0 -114
- package/esm/idx/transactionMeta.js.map +0 -1
- package/esm/idx/types/idx-js.js +0 -17
- package/esm/idx/types/idx-js.js.map +0 -1
- package/esm/idx/types/index.js +0 -44
- package/esm/idx/types/index.js.map +0 -1
- package/esm/oidc/decodeToken.js +0 -31
- package/esm/oidc/decodeToken.js.map +0 -1
- package/esm/oidc/endpoints/authorize.js +0 -61
- package/esm/oidc/endpoints/authorize.js.map +0 -1
- package/esm/oidc/endpoints/index.js.map +0 -1
- package/esm/oidc/endpoints/token.js +0 -97
- package/esm/oidc/endpoints/token.js.map +0 -1
- package/esm/oidc/endpoints/well-known.js +0 -58
- package/esm/oidc/endpoints/well-known.js.map +0 -1
- package/esm/oidc/exchangeCodeForTokens.js +0 -69
- package/esm/oidc/exchangeCodeForTokens.js.map +0 -1
- package/esm/oidc/getToken.js +0 -175
- package/esm/oidc/getToken.js.map +0 -1
- package/esm/oidc/getUserInfo.js +0 -82
- package/esm/oidc/getUserInfo.js.map +0 -1
- package/esm/oidc/getWithPopup.js +0 -28
- package/esm/oidc/getWithPopup.js.map +0 -1
- package/esm/oidc/getWithRedirect.js +0 -65
- package/esm/oidc/getWithRedirect.js.map +0 -1
- package/esm/oidc/getWithoutPrompt.js +0 -29
- package/esm/oidc/getWithoutPrompt.js.map +0 -1
- package/esm/oidc/handleOAuthResponse.js +0 -148
- package/esm/oidc/handleOAuthResponse.js.map +0 -1
- package/esm/oidc/index.js +0 -29
- package/esm/oidc/index.js.map +0 -1
- package/esm/oidc/parseFromUrl.js +0 -144
- package/esm/oidc/parseFromUrl.js.map +0 -1
- package/esm/oidc/renewToken.js +0 -85
- package/esm/oidc/renewToken.js.map +0 -1
- package/esm/oidc/renewTokens.js +0 -52
- package/esm/oidc/renewTokens.js.map +0 -1
- package/esm/oidc/renewTokensWithRefresh.js +0 -55
- package/esm/oidc/renewTokensWithRefresh.js.map +0 -1
- package/esm/oidc/revokeToken.js +0 -57
- package/esm/oidc/revokeToken.js.map +0 -1
- package/esm/oidc/util/browser.js +0 -85
- package/esm/oidc/util/browser.js.map +0 -1
- package/esm/oidc/util/defaultTokenParams.js +0 -42
- package/esm/oidc/util/defaultTokenParams.js.map +0 -1
- package/esm/oidc/util/errors.js +0 -31
- package/esm/oidc/util/errors.js.map +0 -1
- package/esm/oidc/util/index.js +0 -25
- package/esm/oidc/util/index.js.map +0 -1
- package/esm/oidc/util/loginRedirect.js +0 -84
- package/esm/oidc/util/loginRedirect.js.map +0 -1
- package/esm/oidc/util/oauth.js +0 -70
- package/esm/oidc/util/oauth.js.map +0 -1
- package/esm/oidc/util/pkce.js +0 -55
- package/esm/oidc/util/pkce.js.map +0 -1
- package/esm/oidc/util/prepareTokenParams.js +0 -75
- package/esm/oidc/util/prepareTokenParams.js.map +0 -1
- package/esm/oidc/util/refreshToken.js +0 -24
- package/esm/oidc/util/refreshToken.js.map +0 -1
- package/esm/oidc/util/urlParams.js +0 -54
- package/esm/oidc/util/urlParams.js.map +0 -1
- package/esm/oidc/util/validateClaims.js +0 -53
- package/esm/oidc/util/validateClaims.js.map +0 -1
- package/esm/oidc/util/validateToken.js +0 -21
- package/esm/oidc/util/validateToken.js.map +0 -1
- package/esm/oidc/verifyToken.js +0 -78
- package/esm/oidc/verifyToken.js.map +0 -1
- package/esm/options.js +0 -134
- package/esm/options.js.map +0 -1
- package/esm/server/serverStorage.js +0 -110
- package/esm/server/serverStorage.js.map +0 -1
- package/esm/services/TokenService.js +0 -103
- package/esm/services/TokenService.js.map +0 -1
- package/esm/session.js +0 -81
- package/esm/session.js.map +0 -1
- package/esm/tx/AuthTransaction.js +0 -215
- package/esm/tx/AuthTransaction.js.map +0 -1
- package/esm/tx/TransactionState.js.map +0 -1
- package/esm/tx/api.js +0 -84
- package/esm/tx/api.js.map +0 -1
- package/esm/tx/index.js +0 -18
- package/esm/tx/index.js.map +0 -1
- package/esm/tx/poll.js +0 -124
- package/esm/tx/poll.js.map +0 -1
- package/esm/tx/util.js +0 -26
- package/esm/tx/util.js.map +0 -1
- package/esm/types/AuthState.js +0 -3
- package/esm/types/Cookies.js +0 -3
- package/esm/types/EventEmitter.js +0 -3
- package/esm/types/EventEmitter.js.map +0 -1
- package/esm/types/JWT.js +0 -3
- package/esm/types/JWT.js.map +0 -1
- package/esm/types/OAuth.js +0 -3
- package/esm/types/OAuth.js.map +0 -1
- package/esm/types/OktaAuthOptions.js +0 -3
- package/esm/types/OktaAuthOptions.js.map +0 -1
- package/esm/types/Storage.js +0 -3
- package/esm/types/Storage.js.map +0 -1
- package/esm/types/Token.js +0 -29
- package/esm/types/Token.js.map +0 -1
- package/esm/types/TokenManager.js +0 -3
- package/esm/types/TokenManager.js.map +0 -1
- package/esm/types/Transaction.js +0 -57
- package/esm/types/Transaction.js.map +0 -1
- package/esm/types/UserClaims.js +0 -3
- package/esm/types/UserClaims.js.map +0 -1
- package/esm/types/api.js +0 -3
- package/esm/types/api.js.map +0 -1
- package/esm/types/http.js +0 -3
- package/esm/types/http.js.map +0 -1
- package/esm/types/index.js +0 -27
- package/esm/types/index.js.map +0 -1
- package/esm/util/console.js +0 -53
- package/esm/util/console.js.map +0 -1
- package/esm/util/index.js +0 -17
- package/esm/util/index.js.map +0 -1
- package/esm/util/misc.js +0 -33
- package/esm/util/misc.js.map +0 -1
- package/esm/util/object.js +0 -117
- package/esm/util/object.js.map +0 -1
- package/esm/util/sharedStorage.js +0 -43
- package/esm/util/sharedStorage.js.map +0 -1
- package/esm/util/types.js +0 -27
- package/esm/util/types.js.map +0 -1
- package/esm/util/url.js +0 -64
- package/esm/util/url.js.map +0 -1
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
-
|
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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
|
-
|
|
19
|
-
/* eslint-disable complexity */
|
|
20
|
-
import { AuthSdkError } from '../../../errors';
|
|
21
|
-
import { getAllValues, getRequiredValues, titleCase } from '../util'; // A map from IDX data values (server spec) to RemediationValues (client spec)
|
|
22
|
-
|
|
23
|
-
// Base class - DO NOT expose static remediationName
|
|
24
|
-
export class Remediator {
|
|
25
|
-
constructor(remediation) {
|
|
26
|
-
var _values$authenticator;
|
|
27
|
-
|
|
28
|
-
var values = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
29
|
-
// map authenticators to Authenticator[] type
|
|
30
|
-
values.authenticators = ((_values$authenticator = values.authenticators) === null || _values$authenticator === void 0 ? void 0 : _values$authenticator.map(authenticator => {
|
|
31
|
-
return typeof authenticator === 'string' ? {
|
|
32
|
-
key: authenticator
|
|
33
|
-
} : authenticator;
|
|
34
|
-
})) || []; // assign fields to the instance
|
|
35
|
-
|
|
36
|
-
this.values = values;
|
|
37
|
-
this.remediation = remediation;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
getName() {
|
|
41
|
-
return this.remediation.name;
|
|
42
|
-
} // Override this method to provide custom check
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
canRemediate() {
|
|
46
|
-
if (!this.map) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
var required = getRequiredValues(this.remediation);
|
|
51
|
-
var needed = required.find(key => !this.hasData(key));
|
|
52
|
-
|
|
53
|
-
if (needed) {
|
|
54
|
-
return false; // missing data for a required field
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return true; // all required fields have available data
|
|
58
|
-
} // returns an object for the entire remediation form, or just a part
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
getData(key) {
|
|
62
|
-
if (!key) {
|
|
63
|
-
var allValues = getAllValues(this.remediation);
|
|
64
|
-
var res = allValues.reduce((data, key) => {
|
|
65
|
-
data[key] = this.getData(key); // recursive
|
|
66
|
-
|
|
67
|
-
return data;
|
|
68
|
-
}, {});
|
|
69
|
-
return res;
|
|
70
|
-
} // Map value by "map${Property}" function in each subClass
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
if (typeof this["map".concat(titleCase(key))] === 'function') {
|
|
74
|
-
return this["map".concat(titleCase(key))](this.remediation.value.find(_ref => {
|
|
75
|
-
var {
|
|
76
|
-
name
|
|
77
|
-
} = _ref;
|
|
78
|
-
return name === key;
|
|
79
|
-
}));
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
if (!this.map) {
|
|
83
|
-
return this.values[key];
|
|
84
|
-
} // Handle general primitive types
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
var entry = this.map[key];
|
|
88
|
-
|
|
89
|
-
if (!entry) {
|
|
90
|
-
return this.values[key];
|
|
91
|
-
} // find the first aliased property that returns a truthy value
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
for (var i = 0; i < entry.length; i++) {
|
|
95
|
-
var val = this.values[entry[i]];
|
|
96
|
-
|
|
97
|
-
if (val) {
|
|
98
|
-
return val;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
hasData(key) {
|
|
104
|
-
// no attempt to format, we want simple true/false
|
|
105
|
-
// First see if the remediation has a mapping for this vale
|
|
106
|
-
var data = this.getData(key);
|
|
107
|
-
|
|
108
|
-
if (typeof data === 'object') {
|
|
109
|
-
return !!Object.keys(data).find(key => !!data[key]);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
return !!data;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
getNextStep() {
|
|
116
|
-
var name = this.getName();
|
|
117
|
-
var inputs = this.getInputs();
|
|
118
|
-
var authenticator = this.getAuthenticator(); // TODO: remove type field in the next major version change
|
|
119
|
-
// https://oktainc.atlassian.net/browse/OKTA-431749
|
|
120
|
-
|
|
121
|
-
var type = authenticator === null || authenticator === void 0 ? void 0 : authenticator.type;
|
|
122
|
-
return _objectSpread(_objectSpread({
|
|
123
|
-
name,
|
|
124
|
-
inputs
|
|
125
|
-
}, type && {
|
|
126
|
-
type
|
|
127
|
-
}), authenticator && {
|
|
128
|
-
authenticator
|
|
129
|
-
});
|
|
130
|
-
} // Get inputs for the next step
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
getInputs() {
|
|
134
|
-
if (!this.map) {
|
|
135
|
-
return [];
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
return Object.keys(this.map).reduce((inputs, key) => {
|
|
139
|
-
var inputFromRemediation = this.remediation.value.find(item => item.name === key);
|
|
140
|
-
|
|
141
|
-
if (!inputFromRemediation) {
|
|
142
|
-
return inputs;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
var input;
|
|
146
|
-
var aliases = this.map[key];
|
|
147
|
-
var {
|
|
148
|
-
type
|
|
149
|
-
} = inputFromRemediation;
|
|
150
|
-
|
|
151
|
-
if (typeof this["getInput".concat(titleCase(key))] === 'function') {
|
|
152
|
-
input = this["getInput".concat(titleCase(key))](inputFromRemediation);
|
|
153
|
-
} else if (type !== 'object') {
|
|
154
|
-
// handle general primitive types
|
|
155
|
-
var name;
|
|
156
|
-
|
|
157
|
-
if (aliases.length === 1) {
|
|
158
|
-
name = aliases[0];
|
|
159
|
-
} else {
|
|
160
|
-
// try find key from values
|
|
161
|
-
name = aliases.find(name => Object.keys(this.values).includes(name));
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
if (name) {
|
|
165
|
-
input = _objectSpread(_objectSpread({}, inputFromRemediation), {}, {
|
|
166
|
-
name
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
if (!input) {
|
|
172
|
-
throw new AuthSdkError("Missing custom getInput".concat(titleCase(key), " method in Remediator: ").concat(this.getName()));
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
if (Array.isArray(input)) {
|
|
176
|
-
input.forEach(i => inputs.push(i));
|
|
177
|
-
} else {
|
|
178
|
-
inputs.push(input);
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
return inputs;
|
|
182
|
-
}, []);
|
|
183
|
-
} // Override this method to grab messages per remediation
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
getMessages() {
|
|
187
|
-
var _this$remediation$val, _this$remediation$val2;
|
|
188
|
-
|
|
189
|
-
if (!this.remediation.value) {
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
return (_this$remediation$val = this.remediation.value[0]) === null || _this$remediation$val === void 0 ? void 0 : (_this$remediation$val2 = _this$remediation$val.form) === null || _this$remediation$val2 === void 0 ? void 0 : _this$remediation$val2.value.reduce((messages, field) => {
|
|
194
|
-
if (field.messages) {
|
|
195
|
-
messages = [...messages, ...field.messages.value];
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
return messages;
|
|
199
|
-
}, []);
|
|
200
|
-
} // Prepare values for the next remediation
|
|
201
|
-
// In general, remove finished authenticator from list
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
getValuesAfterProceed() {
|
|
205
|
-
var _this$getAuthenticato, _this$values$authenti;
|
|
206
|
-
|
|
207
|
-
var authenticatorKey = (_this$getAuthenticato = this.getAuthenticator()) === null || _this$getAuthenticato === void 0 ? void 0 : _this$getAuthenticato.key;
|
|
208
|
-
var authenticators = (_this$values$authenti = this.values.authenticators) === null || _this$values$authenti === void 0 ? void 0 : _this$values$authenti.filter(authenticator => authenticator.key !== authenticatorKey);
|
|
209
|
-
return _objectSpread(_objectSpread({}, this.values), {}, {
|
|
210
|
-
authenticators
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
|
|
214
|
-
getAuthenticator() {
|
|
215
|
-
var _this$remediation$rel;
|
|
216
|
-
|
|
217
|
-
return (_this$remediation$rel = this.remediation.relatesTo) === null || _this$remediation$rel === void 0 ? void 0 : _this$remediation$rel.value;
|
|
218
|
-
}
|
|
219
|
-
|
|
220
|
-
}
|
|
221
|
-
//# sourceMappingURL=Remediator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../lib/idx/remediators/Base/Remediator.ts"],"names":["AuthSdkError","getAllValues","getRequiredValues","titleCase","Remediator","constructor","remediation","values","authenticators","map","authenticator","key","getName","name","canRemediate","required","needed","find","hasData","getData","allValues","res","reduce","data","value","entry","i","length","val","Object","keys","getNextStep","inputs","getInputs","getAuthenticator","type","inputFromRemediation","item","input","aliases","includes","Array","isArray","forEach","push","getMessages","form","messages","field","getValuesAfterProceed","authenticatorKey","filter","relatesTo"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\n/* eslint-disable complexity */\nimport { AuthSdkError } from '../../../errors';\nimport { NextStep, IdxMessage, Authenticator } from '../../types';\nimport { IdxAuthenticator, IdxRemediation } from '../../types/idx-js';\nimport { getAllValues, getRequiredValues, titleCase } from '../util';\n\n// A map from IDX data values (server spec) to RemediationValues (client spec)\nexport type IdxToRemediationValueMap = Record<string, string[]>;\n\nexport interface RemediationValues {\n stateHandle?: string;\n authenticators?: Authenticator[] | string[];\n}\n\n// Base class - DO NOT expose static remediationName\nexport class Remediator {\n static remediationName: string;\n\n remediation: IdxRemediation;\n values: RemediationValues;\n map?: IdxToRemediationValueMap;\n\n constructor(remediation: IdxRemediation, values: RemediationValues = {}) {\n // map authenticators to Authenticator[] type\n values.authenticators = (values.authenticators?.map(authenticator => {\n return typeof authenticator === 'string' \n ? { key: authenticator } : authenticator;\n }) || []) as Authenticator[];\n \n // assign fields to the instance\n this.values = values;\n this.remediation = remediation;\n }\n\n getName(): string {\n return this.remediation.name;\n }\n\n // Override this method to provide custom check\n canRemediate(): boolean {\n if (!this.map) {\n return false;\n }\n const required = getRequiredValues(this.remediation);\n const needed = required.find((key) => !this.hasData(key));\n if (needed) {\n return false; // missing data for a required field\n }\n return true; // all required fields have available data\n }\n\n // returns an object for the entire remediation form, or just a part\n getData(key?: string) {\n\n if (!key) {\n let allValues = getAllValues(this.remediation);\n let res = allValues.reduce((data, key) => {\n data[key] = this.getData(key); // recursive\n return data;\n }, {});\n return res;\n }\n\n // Map value by \"map${Property}\" function in each subClass\n if (typeof this[`map${titleCase(key)}`] === 'function') {\n return this[`map${titleCase(key)}`](\n this.remediation.value.find(({name}) => name === key)\n );\n }\n\n if (!this.map) {\n return this.values[key];\n }\n\n // Handle general primitive types\n const entry = this.map[key];\n if (!entry) {\n return this.values[key];\n }\n\n // find the first aliased property that returns a truthy value\n for (let i = 0; i < entry.length; i++) {\n let val = this.values[entry[i]];\n if (val) {\n return val;\n }\n }\n }\n\n hasData(\n key: string // idx name\n ): boolean \n {\n // no attempt to format, we want simple true/false\n\n // First see if the remediation has a mapping for this vale\n const data = this.getData(key);\n if (typeof data === 'object') {\n return !!Object.keys(data).find(key => !!data[key]);\n }\n return !!data;\n }\n\n getNextStep(): NextStep {\n const name = this.getName();\n const inputs = this.getInputs();\n const authenticator = this.getAuthenticator();\n // TODO: remove type field in the next major version change\n // https://oktainc.atlassian.net/browse/OKTA-431749\n const type = authenticator?.type;\n return { \n name, \n inputs, \n ...(type && { type }),\n ...(authenticator && { authenticator }),\n };\n }\n\n // Get inputs for the next step\n private getInputs() {\n if (!this.map) {\n return [];\n }\n\n return Object.keys(this.map).reduce((inputs, key) => {\n const inputFromRemediation = this.remediation.value.find(item => item.name === key);\n if (!inputFromRemediation) {\n return inputs;\n }\n\n let input;\n const aliases = this.map[key];\n const { type } = inputFromRemediation;\n if (typeof this[`getInput${titleCase(key)}`] === 'function') {\n input = this[`getInput${titleCase(key)}`](inputFromRemediation);\n } else if (type !== 'object') {\n // handle general primitive types\n let name;\n if (aliases.length === 1) {\n name = aliases[0];\n } else {\n // try find key from values\n name = aliases.find(name => Object.keys(this.values).includes(name));\n }\n if (name) {\n input = { ...inputFromRemediation, name };\n }\n } \n\n if (!input) {\n throw new AuthSdkError(`Missing custom getInput${titleCase(key)} method in Remediator: ${this.getName()}`);\n }\n\n if (Array.isArray(input)) {\n input.forEach(i => inputs.push(i));\n } else {\n inputs.push(input);\n }\n return inputs;\n }, []);\n }\n\n // Override this method to grab messages per remediation\n getMessages(): IdxMessage[] | undefined {\n if (!this.remediation.value) {\n return;\n }\n return this.remediation.value[0]?.form?.value.reduce((messages, field) => {\n if (field.messages) {\n messages = [...messages, ...field.messages.value];\n }\n return messages;\n }, []);\n }\n\n // Prepare values for the next remediation\n // In general, remove finished authenticator from list\n getValuesAfterProceed(): unknown {\n const authenticatorKey = this.getAuthenticator()?.key;\n const authenticators = (this.values.authenticators as Authenticator[])\n ?.filter(authenticator => authenticator.key !== authenticatorKey);\n return { ...this.values, authenticators };\n }\n\n protected getAuthenticator(): IdxAuthenticator | undefined {\n return this.remediation.relatesTo?.value;\n }\n\n}\n"],"file":"Remediator.js"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
-
|
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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
|
-
import { Remediator } from './Remediator';
|
|
19
|
-
import { getAuthenticatorFromRemediation } from '../util';
|
|
20
|
-
|
|
21
|
-
// Find matched authenticator in provided order
|
|
22
|
-
function findMatchedOption(authenticators, options) {
|
|
23
|
-
var option;
|
|
24
|
-
|
|
25
|
-
var _loop = function _loop(authenticator) {
|
|
26
|
-
option = options.find(_ref => {
|
|
27
|
-
var {
|
|
28
|
-
relatesTo
|
|
29
|
-
} = _ref;
|
|
30
|
-
return relatesTo.key === authenticator.key;
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
if (option) {
|
|
34
|
-
return "break";
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
for (var authenticator of authenticators) {
|
|
39
|
-
var _ret = _loop(authenticator);
|
|
40
|
-
|
|
41
|
-
if (_ret === "break") break;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return option;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// Base class - DO NOT expose static remediationName
|
|
48
|
-
export class SelectAuthenticator extends Remediator {
|
|
49
|
-
constructor(remediation) {
|
|
50
|
-
var values = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
51
|
-
super(remediation, values); // Unify authenticator input type
|
|
52
|
-
|
|
53
|
-
_defineProperty(this, "map", {
|
|
54
|
-
authenticator: []
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
var {
|
|
58
|
-
authenticator: selectedAuthenticator,
|
|
59
|
-
authenticators
|
|
60
|
-
} = this.values;
|
|
61
|
-
var hasSelectedAuthenticatorInList = authenticators === null || authenticators === void 0 ? void 0 : authenticators.some(authenticator => authenticator.key === selectedAuthenticator);
|
|
62
|
-
|
|
63
|
-
if (selectedAuthenticator && !hasSelectedAuthenticatorInList) {
|
|
64
|
-
// add selected authenticator to list
|
|
65
|
-
this.values.authenticators = [...(authenticators || []), {
|
|
66
|
-
key: selectedAuthenticator
|
|
67
|
-
}];
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
canRemediate() {
|
|
72
|
-
var {
|
|
73
|
-
authenticators
|
|
74
|
-
} = this.values;
|
|
75
|
-
var authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);
|
|
76
|
-
var {
|
|
77
|
-
options
|
|
78
|
-
} = authenticatorFromRemediation; // Let users select authenticator if no input is provided
|
|
79
|
-
|
|
80
|
-
if (!authenticators || !authenticators.length) {
|
|
81
|
-
return false;
|
|
82
|
-
} // Proceed with provided authenticators
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
var matchedOption = findMatchedOption(authenticators, options);
|
|
86
|
-
|
|
87
|
-
if (matchedOption) {
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
getNextStep() {
|
|
95
|
-
var common = super.getNextStep();
|
|
96
|
-
var authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);
|
|
97
|
-
var options = authenticatorFromRemediation.options.map(option => {
|
|
98
|
-
var {
|
|
99
|
-
label,
|
|
100
|
-
relatesTo: {
|
|
101
|
-
key
|
|
102
|
-
}
|
|
103
|
-
} = option;
|
|
104
|
-
return {
|
|
105
|
-
label,
|
|
106
|
-
value: key
|
|
107
|
-
};
|
|
108
|
-
});
|
|
109
|
-
return _objectSpread(_objectSpread({}, common), {}, {
|
|
110
|
-
options
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
mapAuthenticator(remediationValue) {
|
|
115
|
-
var {
|
|
116
|
-
authenticators
|
|
117
|
-
} = this.values;
|
|
118
|
-
var {
|
|
119
|
-
options
|
|
120
|
-
} = remediationValue;
|
|
121
|
-
var selectedOption = findMatchedOption(authenticators, options);
|
|
122
|
-
return {
|
|
123
|
-
id: selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.value.form.value.find(_ref2 => {
|
|
124
|
-
var {
|
|
125
|
-
name
|
|
126
|
-
} = _ref2;
|
|
127
|
-
return name === 'id';
|
|
128
|
-
}).value
|
|
129
|
-
};
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
getInputAuthenticator() {
|
|
133
|
-
return {
|
|
134
|
-
name: 'authenticator',
|
|
135
|
-
key: 'string'
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=SelectAuthenticator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../lib/idx/remediators/Base/SelectAuthenticator.ts"],"names":["Remediator","getAuthenticatorFromRemediation","findMatchedOption","authenticators","options","option","authenticator","find","relatesTo","key","SelectAuthenticator","constructor","remediation","values","selectedAuthenticator","hasSelectedAuthenticatorInList","some","canRemediate","authenticatorFromRemediation","length","matchedOption","getNextStep","common","map","label","value","mapAuthenticator","remediationValue","selectedOption","id","form","name","getInputAuthenticator"],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * \n * See the License for the specific language governing permissions and limitations under the License.\n */\n\n\nimport { Remediator, RemediationValues } from './Remediator';\nimport { getAuthenticatorFromRemediation } from '../util';\nimport { IdxRemediation, IdxRemediationValue } from '../../types/idx-js';\nimport { Authenticator } from '../../types';\n\n// Find matched authenticator in provided order\nfunction findMatchedOption(authenticators, options) {\n let option;\n for (let authenticator of authenticators) {\n option = options\n .find(({ relatesTo }) => relatesTo.key === authenticator.key);\n if (option) {\n break;\n }\n }\n return option;\n}\n\nexport type SelectAuthenticatorValues = RemediationValues & {\n authenticator?: string;\n};\n\n// Base class - DO NOT expose static remediationName\nexport class SelectAuthenticator extends Remediator {\n values: SelectAuthenticatorValues;\n matchedOption: IdxRemediation;\n \n map = {\n authenticator: []\n }\n\n constructor(remediation: IdxRemediation, values: SelectAuthenticatorValues = {}) {\n super(remediation, values);\n \n // Unify authenticator input type\n const { authenticator: selectedAuthenticator, authenticators } = this.values;\n const hasSelectedAuthenticatorInList = authenticators\n ?.some((authenticator => authenticator.key === selectedAuthenticator));\n if (selectedAuthenticator && !hasSelectedAuthenticatorInList) {\n // add selected authenticator to list\n this.values.authenticators = [\n ...(authenticators || []), \n { key: selectedAuthenticator }\n ] as Authenticator[];\n }\n }\n\n canRemediate() {\n const { authenticators } = this.values;\n const authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);\n const { options } = authenticatorFromRemediation;\n // Let users select authenticator if no input is provided\n if (!authenticators || !authenticators.length) {\n return false;\n }\n // Proceed with provided authenticators\n const matchedOption = findMatchedOption(authenticators, options);\n if (matchedOption) {\n return true;\n }\n \n return false;\n }\n\n getNextStep() {\n const common = super.getNextStep();\n const authenticatorFromRemediation = getAuthenticatorFromRemediation(this.remediation);\n const options = authenticatorFromRemediation.options.map(option => {\n const { \n label, \n relatesTo: { key } \n } = option;\n return { label, value: key };\n });\n return { ...common, options };\n }\n\n mapAuthenticator(remediationValue: IdxRemediationValue) {\n const { authenticators } = this.values;\n const { options } = remediationValue;\n const selectedOption = findMatchedOption(authenticators, options);\n return {\n id: selectedOption?.value.form.value.find(({ name }) => name === 'id').value\n };\n }\n\n getInputAuthenticator() {\n return { name: 'authenticator', key: 'string' };\n }\n\n}\n"],"file":"SelectAuthenticator.js"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
-
|
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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
|
-
import { Remediator } from './Remediator';
|
|
19
|
-
// Base class - DO NOT expose static remediationName
|
|
20
|
-
export class VerifyAuthenticator extends Remediator {
|
|
21
|
-
constructor() {
|
|
22
|
-
super(...arguments);
|
|
23
|
-
|
|
24
|
-
_defineProperty(this, "map", {
|
|
25
|
-
'credentials': []
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
canRemediate() {
|
|
30
|
-
return !!(this.values.password || this.values.verificationCode);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
mapCredentials() {
|
|
34
|
-
return {
|
|
35
|
-
passcode: this.values.verificationCode || this.values.password
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
getInputCredentials(input) {
|
|
40
|
-
var challengeType = this.getAuthenticator().type;
|
|
41
|
-
var name = challengeType === 'password' ? 'password' : 'verificationCode';
|
|
42
|
-
return _objectSpread(_objectSpread({}, input.form.value[0]), {}, {
|
|
43
|
-
name,
|
|
44
|
-
type: 'string',
|
|
45
|
-
required: input.required
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
getValuesAfterProceed() {
|
|
50
|
-
var values = super.getValuesAfterProceed();
|
|
51
|
-
var authenticator = this.getAuthenticator();
|
|
52
|
-
|
|
53
|
-
if (authenticator.type === 'password') {
|
|
54
|
-
delete values.password;
|
|
55
|
-
} else {
|
|
56
|
-
delete values.verificationCode;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return values;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=VerifyAuthenticator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../../lib/idx/remediators/Base/VerifyAuthenticator.ts"],"names":["Remediator","VerifyAuthenticator","canRemediate","values","password","verificationCode","mapCredentials","passcode","getInputCredentials","input","challengeType","getAuthenticator","type","name","form","value","required","getValuesAfterProceed","authenticator"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,UAAT,QAA8C,cAA9C;AAOA;AACA,OAAO,MAAMC,mBAAN,SAAkCD,UAAlC,CAA6C;AAAA;AAAA;;AAAA,iCAI5C;AACJ,qBAAe;AADX,KAJ4C;AAAA;;AAQlDE,EAAAA,YAAY,GAAG;AACb,WAAO,CAAC,EAAE,KAAKC,MAAL,CAAYC,QAAZ,IAAwB,KAAKD,MAAL,CAAYE,gBAAtC,CAAR;AACD;;AAEDC,EAAAA,cAAc,GAAG;AACf,WAAO;AACLC,MAAAA,QAAQ,EAAE,KAAKJ,MAAL,CAAYE,gBAAZ,IAAgC,KAAKF,MAAL,CAAYC;AADjD,KAAP;AAGD;;AAEDI,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB,QAAMC,aAAa,GAAG,KAAKC,gBAAL,GAAwBC,IAA9C;AACA,QAAMC,IAAI,GAAGH,aAAa,KAAK,UAAlB,GAA+B,UAA/B,GAA4C,kBAAzD;AACA,2CACKD,KAAK,CAACK,IAAN,CAAWC,KAAX,CAAiB,CAAjB,CADL;AAEEF,MAAAA,IAFF;AAGED,MAAAA,IAAI,EAAE,QAHR;AAIEI,MAAAA,QAAQ,EAAEP,KAAK,CAACO;AAJlB;AAMD;;AAEDC,EAAAA,qBAAqB,GAAG;AACtB,QAAId,MAAM,GAAG,MAAMc,qBAAN,EAAb;AACA,QAAMC,aAAa,GAAG,KAAKP,gBAAL,EAAtB;;AACA,QAAIO,aAAa,CAACN,IAAd,KAAuB,UAA3B,EAAuC;AACrC,aAAOT,MAAM,CAACC,QAAd;AACD,KAFD,MAEO;AACL,aAAOD,MAAM,CAACE,gBAAd;AACD;;AACD,WAAOF,MAAP;AACD;;AAtCiD","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 { Remediator, RemediationValues } from './Remediator';\n\nexport interface VerifyAuthenticatorValues extends RemediationValues {\n verificationCode?: string;\n password?: string;\n}\n\n// Base class - DO NOT expose static remediationName\nexport class VerifyAuthenticator extends Remediator {\n\n values: VerifyAuthenticatorValues;\n\n map = {\n 'credentials': []\n };\n\n canRemediate() {\n return !!(this.values.password || this.values.verificationCode);\n }\n\n mapCredentials() {\n return { \n passcode: this.values.verificationCode || this.values.password\n };\n }\n\n getInputCredentials(input) {\n const challengeType = this.getAuthenticator().type;\n const name = challengeType === 'password' ? 'password' : 'verificationCode';\n return {\n ...input.form.value[0],\n name,\n type: 'string',\n required: input.required\n };\n }\n\n getValuesAfterProceed() {\n let values = super.getValuesAfterProceed() as VerifyAuthenticatorValues;\n const authenticator = this.getAuthenticator();\n if (authenticator.type === 'password') {\n delete values.password;\n } else {\n delete values.verificationCode;\n }\n return values;\n }\n\n}\n"],"file":"VerifyAuthenticator.js"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
|
-
/*!
|
|
4
|
-
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
5
|
-
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
6
|
-
*
|
|
7
|
-
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
8
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
-
*
|
|
12
|
-
* See the License for the specific language governing permissions and limitations under the License.
|
|
13
|
-
*/
|
|
14
|
-
import { VerifyAuthenticator } from './Base/VerifyAuthenticator';
|
|
15
|
-
export class ChallengeAuthenticator extends VerifyAuthenticator {}
|
|
16
|
-
|
|
17
|
-
_defineProperty(ChallengeAuthenticator, "remediationName", 'challenge-authenticator');
|
|
18
|
-
//# sourceMappingURL=ChallengeAuthenticator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../lib/idx/remediators/ChallengeAuthenticator.ts"],"names":["VerifyAuthenticator","ChallengeAuthenticator"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,mBAAT,QAA+D,4BAA/D;AAIA,OAAO,MAAMC,sBAAN,SAAqCD,mBAArC,CAAyD;;gBAAnDC,sB,qBACc,yB","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 { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';\n\nexport type ChallengeAuthenticatorValues = VerifyAuthenticatorValues;\n\nexport class ChallengeAuthenticator extends VerifyAuthenticator {\n static remediationName = 'challenge-authenticator';\n values: ChallengeAuthenticatorValues;\n}\n"],"file":"ChallengeAuthenticator.js"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
|
-
/*!
|
|
4
|
-
* Copyright (c) 2015-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
5
|
-
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
6
|
-
*
|
|
7
|
-
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
8
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
-
*
|
|
12
|
-
* See the License for the specific language governing permissions and limitations under the License.
|
|
13
|
-
*/
|
|
14
|
-
import { VerifyAuthenticator } from './Base/VerifyAuthenticator';
|
|
15
|
-
export class EnrollAuthenticator extends VerifyAuthenticator {}
|
|
16
|
-
|
|
17
|
-
_defineProperty(EnrollAuthenticator, "remediationName", 'enroll-authenticator');
|
|
18
|
-
//# sourceMappingURL=EnrollAuthenticator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../lib/idx/remediators/EnrollAuthenticator.ts"],"names":["VerifyAuthenticator","EnrollAuthenticator"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,mBAAT,QAA+D,4BAA/D;AAIA,OAAO,MAAMC,mBAAN,SAAkCD,mBAAlC,CAAsD;;gBAAhDC,mB,qBACc,sB","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 { VerifyAuthenticator, VerifyAuthenticatorValues } from './Base/VerifyAuthenticator';\n\nexport type EnrollAuthenticatorValues = VerifyAuthenticatorValues;\n\nexport class EnrollAuthenticator extends VerifyAuthenticator {\n static remediationName = 'enroll-authenticator';\n values: EnrollAuthenticatorValues;\n}\n"],"file":"EnrollAuthenticator.js"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
|
|
3
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
-
|
|
5
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
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
|
-
import { Remediator } from './Base/Remediator';
|
|
19
|
-
export class EnrollProfile extends Remediator {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
|
|
23
|
-
_defineProperty(this, "map", {
|
|
24
|
-
'userProfile': []
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
canRemediate() {
|
|
29
|
-
var userProfileFromValues = this.getData().userProfile;
|
|
30
|
-
var userProfileFromRemediation = this.remediation.value.find(_ref => {
|
|
31
|
-
var {
|
|
32
|
-
name
|
|
33
|
-
} = _ref;
|
|
34
|
-
return name === 'userProfile';
|
|
35
|
-
});
|
|
36
|
-
return userProfileFromRemediation.form.value.reduce((canRemediate, curr) => {
|
|
37
|
-
if (curr.required) {
|
|
38
|
-
canRemediate = canRemediate && !!userProfileFromValues[curr.name];
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
return canRemediate;
|
|
42
|
-
}, true);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
mapUserProfile(_ref2) {
|
|
46
|
-
var {
|
|
47
|
-
form: {
|
|
48
|
-
value: profileAttributes
|
|
49
|
-
}
|
|
50
|
-
} = _ref2;
|
|
51
|
-
var attributeNames = profileAttributes.map(_ref3 => {
|
|
52
|
-
var {
|
|
53
|
-
name
|
|
54
|
-
} = _ref3;
|
|
55
|
-
return name;
|
|
56
|
-
});
|
|
57
|
-
return attributeNames.reduce((attributeValues, attributeName) => this.values[attributeName] ? _objectSpread(_objectSpread({}, attributeValues), {}, {
|
|
58
|
-
[attributeName]: this.values[attributeName]
|
|
59
|
-
}) : attributeValues, {});
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
getInputUserProfile(input) {
|
|
63
|
-
return [...input.form.value];
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
getErrorMessages(errorRemediation) {
|
|
67
|
-
return errorRemediation.value[0].form.value.reduce((errors, field) => {
|
|
68
|
-
if (field.messages) {
|
|
69
|
-
errors.push(field.messages.value[0].message);
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
return errors;
|
|
73
|
-
}, []);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
_defineProperty(EnrollProfile, "remediationName", 'enroll-profile');
|
|
79
|
-
//# sourceMappingURL=EnrollProfile.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../lib/idx/remediators/EnrollProfile.ts"],"names":["Remediator","EnrollProfile","canRemediate","userProfileFromValues","getData","userProfile","userProfileFromRemediation","remediation","value","find","name","form","reduce","curr","required","mapUserProfile","profileAttributes","attributeNames","map","attributeValues","attributeName","values","getInputUserProfile","input","getErrorMessages","errorRemediation","errors","field","messages","push","message"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,UAAT,QAA8C,mBAA9C;AAQA,OAAO,MAAMC,aAAN,SAA4BD,UAA5B,CAAuC;AAAA;AAAA;;AAAA,iCAKtC;AACJ,qBAAe;AADX,KALsC;AAAA;;AAS5CE,EAAAA,YAAY,GAAG;AACb,QAAMC,qBAAqB,GAAG,KAAKC,OAAL,GAAeC,WAA7C;AACA,QAAMC,0BAA0B,GAAG,KAAKC,WAAL,CAAiBC,KAAjB,CAAuBC,IAAvB,CAA4B;AAAA,UAAC;AAAEC,QAAAA;AAAF,OAAD;AAAA,aAAcA,IAAI,KAAK,aAAvB;AAAA,KAA5B,CAAnC;AACA,WAAOJ,0BAA0B,CAACK,IAA3B,CAAgCH,KAAhC,CAAsCI,MAAtC,CAA6C,CAACV,YAAD,EAAeW,IAAf,KAAwB;AAC1E,UAAIA,IAAI,CAACC,QAAT,EAAmB;AACjBZ,QAAAA,YAAY,GAAGA,YAAY,IAAI,CAAC,CAACC,qBAAqB,CAACU,IAAI,CAACH,IAAN,CAAtD;AACD;;AACD,aAAOR,YAAP;AACD,KALM,EAKJ,IALI,CAAP;AAMD;;AAEDa,EAAAA,cAAc,QAAuC;AAAA,QAAtC;AAACJ,MAAAA,IAAI,EAAE;AAAEH,QAAAA,KAAK,EAAEQ;AAAT;AAAP,KAAsC;AACnD,QAAMC,cAAc,GAAGD,iBAAiB,CAACE,GAAlB,CAAsB;AAAA,UAAC;AAACR,QAAAA;AAAD,OAAD;AAAA,aAAYA,IAAZ;AAAA,KAAtB,CAAvB;AACA,WAAOO,cAAc,CAACL,MAAf,CAAsB,CAACO,eAAD,EAAkBC,aAAlB,KAC3B,KAAKC,MAAL,CAAYD,aAAZ,oCACGD,eADH;AAEA,OAACC,aAAD,GAAiB,KAAKC,MAAL,CAAYD,aAAZ;AAFjB,SAGED,eAJG,EAIe,EAJf,CAAP;AAKD;;AAEDG,EAAAA,mBAAmB,CAACC,KAAD,EAAQ;AACzB,WAAO,CAAC,GAAGA,KAAK,CAACZ,IAAN,CAAWH,KAAf,CAAP;AACD;;AAEDgB,EAAAA,gBAAgB,CAACC,gBAAD,EAAmB;AACjC,WAAOA,gBAAgB,CAACjB,KAAjB,CAAuB,CAAvB,EAA0BG,IAA1B,CAA+BH,KAA/B,CAAqCI,MAArC,CAA4C,CAACc,MAAD,EAASC,KAAT,KAAmB;AACpE,UAAIA,KAAK,CAACC,QAAV,EAAoB;AAClBF,QAAAA,MAAM,CAACG,IAAP,CAAYF,KAAK,CAACC,QAAN,CAAepB,KAAf,CAAqB,CAArB,EAAwBsB,OAApC;AACD;;AACD,aAAOJ,MAAP;AACD,KALM,EAKJ,EALI,CAAP;AAMD;;AAxC2C;;gBAAjCzB,a,qBACc,gB","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 { Remediator, RemediationValues } from './Base/Remediator';\n\nexport interface EnrollProfileValues extends RemediationValues {\n firstName?: string;\n lastName?: string;\n email?: string;\n}\n\nexport class EnrollProfile extends Remediator {\n static remediationName = 'enroll-profile';\n\n values: EnrollProfileValues;\n\n map = {\n 'userProfile': []\n };\n\n canRemediate() {\n const userProfileFromValues = this.getData().userProfile;\n const userProfileFromRemediation = this.remediation.value.find(({ name }) => name === 'userProfile');\n return userProfileFromRemediation.form.value.reduce((canRemediate, curr) => {\n if (curr.required) {\n canRemediate = canRemediate && !!userProfileFromValues[curr.name];\n }\n return canRemediate;\n }, true);\n }\n\n mapUserProfile({form: { value: profileAttributes }}) {\n const attributeNames = profileAttributes.map(({name}) => name);\n return attributeNames.reduce((attributeValues, attributeName) => (\n this.values[attributeName] ? {\n ...attributeValues,\n [attributeName]: this.values[attributeName]\n } : attributeValues), {});\n }\n\n getInputUserProfile(input) {\n return [...input.form.value];\n }\n\n getErrorMessages(errorRemediation) {\n return errorRemediation.value[0].form.value.reduce((errors, field) => {\n if (field.messages) {\n errors.push(field.messages.value[0].message);\n }\n return errors;\n }, []);\n }\n}"],"file":"EnrollProfile.js"}
|