perimeterx-js-core 0.7.1 → 0.9.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/lib/cjs/action/Action.js +10 -0
- package/lib/cjs/action/ActionData.js +2 -0
- package/lib/cjs/action/ActionPriorityOrder.js +10 -0
- package/lib/cjs/action/Decision.js +2 -0
- package/lib/cjs/action/ProductAction.js +2 -0
- package/lib/cjs/action/index.js +22 -0
- package/lib/cjs/action/utils.js +48 -0
- package/lib/cjs/activities/ActivityType.js +10 -0
- package/lib/cjs/activities/HttpActivityClient.js +121 -0
- package/lib/cjs/activities/HttpBatchedActivityClient.js +137 -0
- package/lib/cjs/activities/IActivityClient.js +2 -0
- package/lib/cjs/activities/constants.js +4 -0
- package/lib/cjs/activities/index.js +23 -0
- package/lib/cjs/activities/model/AsyncActivity.js +2 -0
- package/lib/cjs/activities/model/AsyncActivityDetails.js +2 -0
- package/lib/cjs/activities/model/CommonActivityDetails.js +2 -0
- package/lib/cjs/activities/model/HeaderEntry.js +2 -0
- package/lib/cjs/activities/model/index.js +20 -0
- package/lib/cjs/activities/utils.js +220 -0
- package/lib/cjs/additional_activity_handler/AdditionalActivityHandler.js +2 -0
- package/lib/cjs/additional_activity_handler/AdditionalActivityHandlerUtils.js +65 -0
- package/lib/cjs/additional_activity_handler/index.js +18 -0
- package/lib/cjs/blocker/BlockAction.js +9 -0
- package/lib/cjs/blocker/BlockActionToProductMap.js +10 -0
- package/lib/cjs/blocker/BlockActionToWordMap.js +9 -0
- package/lib/cjs/blocker/IBlocker.js +2 -0
- package/lib/cjs/blocker/IConditionalBlocker.js +2 -0
- package/lib/cjs/blocker/index.js +21 -0
- package/lib/cjs/config/ConfigurationParams.js +2 -0
- package/lib/cjs/config/DefaultConfigurations.js +121 -0
- package/lib/cjs/config/IConfiguration.js +2 -0
- package/lib/cjs/config/StaticConfigurationBase.js +583 -0
- package/lib/cjs/config/index.js +7 -0
- package/lib/cjs/context/DefaultContext.js +111 -0
- package/lib/cjs/context/index.js +18 -0
- package/lib/cjs/context/interfaces/IContext.js +2 -0
- package/lib/cjs/context/interfaces/MobileData.js +2 -0
- package/lib/cjs/context/interfaces/ReadonlyContext.js +2 -0
- package/lib/cjs/context/interfaces/RequestData.js +2 -0
- package/lib/cjs/context/interfaces/RiskApiData.js +2 -0
- package/lib/cjs/context/interfaces/ServerData.js +2 -0
- package/lib/cjs/context/interfaces/TlsData.js +2 -0
- package/lib/cjs/context/interfaces/TokenData.js +2 -0
- package/lib/cjs/context/interfaces/index.js +24 -0
- package/lib/cjs/cors/CustomBlockResponseHeadersHandler.js +2 -0
- package/lib/cjs/cors/CustomPreflightHandler.js +2 -0
- package/lib/cjs/cors/DefaultCors.js +107 -0
- package/lib/cjs/cors/ICors.js +2 -0
- package/lib/cjs/cors/constants.js +5 -0
- package/lib/cjs/cors/index.js +20 -0
- package/lib/cjs/custom_parameters/CustomParameters.js +2 -0
- package/lib/cjs/custom_parameters/CustomParametersFunction.js +2 -0
- package/lib/cjs/custom_parameters/CustomParametersUtils.js +77 -0
- package/lib/cjs/custom_parameters/index.js +5 -0
- package/lib/cjs/enforcer/EnforcerBase.js +282 -0
- package/lib/cjs/enforcer/IEnforcer.js +2 -0
- package/lib/cjs/enforcer/index.js +20 -0
- package/lib/cjs/enforcer/options/EnforcerBaseOptions.js +2 -0
- package/lib/cjs/enforcer/options/EnforcerOptionsType.js +2 -0
- package/lib/cjs/enforcer/options/EnforcerV2Options.js +2 -0
- package/lib/cjs/enforcer/options/EnforcerV3Options.js +2 -0
- package/lib/cjs/enforcer/options/index.js +20 -0
- package/lib/cjs/filter/FilterReason.js +14 -0
- package/lib/cjs/filter/IFilter.js +2 -0
- package/lib/cjs/filter/index.js +18 -0
- package/lib/cjs/first_party/FirstPartyData.js +2 -0
- package/lib/cjs/first_party/IFirstParty.js +2 -0
- package/lib/cjs/first_party/index.js +18 -0
- package/lib/cjs/graphql/DefaultGraphQLParser.js +181 -0
- package/lib/cjs/graphql/IGraphQLParser.js +2 -0
- package/lib/cjs/graphql/index.js +19 -0
- package/lib/cjs/graphql/model/GraphQLData.js +2 -0
- package/lib/cjs/graphql/model/GraphQLOperation.js +2 -0
- package/lib/cjs/graphql/model/GraphQLOperationType.js +9 -0
- package/lib/cjs/graphql/model/index.js +19 -0
- package/lib/cjs/http/index.js +18 -0
- package/lib/cjs/http/interfaces/IBody.js +2 -0
- package/lib/cjs/http/interfaces/IFormData.js +2 -0
- package/lib/cjs/http/interfaces/IHeaders.js +2 -0
- package/lib/cjs/http/interfaces/IHttpClient.js +2 -0
- package/lib/cjs/http/interfaces/IIncomingRequest.js +2 -0
- package/lib/cjs/http/interfaces/IIncomingResponse.js +2 -0
- package/lib/cjs/http/interfaces/IMinimalResponse.js +2 -0
- package/lib/cjs/http/interfaces/IOutgoingRequest.js +2 -0
- package/lib/cjs/http/interfaces/IOutgoingResponse.js +2 -0
- package/lib/cjs/http/interfaces/IURL.js +2 -0
- package/lib/cjs/http/interfaces/IURLSearchParams.js +2 -0
- package/lib/cjs/http/interfaces/ReadonlyHeaders.js +26 -0
- package/lib/cjs/http/interfaces/index.js +28 -0
- package/lib/cjs/http/utils/ContentType.js +13 -0
- package/lib/cjs/http/utils/FormDataImpl.js +43 -0
- package/lib/cjs/http/utils/HttpMethod.js +15 -0
- package/lib/cjs/http/utils/MinimalResponseImpl.js +12 -0
- package/lib/cjs/http/utils/MinimalResponseUtils.js +49 -0
- package/lib/cjs/http/utils/MultipartFormDataUtils.js +49 -0
- package/lib/cjs/http/utils/OutgoingRequestImpl.js +14 -0
- package/lib/cjs/http/utils/URLUtils.js +65 -0
- package/lib/cjs/http/utils/UrlImpl.js +73 -0
- package/lib/cjs/http/utils/UrlSearchParamsImpl.js +126 -0
- package/lib/cjs/http/utils/constants.js +12 -0
- package/lib/cjs/http/utils/index.js +27 -0
- package/lib/cjs/impl/base64/AtobBase64Utils.js +15 -0
- package/lib/cjs/impl/base64/BufferBase64Utils.js +17 -0
- package/lib/cjs/impl/base64/JSBase64Base64Utils.js +16 -0
- package/lib/cjs/impl/cipher/CryptoCipherUtils.js +87 -0
- package/lib/cjs/impl/cipher/SubtleCryptoCipherUtils.js +94 -0
- package/lib/cjs/impl/hash/CryptoHashUtils.js +78 -0
- package/lib/cjs/impl/hash/CryptoJSHashUtils.js +22 -0
- package/lib/cjs/impl/hash/SubtleCryptoHashUtils.js +95 -0
- package/lib/cjs/impl/hmac/CryptoHmacUtils.js +48 -0
- package/lib/cjs/impl/hmac/CryptoJSHmacUtils.js +22 -0
- package/lib/cjs/impl/http/phin/PhinHttpClient.js +84 -0
- package/lib/cjs/impl/http/phin/PhinIncomingResponse.js +99 -0
- package/lib/cjs/impl/http/phin/index.js +18 -0
- package/lib/cjs/impl/ip_range_checker/DefaultIpRangeChecker.js +16 -0
- package/lib/cjs/impl/request_id_generator/UuidRequestIdGenerator.js +13 -0
- package/lib/cjs/impl/url_parser/DefaultUrlParser.js +39 -0
- package/lib/cjs/index.js +38 -0
- package/lib/cjs/logger/DefaultLogger.js +31 -0
- package/lib/cjs/logger/HttpLogServiceClient.js +123 -0
- package/lib/cjs/logger/ILogServiceClient.js +2 -0
- package/lib/cjs/logger/ILogger.js +2 -0
- package/lib/cjs/logger/LoggerBase.js +48 -0
- package/lib/cjs/logger/LoggerSeverity.js +9 -0
- package/lib/cjs/logger/constants.js +5 -0
- package/lib/cjs/logger/index.js +27 -0
- package/lib/cjs/logger/model/EnrichedLogRecord.js +2 -0
- package/lib/cjs/logger/model/LogMetadata.js +2 -0
- package/lib/cjs/logger/model/LogRecord.js +2 -0
- package/lib/cjs/logger/model/index.js +19 -0
- package/lib/cjs/package.json +1 -0
- package/lib/cjs/phase/IPhase.js +2 -0
- package/lib/cjs/phase/PhaseResult.js +2 -0
- package/lib/cjs/phase/flow/EndEnforcerFlow.js +32 -0
- package/lib/cjs/phase/flow/EnforceFlow.js +38 -0
- package/lib/cjs/phase/flow/FilterFlow.js +34 -0
- package/lib/cjs/phase/flow/PostEnforceFlow.js +32 -0
- package/lib/cjs/phase/flow/index.js +20 -0
- package/lib/cjs/phase/impl/AdditionalActivityHandlerPhase.js +59 -0
- package/lib/cjs/phase/impl/CompositePhase.js +72 -0
- package/lib/cjs/phase/impl/CreateBlockResponsePhase.js +110 -0
- package/lib/cjs/phase/impl/DecideActionPhase.js +68 -0
- package/lib/cjs/phase/impl/EnrichContextFromRequestPhase.js +175 -0
- package/lib/cjs/phase/impl/EnrichContextFromResponsePhase.js +95 -0
- package/lib/cjs/phase/impl/FilterPhase.js +53 -0
- package/lib/cjs/phase/impl/FirstPartyPhase.js +100 -0
- package/lib/cjs/phase/impl/ModifyIncomingRequestPhase.js +58 -0
- package/lib/cjs/phase/impl/ModifyOutgoingResponsePhase.js +63 -0
- package/lib/cjs/phase/impl/ParseTokenPhase.js +76 -0
- package/lib/cjs/phase/impl/PreflightPhase.js +68 -0
- package/lib/cjs/phase/impl/RiskApiPhase.js +179 -0
- package/lib/cjs/phase/impl/SendAsyncActivitiesOnRequestPhase.js +74 -0
- package/lib/cjs/phase/impl/SendAsyncActivitiesOnResponsePhase.js +58 -0
- package/lib/cjs/phase/impl/SendLogsPhase.js +66 -0
- package/lib/cjs/phase/impl/TelemetryPhase.js +75 -0
- package/lib/cjs/phase/impl/index.js +33 -0
- package/lib/cjs/phase/index.js +20 -0
- package/lib/cjs/products/account_defender/AccountDefender.js +161 -0
- package/lib/cjs/products/account_defender/AccountDefenderData.js +2 -0
- package/lib/cjs/products/account_defender/IAccountDefender.js +2 -0
- package/lib/cjs/products/account_defender/JwtData.js +2 -0
- package/lib/cjs/products/account_defender/constants.js +4 -0
- package/lib/cjs/products/account_defender/index.js +21 -0
- package/lib/cjs/products/bot_defender/BotDefender.js +208 -0
- package/lib/cjs/products/bot_defender/BotDefenderActionData.js +11 -0
- package/lib/cjs/products/bot_defender/BotDefenderData.js +2 -0
- package/lib/cjs/products/bot_defender/BotDefenderUtils.js +22 -0
- package/lib/cjs/products/bot_defender/IBotDefender.js +2 -0
- package/lib/cjs/products/bot_defender/block/DefaultBotDefenderBlocker.js +46 -0
- package/lib/cjs/products/bot_defender/block/captcha/CaptchaBlocker.js +25 -0
- package/lib/cjs/products/bot_defender/block/captcha/HtmlCaptchaBlocker.js +26 -0
- package/lib/cjs/products/bot_defender/block/captcha/JsonCaptchaBlocker.js +42 -0
- package/lib/cjs/products/bot_defender/block/captcha/MobileCaptchaBlocker.js +40 -0
- package/lib/cjs/products/bot_defender/block/captcha/index.js +20 -0
- package/lib/cjs/products/bot_defender/block/index.js +21 -0
- package/lib/cjs/products/bot_defender/block/model/BlockData.js +2 -0
- package/lib/cjs/products/bot_defender/block/model/JsonBlockPayload.js +2 -0
- package/lib/cjs/products/bot_defender/block/model/MobileBlockPayload.js +2 -0
- package/lib/cjs/products/bot_defender/block/model/index.js +19 -0
- package/lib/cjs/products/bot_defender/block/templates/captcha_template.js +4 -0
- package/lib/cjs/products/bot_defender/block/templates/index.js +18 -0
- package/lib/cjs/products/bot_defender/block/templates/rate_limit_template.js +4 -0
- package/lib/cjs/products/bot_defender/block/utils.js +50 -0
- package/lib/cjs/products/bot_defender/filter/DefaultBotDefenderFilter.js +61 -0
- package/lib/cjs/products/bot_defender/filter/index.js +17 -0
- package/lib/cjs/products/bot_defender/first_party/DefaultBotDefenderFirstParty.js +201 -0
- package/lib/cjs/products/bot_defender/first_party/FirstPartySuffix.js +9 -0
- package/lib/cjs/products/bot_defender/first_party/constants.js +33 -0
- package/lib/cjs/products/bot_defender/first_party/index.js +20 -0
- package/lib/cjs/products/bot_defender/first_party/utils.js +58 -0
- package/lib/cjs/products/bot_defender/index.js +25 -0
- package/lib/cjs/products/bot_defender/reasons/BotDefenderBlockReason.js +8 -0
- package/lib/cjs/products/bot_defender/reasons/BotDefenderPassReason.js +10 -0
- package/lib/cjs/products/bot_defender/reasons/BotDefenderReasonType.js +2 -0
- package/lib/cjs/products/bot_defender/reasons/BotDefenderS2SCallReason.js +16 -0
- package/lib/cjs/products/bot_defender/reasons/index.js +20 -0
- package/lib/cjs/products/credential_intelligence/CredentialIntelligence.js +171 -0
- package/lib/cjs/products/credential_intelligence/ICredentialIntelligence.js +2 -0
- package/lib/cjs/products/credential_intelligence/constants.js +7 -0
- package/lib/cjs/products/credential_intelligence/endpoint/CredentialEndpoint.js +79 -0
- package/lib/cjs/products/credential_intelligence/endpoint/CredentialEndpointConfiguration.js +2 -0
- package/lib/cjs/products/credential_intelligence/endpoint/CredentialEndpointManager.js +78 -0
- package/lib/cjs/products/credential_intelligence/endpoint/ICredentialEndpoint.js +2 -0
- package/lib/cjs/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.js +124 -0
- package/lib/cjs/products/credential_intelligence/endpoint/extractor/CredentialExtractorFactory.js +28 -0
- package/lib/cjs/products/credential_intelligence/endpoint/extractor/CustomCredentialExtractor.js +63 -0
- package/lib/cjs/products/credential_intelligence/endpoint/extractor/HeaderCredentialExtractor.js +16 -0
- package/lib/cjs/products/credential_intelligence/endpoint/extractor/ICredentialExtractor.js +2 -0
- package/lib/cjs/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.js +62 -0
- package/lib/cjs/products/credential_intelligence/endpoint/extractor/SentThrough.js +10 -0
- package/lib/cjs/products/credential_intelligence/endpoint/extractor/index.js +21 -0
- package/lib/cjs/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceHashProtocolFactory.js +24 -0
- package/lib/cjs/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceVersion.js +9 -0
- package/lib/cjs/products/credential_intelligence/endpoint/hash_protocol/ICredentialIntelligenceHashProtocol.js +2 -0
- package/lib/cjs/products/credential_intelligence/endpoint/hash_protocol/MultistepHashProtocol.js +78 -0
- package/lib/cjs/products/credential_intelligence/endpoint/hash_protocol/SingleStepAndMultistepHashProtocol.js +60 -0
- package/lib/cjs/products/credential_intelligence/endpoint/hash_protocol/SingleStepHashProtocol.js +100 -0
- package/lib/cjs/products/credential_intelligence/endpoint/hash_protocol/SsoStep.js +8 -0
- package/lib/cjs/products/credential_intelligence/endpoint/hash_protocol/index.js +23 -0
- package/lib/cjs/products/credential_intelligence/endpoint/index.js +24 -0
- package/lib/cjs/products/credential_intelligence/endpoint/login_successful/BodyLoginSuccessfulParser.js +54 -0
- package/lib/cjs/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulCallback.js +2 -0
- package/lib/cjs/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulParser.js +66 -0
- package/lib/cjs/products/credential_intelligence/endpoint/login_successful/HeaderLoginSuccessfulParser.js +57 -0
- package/lib/cjs/products/credential_intelligence/endpoint/login_successful/ILoginSuccessfulParser.js +2 -0
- package/lib/cjs/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulParserFactory.js +33 -0
- package/lib/cjs/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulReportingMethod.js +10 -0
- package/lib/cjs/products/credential_intelligence/endpoint/login_successful/StatusLoginSuccessfulParser.js +53 -0
- package/lib/cjs/products/credential_intelligence/endpoint/login_successful/index.js +24 -0
- package/lib/cjs/products/credential_intelligence/endpoint/matcher/CredentialIntelligenceEndpointMatcherFactory.js +22 -0
- package/lib/cjs/products/credential_intelligence/endpoint/matcher/ExactPathEndpointMatcher.js +15 -0
- package/lib/cjs/products/credential_intelligence/endpoint/matcher/ICredentialIntelligenceEndpointMatcher.js +2 -0
- package/lib/cjs/products/credential_intelligence/endpoint/matcher/PathType.js +8 -0
- package/lib/cjs/products/credential_intelligence/endpoint/matcher/RegexPathEndpointMatcher.js +15 -0
- package/lib/cjs/products/credential_intelligence/endpoint/matcher/index.js +21 -0
- package/lib/cjs/products/credential_intelligence/index.js +21 -0
- package/lib/cjs/products/credential_intelligence/model/CredentialData.js +2 -0
- package/lib/cjs/products/credential_intelligence/model/CredentialIntelligenceData.js +2 -0
- package/lib/cjs/products/credential_intelligence/model/Credentials.js +2 -0
- package/lib/cjs/products/credential_intelligence/model/CustomExtractionCallback.js +2 -0
- package/lib/cjs/products/credential_intelligence/model/index.js +20 -0
- package/lib/cjs/products/index.js +21 -0
- package/lib/cjs/products/interfaces/IProduct.js +2 -0
- package/lib/cjs/products/interfaces/ProductData.js +2 -0
- package/lib/cjs/products/interfaces/ProductDataType.js +2 -0
- package/lib/cjs/products/interfaces/ProductType.js +2 -0
- package/lib/cjs/products/interfaces/Products.js +2 -0
- package/lib/cjs/products/interfaces/index.js +21 -0
- package/lib/cjs/products/utils/ProductName.js +11 -0
- package/lib/cjs/products/utils/ProductPriorityOrder.js +11 -0
- package/lib/cjs/products/utils/index.js +19 -0
- package/lib/cjs/products/utils/utils.js +18 -0
- package/lib/cjs/pxde/DefaultDataEnrichment.js +130 -0
- package/lib/cjs/pxde/IDataEnrichment.js +2 -0
- package/lib/cjs/pxde/constants.js +7 -0
- package/lib/cjs/pxde/index.js +20 -0
- package/lib/cjs/pxde/model/PXDE.js +2 -0
- package/lib/cjs/pxde/model/PxdeData.js +2 -0
- package/lib/cjs/pxde/model/index.js +18 -0
- package/lib/cjs/pxhd/PXHDUtils.js +31 -0
- package/lib/cjs/pxhd/index.js +20 -0
- package/lib/cjs/pxhd/model/PXHD.js +2 -0
- package/lib/cjs/pxhd/model/PXHDSource.js +8 -0
- package/lib/cjs/pxhd/model/index.js +18 -0
- package/lib/cjs/risk_api/client/IRiskApiClient.js +2 -0
- package/lib/cjs/risk_api/client/PostRiskApiClientBase.js +232 -0
- package/lib/cjs/risk_api/client/PostRiskApiClientV2.js +31 -0
- package/lib/cjs/risk_api/client/PostRiskApiClientV3.js +31 -0
- package/lib/cjs/risk_api/client/index.js +20 -0
- package/lib/cjs/risk_api/constants.js +4 -0
- package/lib/cjs/risk_api/index.js +20 -0
- package/lib/cjs/risk_api/model/RiskActivity.js +2 -0
- package/lib/cjs/risk_api/model/RiskApiCallResult.js +10 -0
- package/lib/cjs/risk_api/model/RiskStatus.js +8 -0
- package/lib/cjs/risk_api/model/S2SErrorReason.js +12 -0
- package/lib/cjs/risk_api/model/index.js +20 -0
- package/lib/cjs/risk_api/risk_response/IRiskResponse.js +2 -0
- package/lib/cjs/risk_api/risk_response/RiskResponseBase.js +131 -0
- package/lib/cjs/risk_api/risk_response/RiskResponsePayloadType.js +2 -0
- package/lib/cjs/risk_api/risk_response/index.js +20 -0
- package/lib/cjs/risk_api/risk_response/v2/DefaultRiskResponseV2.js +43 -0
- package/lib/cjs/risk_api/risk_response/v2/RiskResponseV2Payload.js +2 -0
- package/lib/cjs/risk_api/risk_response/v2/index.js +18 -0
- package/lib/cjs/risk_api/risk_response/v3/DefaultRiskResponseV3.js +39 -0
- package/lib/cjs/risk_api/risk_response/v3/RiskResponseV3Payload.js +2 -0
- package/lib/cjs/risk_api/risk_response/v3/index.js +18 -0
- package/lib/cjs/risk_token/MobileError.js +10 -0
- package/lib/cjs/risk_token/TokenOrigin.js +8 -0
- package/lib/cjs/risk_token/TokenParseResult.js +10 -0
- package/lib/cjs/risk_token/TokenVersion.js +8 -0
- package/lib/cjs/risk_token/constants.js +12 -0
- package/lib/cjs/risk_token/index.js +29 -0
- package/lib/cjs/risk_token/parser/DefaultTokenV2Parser.js +35 -0
- package/lib/cjs/risk_token/parser/DefaultTokenV3Parser.js +35 -0
- package/lib/cjs/risk_token/parser/ITokenParser.js +2 -0
- package/lib/cjs/risk_token/parser/TokenParserBase.js +154 -0
- package/lib/cjs/risk_token/parser/TokenParserOptions.js +2 -0
- package/lib/cjs/risk_token/parser/index.js +21 -0
- package/lib/cjs/risk_token/token/IToken.js +2 -0
- package/lib/cjs/risk_token/token/TokenBase.js +98 -0
- package/lib/cjs/risk_token/token/TokenPayloadType.js +2 -0
- package/lib/cjs/risk_token/token/index.js +11 -0
- package/lib/cjs/risk_token/token/v2/DefaultTokenV2.js +201 -0
- package/lib/cjs/risk_token/token/v2/TokenV2Payload.js +2 -0
- package/lib/cjs/risk_token/token/v3/DefaultTokenV3.js +233 -0
- package/lib/cjs/risk_token/token/v3/TokenSignField.js +8 -0
- package/lib/cjs/risk_token/token/v3/TokenV3Payload.js +2 -0
- package/lib/cjs/risk_token/utils.js +16 -0
- package/lib/cjs/telemetry/DefaultTelemetry.js +187 -0
- package/lib/cjs/telemetry/ITelemetry.js +2 -0
- package/lib/cjs/telemetry/constants.js +10 -0
- package/lib/cjs/telemetry/index.js +20 -0
- package/lib/cjs/telemetry/model/TelemetryActivity.js +2 -0
- package/lib/cjs/utils/Algorithm.js +8 -0
- package/lib/cjs/utils/ModuleMode.js +8 -0
- package/lib/cjs/utils/VidSource.js +8 -0
- package/lib/cjs/utils/base64/IBase64Utils.js +2 -0
- package/lib/cjs/utils/base64/index.js +17 -0
- package/lib/cjs/utils/cipher/ICipherUtils.js +2 -0
- package/lib/cjs/utils/cipher/index.js +17 -0
- package/lib/cjs/utils/constants.js +15 -0
- package/lib/cjs/utils/cookie_parser/ICookieParser.js +2 -0
- package/lib/cjs/utils/cookie_parser/StringSplitCookieParser.js +36 -0
- package/lib/cjs/utils/cookie_parser/index.js +18 -0
- package/lib/cjs/utils/error/EnforcerError.js +29 -0
- package/lib/cjs/utils/error/EnforcerErrorName.js +8 -0
- package/lib/cjs/utils/error/EnforcerTimeoutError.js +30 -0
- package/lib/cjs/utils/error/index.js +9 -0
- package/lib/cjs/utils/hash/IHashUtils.js +2 -0
- package/lib/cjs/utils/hash/index.js +17 -0
- package/lib/cjs/utils/hmac/IHmacUtils.js +2 -0
- package/lib/cjs/utils/hmac/index.js +17 -0
- package/lib/cjs/utils/index.js +30 -0
- package/lib/cjs/utils/ip_range_checker/IIpRangeChecker.js +2 -0
- package/lib/cjs/utils/ip_range_checker/index.js +17 -0
- package/lib/cjs/utils/request_id_generator/IRequestIdGenerator.js +2 -0
- package/lib/cjs/utils/request_id_generator/index.js +17 -0
- package/lib/cjs/utils/url_parser/IURLParser.js +2 -0
- package/lib/cjs/utils/url_parser/index.js +17 -0
- package/lib/cjs/utils/utils.js +165 -0
- package/lib/esm/action/utils.js +34 -0
- package/lib/esm/activities/HttpActivityClient.js +59 -0
- package/lib/esm/activities/HttpBatchedActivityClient.js +55 -0
- package/lib/esm/activities/model/index.js +4 -0
- package/lib/esm/activities/utils.js +190 -0
- package/lib/esm/additional_activity_handler/AdditionalActivityHandlerUtils.js +14 -0
- package/lib/esm/config/StaticConfigurationBase.js +280 -0
- package/lib/esm/context/DefaultContext.js +117 -0
- package/lib/esm/cors/DefaultCors.js +49 -0
- package/lib/esm/custom_parameters/CustomParametersUtils.js +27 -0
- package/lib/esm/enforcer/EnforcerBase.js +157 -0
- package/lib/esm/graphql/DefaultGraphQLParser.js +117 -0
- package/lib/esm/http/index.js +2 -0
- package/lib/esm/http/interfaces/index.js +12 -0
- package/lib/esm/http/utils/FormDataImpl.js +36 -0
- package/lib/esm/http/utils/MinimalResponseImpl.js +10 -0
- package/lib/esm/http/utils/MinimalResponseUtils.js +30 -0
- package/lib/esm/http/utils/MultipartFormDataUtils.js +44 -0
- package/lib/esm/http/utils/OutgoingRequestImpl.js +13 -0
- package/lib/esm/http/utils/URLUtils.js +62 -0
- package/lib/esm/http/utils/UrlImpl.js +54 -0
- package/lib/esm/http/utils/UrlSearchParamsImpl.js +116 -0
- package/lib/esm/http/utils/index.js +11 -0
- package/lib/esm/impl/base64/BufferBase64Utils.js +11 -0
- package/lib/esm/impl/cipher/CryptoCipherUtils.js +18 -0
- package/lib/esm/impl/cipher/SubtleCryptoCipherUtils.js +38 -0
- package/lib/esm/impl/hash/CryptoHashUtils.js +10 -0
- package/lib/esm/impl/hash/CryptoJSHashUtils.js +12 -0
- package/lib/esm/impl/hash/SubtleCryptoHashUtils.js +21 -0
- package/lib/esm/impl/hmac/CryptoHmacUtils.js +20 -0
- package/lib/esm/impl/hmac/CryptoJSHmacUtils.js +12 -0
- package/lib/esm/impl/http/phin/PhinHttpClient.js +31 -0
- package/lib/esm/impl/http/phin/PhinIncomingResponse.js +23 -0
- package/lib/esm/impl/url_parser/DefaultUrlParser.js +28 -0
- package/lib/esm/logger/HttpLogServiceClient.js +52 -0
- package/lib/esm/logger/LoggerBase.js +43 -0
- package/lib/esm/phase/impl/AdditionalActivityHandlerPhase.js +11 -0
- package/lib/esm/phase/impl/CompositePhase.js +16 -0
- package/lib/esm/phase/impl/CreateBlockResponsePhase.js +50 -0
- package/lib/esm/phase/impl/DecideActionPhase.js +19 -0
- package/lib/esm/phase/impl/EnrichContextFromRequestPhase.js +43 -0
- package/lib/esm/phase/impl/EnrichContextFromResponsePhase.js +20 -0
- package/lib/esm/phase/impl/FilterPhase.js +9 -0
- package/lib/esm/phase/impl/FirstPartyPhase.js +31 -0
- package/lib/esm/phase/impl/ModifyIncomingRequestPhase.js +10 -0
- package/lib/esm/phase/impl/ModifyOutgoingResponsePhase.js +14 -0
- package/lib/esm/phase/impl/ParseTokenPhase.js +27 -0
- package/lib/esm/phase/impl/PreflightPhase.js +20 -0
- package/lib/esm/phase/impl/RiskApiPhase.js +64 -0
- package/lib/esm/phase/impl/SendAsyncActivitiesOnRequestPhase.js +16 -0
- package/lib/esm/phase/impl/SendAsyncActivitiesOnResponsePhase.js +10 -0
- package/lib/esm/phase/impl/SendLogsPhase.js +16 -0
- package/lib/esm/phase/impl/TelemetryPhase.js +17 -0
- package/lib/esm/products/account_defender/AccountDefender.js +79 -0
- package/lib/esm/products/bot_defender/BotDefender.js +114 -0
- package/lib/esm/products/bot_defender/BotDefenderActionData.js +8 -0
- package/lib/esm/products/bot_defender/block/DefaultBotDefenderBlocker.js +41 -0
- package/lib/esm/products/bot_defender/block/captcha/CaptchaBlocker.js +24 -0
- package/lib/esm/products/bot_defender/block/captcha/HtmlCaptchaBlocker.js +21 -0
- package/lib/esm/products/bot_defender/block/captcha/JsonCaptchaBlocker.js +39 -0
- package/lib/esm/products/bot_defender/block/captcha/MobileCaptchaBlocker.js +36 -0
- package/lib/esm/products/bot_defender/block/utils.js +43 -0
- package/lib/esm/products/bot_defender/filter/DefaultBotDefenderFilter.js +57 -0
- package/lib/esm/products/bot_defender/first_party/DefaultBotDefenderFirstParty.js +114 -0
- package/lib/esm/products/bot_defender/first_party/constants.js +29 -0
- package/lib/esm/products/credential_intelligence/CredentialIntelligence.js +75 -0
- package/lib/esm/products/credential_intelligence/endpoint/CredentialEndpoint.js +29 -0
- package/lib/esm/products/credential_intelligence/endpoint/CredentialEndpointManager.js +19 -0
- package/lib/esm/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.js +53 -0
- package/lib/esm/products/credential_intelligence/endpoint/extractor/CustomCredentialExtractor.js +14 -0
- package/lib/esm/products/credential_intelligence/endpoint/extractor/HeaderCredentialExtractor.js +13 -0
- package/lib/esm/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.js +18 -0
- package/lib/esm/products/credential_intelligence/endpoint/hash_protocol/MultistepHashProtocol.js +20 -0
- package/lib/esm/products/credential_intelligence/endpoint/hash_protocol/SingleStepAndMultistepHashProtocol.js +16 -0
- package/lib/esm/products/credential_intelligence/endpoint/hash_protocol/SingleStepHashProtocol.js +37 -0
- package/lib/esm/products/credential_intelligence/endpoint/login_successful/BodyLoginSuccessfulParser.js +10 -0
- package/lib/esm/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulParser.js +16 -0
- package/lib/esm/products/credential_intelligence/endpoint/login_successful/HeaderLoginSuccessfulParser.js +14 -0
- package/lib/esm/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulParserFactory.js +27 -0
- package/lib/esm/products/credential_intelligence/endpoint/login_successful/StatusLoginSuccessfulParser.js +9 -0
- package/lib/esm/products/credential_intelligence/endpoint/matcher/ExactPathEndpointMatcher.js +11 -0
- package/lib/esm/products/credential_intelligence/endpoint/matcher/RegexPathEndpointMatcher.js +11 -0
- package/lib/esm/pxde/DefaultDataEnrichment.js +60 -0
- package/lib/esm/pxhd/PXHDUtils.js +28 -0
- package/lib/esm/risk_api/client/PostRiskApiClientBase.js +134 -0
- package/lib/esm/risk_api/risk_response/RiskResponseBase.js +41 -0
- package/lib/esm/risk_api/risk_response/v2/DefaultRiskResponseV2.js +16 -0
- package/lib/esm/risk_api/risk_response/v3/DefaultRiskResponseV3.js +12 -0
- package/lib/esm/risk_token/parser/TokenParserBase.js +83 -0
- package/lib/esm/risk_token/token/TokenBase.js +45 -0
- package/lib/esm/risk_token/token/v2/DefaultTokenV2.js +97 -0
- package/lib/esm/risk_token/token/v3/DefaultTokenV3.js +123 -0
- package/lib/esm/telemetry/DefaultTelemetry.js +107 -0
- package/lib/esm/utils/base64/index.js +1 -0
- package/lib/esm/utils/cipher/index.js +1 -0
- package/lib/esm/utils/constants.js +12 -0
- package/lib/esm/utils/hash/index.js +1 -0
- package/lib/esm/utils/hmac/index.js +1 -0
- package/lib/esm/utils/ip_range_checker/IIpRangeChecker.js +1 -0
- package/lib/esm/utils/ip_range_checker/index.js +1 -0
- package/lib/esm/utils/request_id_generator/IRequestIdGenerator.js +1 -0
- package/lib/esm/utils/request_id_generator/index.js +1 -0
- package/lib/esm/utils/url_parser/IURLParser.js +1 -0
- package/lib/esm/utils/url_parser/index.js +1 -0
- package/lib/esm/utils/utils.js +99 -0
- package/lib/types/activities/HttpActivityClient.d.ts +20 -0
- package/lib/types/activities/HttpBatchedActivityClient.d.ts +21 -0
- package/lib/types/activities/model/AsyncActivity.d.ts +14 -0
- package/lib/types/activities/model/AsyncActivityDetails.d.ts +29 -0
- package/lib/types/activities/model/CommonActivityDetails.d.ts +40 -0
- package/lib/types/activities/model/HeaderEntry.d.ts +4 -0
- package/lib/types/activities/model/index.d.ts +4 -0
- package/lib/types/activities/utils.d.ts +6075 -0
- package/lib/types/additional_activity_handler/AdditionalActivityHandler.d.ts +3 -0
- package/lib/types/config/ConfigurationParams.d.ts +83 -0
- package/lib/types/config/IConfiguration.d.ts +312 -0
- package/lib/types/config/StaticConfigurationBase.d.ts +92 -0
- package/lib/types/context/DefaultContext.d.ts +49 -0
- package/lib/types/context/interfaces/RiskApiData.d.ts +31 -0
- package/lib/types/http/index.d.ts +2 -0
- package/lib/types/http/interfaces/IBody.d.ts +25 -0
- package/lib/types/http/interfaces/IIncomingRequest.d.ts +32 -0
- package/lib/types/http/interfaces/IURL.d.ts +9 -0
- package/lib/types/http/interfaces/IURLSearchParams.d.ts +9 -0
- package/lib/types/http/interfaces/index.d.ts +12 -0
- package/lib/types/http/utils/OutgoingRequestImpl.d.ts +14 -0
- package/lib/types/http/utils/URLUtils.d.ts +7 -0
- package/lib/types/http/utils/UrlImpl.d.ts +18 -0
- package/lib/types/http/utils/UrlSearchParamsImpl.d.ts +19 -0
- package/lib/types/http/utils/index.d.ts +11 -0
- package/lib/types/impl/base64/AtobBase64Utils.d.ts +5 -0
- package/lib/types/impl/base64/BufferBase64Utils.d.ts +6 -0
- package/lib/types/impl/base64/JSBase64Base64Utils.d.ts +5 -0
- package/lib/types/impl/cipher/CryptoCipherUtils.d.ts +10 -0
- package/lib/types/impl/cipher/SubtleCryptoCipherUtils.d.ts +8 -0
- package/lib/types/impl/hash/CryptoHashUtils.d.ts +10 -0
- package/lib/types/impl/hash/CryptoJSHashUtils.d.ts +4 -0
- package/lib/types/impl/hash/SubtleCryptoHashUtils.d.ts +7 -0
- package/lib/types/impl/hmac/CryptoHmacUtils.d.ts +10 -0
- package/lib/types/impl/hmac/CryptoJSHmacUtils.d.ts +4 -0
- package/lib/types/impl/http/phin/PhinHttpClient.d.ts +6 -0
- package/lib/types/impl/http/phin/PhinIncomingResponse.d.ts +13 -0
- package/lib/types/impl/ip_range_checker/DefaultIpRangeChecker.d.ts +4 -0
- package/lib/types/impl/request_id_generator/UuidRequestIdGenerator.d.ts +4 -0
- package/lib/types/impl/url_parser/DefaultUrlParser.d.ts +13 -0
- package/lib/types/products/bot_defender/block/DefaultBotDefenderBlocker.d.ts +14 -0
- package/lib/types/products/bot_defender/block/captcha/CaptchaBlocker.d.ts +16 -0
- package/lib/types/products/bot_defender/block/captcha/HtmlCaptchaBlocker.d.ts +9 -0
- package/lib/types/products/bot_defender/block/captcha/JsonCaptchaBlocker.d.ts +10 -0
- package/lib/types/products/bot_defender/block/captcha/MobileCaptchaBlocker.d.ts +12 -0
- package/lib/types/products/bot_defender/first_party/constants.d.ts +24 -0
- package/lib/types/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.d.ts +15 -0
- package/lib/types/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.d.ts +10 -0
- package/lib/types/risk_api/client/PostRiskApiClientBase.d.ts +39 -0
- package/lib/types/risk_api/model/RiskActivity.d.ts +16 -0
- package/lib/types/risk_api/risk_response/IRiskResponse.d.ts +16 -0
- package/lib/types/risk_api/risk_response/RiskResponseBase.d.ts +23 -0
- package/lib/types/risk_api/risk_response/v2/DefaultRiskResponseV2.d.ts +8 -0
- package/lib/types/risk_api/risk_response/v2/RiskResponseV2Payload.d.ts +14 -0
- package/lib/types/risk_api/risk_response/v3/RiskResponseV3Payload.d.ts +14 -0
- package/lib/types/utils/base64/index.d.ts +1 -0
- package/lib/types/utils/cipher/index.d.ts +1 -0
- package/lib/types/utils/constants.d.ts +12 -0
- package/lib/types/utils/hash/index.d.ts +1 -0
- package/lib/types/utils/hmac/index.d.ts +1 -0
- package/lib/types/utils/ip_range_checker/index.d.ts +1 -0
- package/lib/types/utils/request_id_generator/index.d.ts +1 -0
- package/lib/types/utils/url_parser/index.d.ts +1 -0
- package/lib/types/utils/utils.d.ts +18 -0
- package/package.json +25 -7
- package/lib/action/utils.js +0 -34
- package/lib/activities/HttpActivityClient.d.ts +0 -20
- package/lib/activities/HttpActivityClient.js +0 -70
- package/lib/activities/HttpBatchedActivityClient.d.ts +0 -21
- package/lib/activities/HttpBatchedActivityClient.js +0 -68
- package/lib/activities/model/Activity.d.ts +0 -13
- package/lib/activities/model/ActivityDetails.d.ts +0 -46
- package/lib/activities/model/index.d.ts +0 -2
- package/lib/activities/model/index.js +0 -2
- package/lib/activities/utils.d.ts +0 -13
- package/lib/activities/utils.js +0 -114
- package/lib/additional_activity_handler/AdditionalActivityHandler.d.ts +0 -3
- package/lib/additional_activity_handler/AdditionalActivityHandlerUtils.js +0 -22
- package/lib/config/ConfigurationParams.d.ts +0 -83
- package/lib/config/IConfiguration.d.ts +0 -312
- package/lib/config/StaticConfigurationBase.d.ts +0 -92
- package/lib/config/StaticConfigurationBase.js +0 -278
- package/lib/context/DefaultContext.d.ts +0 -49
- package/lib/context/DefaultContext.js +0 -85
- package/lib/context/interfaces/RiskApiData.d.ts +0 -27
- package/lib/cors/DefaultCors.js +0 -59
- package/lib/custom_parameters/CustomParametersUtils.js +0 -36
- package/lib/enforcer/EnforcerBase.js +0 -168
- package/lib/graphql/DefaultGraphQLParser.js +0 -126
- package/lib/http/impl/FormDataImpl.js +0 -36
- package/lib/http/impl/MinimalResponseImpl.js +0 -7
- package/lib/http/impl/OutgoingRequestImpl.d.ts +0 -14
- package/lib/http/impl/OutgoingRequestImpl.js +0 -9
- package/lib/http/impl/index.d.ts +0 -4
- package/lib/http/impl/index.js +0 -4
- package/lib/http/impl/phin/PhinHttpClient.d.ts +0 -6
- package/lib/http/impl/phin/PhinHttpClient.js +0 -41
- package/lib/http/impl/phin/PhinIncomingResponse.d.ts +0 -13
- package/lib/http/impl/phin/PhinIncomingResponse.js +0 -38
- package/lib/http/index.d.ts +0 -3
- package/lib/http/index.js +0 -3
- package/lib/http/interfaces/IBody.d.ts +0 -24
- package/lib/http/interfaces/IIncomingRequest.d.ts +0 -28
- package/lib/http/interfaces/IURL.d.ts +0 -6
- package/lib/http/interfaces/index.d.ts +0 -11
- package/lib/http/interfaces/index.js +0 -11
- package/lib/http/utils/MinimalResponseUtils.js +0 -32
- package/lib/http/utils/MultipartFormDataUtils.js +0 -45
- package/lib/http/utils/index.d.ts +0 -5
- package/lib/http/utils/index.js +0 -5
- package/lib/logger/HttpLogServiceClient.js +0 -60
- package/lib/logger/LoggerBase.js +0 -41
- package/lib/phase/impl/AdditionalActivityHandlerPhase.js +0 -22
- package/lib/phase/impl/CompositePhase.js +0 -26
- package/lib/phase/impl/CreateBlockResponsePhase.js +0 -61
- package/lib/phase/impl/DecideActionPhase.js +0 -29
- package/lib/phase/impl/EnrichContextFromRequestPhase.js +0 -60
- package/lib/phase/impl/EnrichContextFromResponsePhase.js +0 -31
- package/lib/phase/impl/FilterPhase.js +0 -19
- package/lib/phase/impl/FirstPartyPhase.js +0 -42
- package/lib/phase/impl/ModifyIncomingRequestPhase.js +0 -20
- package/lib/phase/impl/ModifyOutgoingResponsePhase.js +0 -25
- package/lib/phase/impl/ParseTokenPhase.js +0 -37
- package/lib/phase/impl/PreflightPhase.js +0 -28
- package/lib/phase/impl/RiskApiPhase.js +0 -76
- package/lib/phase/impl/SendAsyncActivitiesOnRequestPhase.js +0 -28
- package/lib/phase/impl/SendAsyncActivitiesOnResponsePhase.js +0 -20
- package/lib/phase/impl/SendLogsPhase.js +0 -26
- package/lib/phase/impl/TelemetryPhase.js +0 -29
- package/lib/products/account_defender/AccountDefender.js +0 -98
- package/lib/products/bot_defender/BotDefender.js +0 -135
- package/lib/products/bot_defender/BotDefenderActionData.js +0 -6
- package/lib/products/bot_defender/block/DefaultBotDefenderBlocker.d.ts +0 -14
- package/lib/products/bot_defender/block/DefaultBotDefenderBlocker.js +0 -39
- package/lib/products/bot_defender/block/captcha/CaptchaBlocker.d.ts +0 -13
- package/lib/products/bot_defender/block/captcha/CaptchaBlocker.js +0 -20
- package/lib/products/bot_defender/block/captcha/HtmlCaptchaBlocker.d.ts +0 -9
- package/lib/products/bot_defender/block/captcha/HtmlCaptchaBlocker.js +0 -20
- package/lib/products/bot_defender/block/captcha/JsonCaptchaBlocker.d.ts +0 -10
- package/lib/products/bot_defender/block/captcha/JsonCaptchaBlocker.js +0 -38
- package/lib/products/bot_defender/block/captcha/MobileCaptchaBlocker.d.ts +0 -12
- package/lib/products/bot_defender/block/captcha/MobileCaptchaBlocker.js +0 -34
- package/lib/products/bot_defender/block/utils.js +0 -44
- package/lib/products/bot_defender/filter/DefaultBotDefenderFilter.js +0 -55
- package/lib/products/bot_defender/first_party/DefaultBotDefenderFirstParty.js +0 -131
- package/lib/products/bot_defender/first_party/constants.d.ts +0 -28
- package/lib/products/bot_defender/first_party/constants.js +0 -36
- package/lib/products/credential_intelligence/CredentialIntelligence.js +0 -96
- package/lib/products/credential_intelligence/endpoint/CredentialEndpoint.js +0 -37
- package/lib/products/credential_intelligence/endpoint/CredentialEndpointManager.js +0 -32
- package/lib/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.d.ts +0 -15
- package/lib/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.js +0 -64
- package/lib/products/credential_intelligence/endpoint/extractor/CustomCredentialExtractor.js +0 -24
- package/lib/products/credential_intelligence/endpoint/extractor/HeaderCredentialExtractor.js +0 -11
- package/lib/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.d.ts +0 -10
- package/lib/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.js +0 -23
- package/lib/products/credential_intelligence/endpoint/hash_protocol/MultistepHashProtocol.js +0 -30
- package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepAndMultistepHashProtocol.js +0 -25
- package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepHashProtocol.js +0 -49
- package/lib/products/credential_intelligence/endpoint/login_successful/BodyLoginSuccessfulParser.js +0 -20
- package/lib/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulParser.js +0 -26
- package/lib/products/credential_intelligence/endpoint/login_successful/HeaderLoginSuccessfulParser.js +0 -23
- package/lib/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulParserFactory.js +0 -26
- package/lib/products/credential_intelligence/endpoint/login_successful/StatusLoginSuccessfulParser.js +0 -19
- package/lib/products/credential_intelligence/endpoint/matcher/ExactPathEndpointMatcher.js +0 -9
- package/lib/products/credential_intelligence/endpoint/matcher/RegexPathEndpointMatcher.js +0 -9
- package/lib/pxde/DefaultDataEnrichment.js +0 -74
- package/lib/pxhd/PXHDUtils.js +0 -28
- package/lib/risk_api/client/PostRiskApiClientBase.d.ts +0 -44
- package/lib/risk_api/client/PostRiskApiClientBase.js +0 -235
- package/lib/risk_api/model/RiskActivity.d.ts +0 -56
- package/lib/risk_api/risk_response/IRiskResponse.d.ts +0 -15
- package/lib/risk_api/risk_response/RiskResponseBase.d.ts +0 -22
- package/lib/risk_api/risk_response/RiskResponseBase.js +0 -54
- package/lib/risk_api/risk_response/v2/DefaultRiskResponseV2.d.ts +0 -8
- package/lib/risk_api/risk_response/v2/DefaultRiskResponseV2.js +0 -18
- package/lib/risk_api/risk_response/v2/RiskResponseV2Payload.d.ts +0 -13
- package/lib/risk_api/risk_response/v3/DefaultRiskResponseV3.js +0 -14
- package/lib/risk_api/risk_response/v3/RiskResponseV3Payload.d.ts +0 -13
- package/lib/risk_token/parser/TokenParserBase.js +0 -94
- package/lib/risk_token/token/TokenBase.js +0 -50
- package/lib/risk_token/token/v2/DefaultTokenV2.js +0 -112
- package/lib/risk_token/token/v3/DefaultTokenV3.js +0 -137
- package/lib/telemetry/DefaultTelemetry.js +0 -119
- package/lib/utils/base64/AtobBase64Utils.d.ts +0 -5
- package/lib/utils/base64/BufferBase64Utils.d.ts +0 -6
- package/lib/utils/base64/BufferBase64Utils.js +0 -11
- package/lib/utils/base64/JSBase64Base64Utils.d.ts +0 -5
- package/lib/utils/base64/index.d.ts +0 -4
- package/lib/utils/base64/index.js +0 -4
- package/lib/utils/cipher/CryptoCipherUtils.d.ts +0 -10
- package/lib/utils/cipher/CryptoCipherUtils.js +0 -28
- package/lib/utils/cipher/SubtleCryptoCipherUtils.d.ts +0 -9
- package/lib/utils/cipher/SubtleCryptoCipherUtils.js +0 -47
- package/lib/utils/cipher/index.d.ts +0 -3
- package/lib/utils/cipher/index.js +0 -2
- package/lib/utils/constants.d.ts +0 -11
- package/lib/utils/constants.js +0 -11
- package/lib/utils/hash/CryptoHashUtils.d.ts +0 -11
- package/lib/utils/hash/CryptoHashUtils.js +0 -20
- package/lib/utils/hash/CryptoJSHashUtils.d.ts +0 -5
- package/lib/utils/hash/CryptoJSHashUtils.js +0 -12
- package/lib/utils/hash/SubtleCryptoHashUtils.d.ts +0 -8
- package/lib/utils/hash/SubtleCryptoHashUtils.js +0 -31
- package/lib/utils/hash/index.d.ts +0 -4
- package/lib/utils/hash/index.js +0 -4
- package/lib/utils/hmac/CryptoHmacUtils.d.ts +0 -11
- package/lib/utils/hmac/CryptoHmacUtils.js +0 -19
- package/lib/utils/hmac/CryptoJSHmacUtils.d.ts +0 -5
- package/lib/utils/hmac/CryptoJSHmacUtils.js +0 -12
- package/lib/utils/hmac/index.d.ts +0 -3
- package/lib/utils/hmac/index.js +0 -3
- package/lib/utils/ip_range_checker/DefaultIpRangeChecker.d.ts +0 -4
- package/lib/utils/ip_range_checker/index.d.ts +0 -2
- package/lib/utils/ip_range_checker/index.js +0 -1
- package/lib/utils/request_id_generator/UuidRequestIdGenerator.d.ts +0 -4
- package/lib/utils/request_id_generator/index.d.ts +0 -2
- package/lib/utils/request_id_generator/index.js +0 -1
- package/lib/utils/url_parser/DefaultUrlParser.d.ts +0 -13
- package/lib/utils/url_parser/DefaultUrlParser.js +0 -21
- package/lib/utils/url_parser/index.d.ts +0 -2
- package/lib/utils/url_parser/index.js +0 -2
- package/lib/utils/utils.d.ts +0 -24
- package/lib/utils/utils.js +0 -121
- /package/lib/{action → esm/action}/Action.js +0 -0
- /package/lib/{action → esm/action}/ActionData.js +0 -0
- /package/lib/{action → esm/action}/ActionPriorityOrder.js +0 -0
- /package/lib/{action → esm/action}/Decision.js +0 -0
- /package/lib/{action → esm/action}/ProductAction.js +0 -0
- /package/lib/{action → esm/action}/index.js +0 -0
- /package/lib/{activities → esm/activities}/ActivityType.js +0 -0
- /package/lib/{activities → esm/activities}/IActivityClient.js +0 -0
- /package/lib/{activities → esm/activities}/constants.js +0 -0
- /package/lib/{activities → esm/activities}/index.js +0 -0
- /package/lib/{activities/model/Activity.js → esm/activities/model/AsyncActivity.js} +0 -0
- /package/lib/{activities/model/ActivityDetails.js → esm/activities/model/AsyncActivityDetails.js} +0 -0
- /package/lib/{additional_activity_handler/AdditionalActivityHandler.js → esm/activities/model/CommonActivityDetails.js} +0 -0
- /package/lib/{blocker/IBlocker.js → esm/activities/model/HeaderEntry.js} +0 -0
- /package/lib/{blocker/IConditionalBlocker.js → esm/additional_activity_handler/AdditionalActivityHandler.js} +0 -0
- /package/lib/{additional_activity_handler → esm/additional_activity_handler}/index.js +0 -0
- /package/lib/{blocker → esm/blocker}/BlockAction.js +0 -0
- /package/lib/{blocker → esm/blocker}/BlockActionToProductMap.js +0 -0
- /package/lib/{blocker → esm/blocker}/BlockActionToWordMap.js +0 -0
- /package/lib/{config/ConfigurationParams.js → esm/blocker/IBlocker.js} +0 -0
- /package/lib/{config/IConfiguration.js → esm/blocker/IConditionalBlocker.js} +0 -0
- /package/lib/{blocker → esm/blocker}/index.js +0 -0
- /package/lib/{context/interfaces/IContext.js → esm/config/ConfigurationParams.js} +0 -0
- /package/lib/{config → esm/config}/DefaultConfigurations.js +0 -0
- /package/lib/{context/interfaces/MobileData.js → esm/config/IConfiguration.js} +0 -0
- /package/lib/{config → esm/config}/index.js +0 -0
- /package/lib/{context → esm/context}/index.js +0 -0
- /package/lib/{context/interfaces/ReadonlyContext.js → esm/context/interfaces/IContext.js} +0 -0
- /package/lib/{context/interfaces/RequestData.js → esm/context/interfaces/MobileData.js} +0 -0
- /package/lib/{context/interfaces/RiskApiData.js → esm/context/interfaces/ReadonlyContext.js} +0 -0
- /package/lib/{context/interfaces/ServerData.js → esm/context/interfaces/RequestData.js} +0 -0
- /package/lib/{context/interfaces/TlsData.js → esm/context/interfaces/RiskApiData.js} +0 -0
- /package/lib/{context/interfaces/TokenData.js → esm/context/interfaces/ServerData.js} +0 -0
- /package/lib/{cors/CustomBlockResponseHeadersHandler.js → esm/context/interfaces/TlsData.js} +0 -0
- /package/lib/{cors/CustomPreflightHandler.js → esm/context/interfaces/TokenData.js} +0 -0
- /package/lib/{context → esm/context}/interfaces/index.js +0 -0
- /package/lib/{cors/ICors.js → esm/cors/CustomBlockResponseHeadersHandler.js} +0 -0
- /package/lib/{custom_parameters/CustomParameters.js → esm/cors/CustomPreflightHandler.js} +0 -0
- /package/lib/{custom_parameters/CustomParametersFunction.js → esm/cors/ICors.js} +0 -0
- /package/lib/{cors → esm/cors}/constants.js +0 -0
- /package/lib/{cors → esm/cors}/index.js +0 -0
- /package/lib/{enforcer/IEnforcer.js → esm/custom_parameters/CustomParameters.js} +0 -0
- /package/lib/{enforcer/options/EnforcerBaseOptions.js → esm/custom_parameters/CustomParametersFunction.js} +0 -0
- /package/lib/{custom_parameters → esm/custom_parameters}/index.js +0 -0
- /package/lib/{enforcer/options/EnforcerOptionsType.js → esm/enforcer/IEnforcer.js} +0 -0
- /package/lib/{enforcer → esm/enforcer}/index.js +0 -0
- /package/lib/{enforcer/options/EnforcerV2Options.js → esm/enforcer/options/EnforcerBaseOptions.js} +0 -0
- /package/lib/{enforcer/options/EnforcerV3Options.js → esm/enforcer/options/EnforcerOptionsType.js} +0 -0
- /package/lib/{filter/IFilter.js → esm/enforcer/options/EnforcerV2Options.js} +0 -0
- /package/lib/{first_party/FirstPartyData.js → esm/enforcer/options/EnforcerV3Options.js} +0 -0
- /package/lib/{enforcer → esm/enforcer}/options/index.js +0 -0
- /package/lib/{filter → esm/filter}/FilterReason.js +0 -0
- /package/lib/{first_party/IFirstParty.js → esm/filter/IFilter.js} +0 -0
- /package/lib/{filter → esm/filter}/index.js +0 -0
- /package/lib/{graphql/IGraphQLParser.js → esm/first_party/FirstPartyData.js} +0 -0
- /package/lib/{graphql/model/GraphQLData.js → esm/first_party/IFirstParty.js} +0 -0
- /package/lib/{first_party → esm/first_party}/index.js +0 -0
- /package/lib/{graphql/model/GraphQLOperation.js → esm/graphql/IGraphQLParser.js} +0 -0
- /package/lib/{graphql → esm/graphql}/index.js +0 -0
- /package/lib/{http/interfaces/IBody.js → esm/graphql/model/GraphQLData.js} +0 -0
- /package/lib/{http/interfaces/IFormData.js → esm/graphql/model/GraphQLOperation.js} +0 -0
- /package/lib/{graphql → esm/graphql}/model/GraphQLOperationType.js +0 -0
- /package/lib/{graphql → esm/graphql}/model/index.js +0 -0
- /package/lib/{http/interfaces/IHeaders.js → esm/http/interfaces/IBody.js} +0 -0
- /package/lib/{http/interfaces/IHttpClient.js → esm/http/interfaces/IFormData.js} +0 -0
- /package/lib/{http/interfaces/IIncomingRequest.js → esm/http/interfaces/IHeaders.js} +0 -0
- /package/lib/{http/interfaces/IIncomingResponse.js → esm/http/interfaces/IHttpClient.js} +0 -0
- /package/lib/{http/interfaces/IMinimalResponse.js → esm/http/interfaces/IIncomingRequest.js} +0 -0
- /package/lib/{http/interfaces/IOutgoingRequest.js → esm/http/interfaces/IIncomingResponse.js} +0 -0
- /package/lib/{http/interfaces/IOutgoingResponse.js → esm/http/interfaces/IMinimalResponse.js} +0 -0
- /package/lib/{http/interfaces/IURL.js → esm/http/interfaces/IOutgoingRequest.js} +0 -0
- /package/lib/{logger/ILogServiceClient.js → esm/http/interfaces/IOutgoingResponse.js} +0 -0
- /package/lib/{logger/ILogger.js → esm/http/interfaces/IURL.js} +0 -0
- /package/lib/{logger/model/EnrichedLogRecord.js → esm/http/interfaces/IURLSearchParams.js} +0 -0
- /package/lib/{http → esm/http}/interfaces/ReadonlyHeaders.js +0 -0
- /package/lib/{http → esm/http}/utils/ContentType.js +0 -0
- /package/lib/{http → esm/http}/utils/HttpMethod.js +0 -0
- /package/lib/{http → esm/http}/utils/constants.js +0 -0
- /package/lib/{utils → esm/impl}/base64/AtobBase64Utils.js +0 -0
- /package/lib/{utils → esm/impl}/base64/JSBase64Base64Utils.js +0 -0
- /package/lib/{http/impl → esm/impl/http}/phin/index.js +0 -0
- /package/lib/{utils → esm/impl}/ip_range_checker/DefaultIpRangeChecker.js +0 -0
- /package/lib/{utils → esm/impl}/request_id_generator/UuidRequestIdGenerator.js +0 -0
- /package/lib/{index.js → esm/index.js} +0 -0
- /package/lib/{logger → esm/logger}/DefaultLogger.js +0 -0
- /package/lib/{logger/model/LogMetadata.js → esm/logger/ILogServiceClient.js} +0 -0
- /package/lib/{logger/model/LogRecord.js → esm/logger/ILogger.js} +0 -0
- /package/lib/{logger → esm/logger}/LoggerSeverity.js +0 -0
- /package/lib/{logger → esm/logger}/constants.js +0 -0
- /package/lib/{logger → esm/logger}/index.js +0 -0
- /package/lib/{phase/IPhase.js → esm/logger/model/EnrichedLogRecord.js} +0 -0
- /package/lib/{phase/PhaseResult.js → esm/logger/model/LogMetadata.js} +0 -0
- /package/lib/{products/account_defender/AccountDefenderData.js → esm/logger/model/LogRecord.js} +0 -0
- /package/lib/{logger → esm/logger}/model/index.js +0 -0
- /package/lib/{products/account_defender/IAccountDefender.js → esm/phase/IPhase.js} +0 -0
- /package/lib/{products/account_defender/JwtData.js → esm/phase/PhaseResult.js} +0 -0
- /package/lib/{phase → esm/phase}/flow/EndEnforcerFlow.js +0 -0
- /package/lib/{phase → esm/phase}/flow/EnforceFlow.js +0 -0
- /package/lib/{phase → esm/phase}/flow/FilterFlow.js +0 -0
- /package/lib/{phase → esm/phase}/flow/PostEnforceFlow.js +0 -0
- /package/lib/{phase → esm/phase}/flow/index.js +0 -0
- /package/lib/{phase → esm/phase}/impl/index.js +0 -0
- /package/lib/{phase → esm/phase}/index.js +0 -0
- /package/lib/{products/bot_defender/BotDefenderData.js → esm/products/account_defender/AccountDefenderData.js} +0 -0
- /package/lib/{products/bot_defender/IBotDefender.js → esm/products/account_defender/IAccountDefender.js} +0 -0
- /package/lib/{products/bot_defender/block/model/BlockData.js → esm/products/account_defender/JwtData.js} +0 -0
- /package/lib/{products → esm/products}/account_defender/constants.js +0 -0
- /package/lib/{products → esm/products}/account_defender/index.js +0 -0
- /package/lib/{products/bot_defender/block/model/JsonBlockPayload.js → esm/products/bot_defender/BotDefenderData.js} +0 -0
- /package/lib/{products → esm/products}/bot_defender/BotDefenderUtils.js +0 -0
- /package/lib/{products/bot_defender/block/model/MobileBlockPayload.js → esm/products/bot_defender/IBotDefender.js} +0 -0
- /package/lib/{products → esm/products}/bot_defender/block/captcha/index.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/block/index.js +0 -0
- /package/lib/{products/bot_defender/reasons/BotDefenderReasonType.js → esm/products/bot_defender/block/model/BlockData.js} +0 -0
- /package/lib/{products/credential_intelligence/ICredentialIntelligence.js → esm/products/bot_defender/block/model/JsonBlockPayload.js} +0 -0
- /package/lib/{products/credential_intelligence/endpoint/CredentialEndpointConfiguration.js → esm/products/bot_defender/block/model/MobileBlockPayload.js} +0 -0
- /package/lib/{products → esm/products}/bot_defender/block/model/index.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/block/templates/captcha_template.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/block/templates/index.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/block/templates/rate_limit_template.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/filter/index.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/first_party/FirstPartySuffix.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/first_party/index.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/first_party/utils.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/index.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/reasons/BotDefenderBlockReason.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/reasons/BotDefenderPassReason.js +0 -0
- /package/lib/{products/credential_intelligence/endpoint/ICredentialEndpoint.js → esm/products/bot_defender/reasons/BotDefenderReasonType.js} +0 -0
- /package/lib/{products → esm/products}/bot_defender/reasons/BotDefenderS2SCallReason.js +0 -0
- /package/lib/{products → esm/products}/bot_defender/reasons/index.js +0 -0
- /package/lib/{products/credential_intelligence/endpoint/extractor/ICredentialExtractor.js → esm/products/credential_intelligence/ICredentialIntelligence.js} +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/constants.js +0 -0
- /package/lib/{products/credential_intelligence/endpoint/hash_protocol/ICredentialIntelligenceHashProtocol.js → esm/products/credential_intelligence/endpoint/CredentialEndpointConfiguration.js} +0 -0
- /package/lib/{products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulCallback.js → esm/products/credential_intelligence/endpoint/ICredentialEndpoint.js} +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/extractor/CredentialExtractorFactory.js +0 -0
- /package/lib/{products/credential_intelligence/endpoint/login_successful/ILoginSuccessfulParser.js → esm/products/credential_intelligence/endpoint/extractor/ICredentialExtractor.js} +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/extractor/SentThrough.js +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/extractor/index.js +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceHashProtocolFactory.js +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceVersion.js +0 -0
- /package/lib/{products/credential_intelligence/endpoint/matcher/ICredentialIntelligenceEndpointMatcher.js → esm/products/credential_intelligence/endpoint/hash_protocol/ICredentialIntelligenceHashProtocol.js} +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/hash_protocol/SsoStep.js +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/hash_protocol/index.js +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/index.js +0 -0
- /package/lib/{products/credential_intelligence/model/CredentialData.js → esm/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulCallback.js} +0 -0
- /package/lib/{products/credential_intelligence/model/CredentialIntelligenceData.js → esm/products/credential_intelligence/endpoint/login_successful/ILoginSuccessfulParser.js} +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/login_successful/LoginSuccessfulReportingMethod.js +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/login_successful/index.js +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/matcher/CredentialIntelligenceEndpointMatcherFactory.js +0 -0
- /package/lib/{products/credential_intelligence/model/Credentials.js → esm/products/credential_intelligence/endpoint/matcher/ICredentialIntelligenceEndpointMatcher.js} +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/matcher/PathType.js +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/endpoint/matcher/index.js +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/index.js +0 -0
- /package/lib/{products/credential_intelligence/model/CustomExtractionCallback.js → esm/products/credential_intelligence/model/CredentialData.js} +0 -0
- /package/lib/{products/interfaces/IProduct.js → esm/products/credential_intelligence/model/CredentialIntelligenceData.js} +0 -0
- /package/lib/{products/interfaces/ProductData.js → esm/products/credential_intelligence/model/Credentials.js} +0 -0
- /package/lib/{products/interfaces/ProductDataType.js → esm/products/credential_intelligence/model/CustomExtractionCallback.js} +0 -0
- /package/lib/{products → esm/products}/credential_intelligence/model/index.js +0 -0
- /package/lib/{products → esm/products}/index.js +0 -0
- /package/lib/{products/interfaces/ProductType.js → esm/products/interfaces/IProduct.js} +0 -0
- /package/lib/{products/interfaces/Products.js → esm/products/interfaces/ProductData.js} +0 -0
- /package/lib/{pxde/IDataEnrichment.js → esm/products/interfaces/ProductDataType.js} +0 -0
- /package/lib/{pxde/model/PXDE.js → esm/products/interfaces/ProductType.js} +0 -0
- /package/lib/{pxde/model/PxdeData.js → esm/products/interfaces/Products.js} +0 -0
- /package/lib/{products → esm/products}/interfaces/index.js +0 -0
- /package/lib/{products → esm/products}/utils/ProductName.js +0 -0
- /package/lib/{products → esm/products}/utils/ProductPriorityOrder.js +0 -0
- /package/lib/{products → esm/products}/utils/index.js +0 -0
- /package/lib/{products → esm/products}/utils/utils.js +0 -0
- /package/lib/{pxhd/model/PXHD.js → esm/pxde/IDataEnrichment.js} +0 -0
- /package/lib/{pxde → esm/pxde}/constants.js +0 -0
- /package/lib/{pxde → esm/pxde}/index.js +0 -0
- /package/lib/{risk_api/client/IRiskApiClient.js → esm/pxde/model/PXDE.js} +0 -0
- /package/lib/{risk_api/model/RiskActivity.js → esm/pxde/model/PxdeData.js} +0 -0
- /package/lib/{pxde → esm/pxde}/model/index.js +0 -0
- /package/lib/{pxhd → esm/pxhd}/index.js +0 -0
- /package/lib/{risk_api/risk_response/IRiskResponse.js → esm/pxhd/model/PXHD.js} +0 -0
- /package/lib/{pxhd → esm/pxhd}/model/PXHDSource.js +0 -0
- /package/lib/{pxhd → esm/pxhd}/model/index.js +0 -0
- /package/lib/{risk_api/risk_response/RiskResponsePayloadType.js → esm/risk_api/client/IRiskApiClient.js} +0 -0
- /package/lib/{risk_api → esm/risk_api}/client/PostRiskApiClientV2.js +0 -0
- /package/lib/{risk_api → esm/risk_api}/client/PostRiskApiClientV3.js +0 -0
- /package/lib/{risk_api → esm/risk_api}/client/index.js +0 -0
- /package/lib/{risk_api → esm/risk_api}/constants.js +0 -0
- /package/lib/{risk_api → esm/risk_api}/index.js +0 -0
- /package/lib/{risk_api/risk_response/v2/RiskResponseV2Payload.js → esm/risk_api/model/RiskActivity.js} +0 -0
- /package/lib/{risk_api → esm/risk_api}/model/RiskApiCallResult.js +0 -0
- /package/lib/{risk_api → esm/risk_api}/model/RiskStatus.js +0 -0
- /package/lib/{risk_api → esm/risk_api}/model/S2SErrorReason.js +0 -0
- /package/lib/{risk_api → esm/risk_api}/model/index.js +0 -0
- /package/lib/{risk_api/risk_response/v3/RiskResponseV3Payload.js → esm/risk_api/risk_response/IRiskResponse.js} +0 -0
- /package/lib/{risk_token/parser/ITokenParser.js → esm/risk_api/risk_response/RiskResponsePayloadType.js} +0 -0
- /package/lib/{risk_api → esm/risk_api}/risk_response/index.js +0 -0
- /package/lib/{risk_token/parser/TokenParserOptions.js → esm/risk_api/risk_response/v2/RiskResponseV2Payload.js} +0 -0
- /package/lib/{risk_api → esm/risk_api}/risk_response/v2/index.js +0 -0
- /package/lib/{risk_token/token/IToken.js → esm/risk_api/risk_response/v3/RiskResponseV3Payload.js} +0 -0
- /package/lib/{risk_api → esm/risk_api}/risk_response/v3/index.js +0 -0
- /package/lib/{risk_token → esm/risk_token}/MobileError.js +0 -0
- /package/lib/{risk_token → esm/risk_token}/TokenOrigin.js +0 -0
- /package/lib/{risk_token → esm/risk_token}/TokenParseResult.js +0 -0
- /package/lib/{risk_token → esm/risk_token}/TokenVersion.js +0 -0
- /package/lib/{risk_token → esm/risk_token}/constants.js +0 -0
- /package/lib/{risk_token → esm/risk_token}/index.js +0 -0
- /package/lib/{risk_token → esm/risk_token}/parser/DefaultTokenV2Parser.js +0 -0
- /package/lib/{risk_token → esm/risk_token}/parser/DefaultTokenV3Parser.js +0 -0
- /package/lib/{risk_token/token/TokenPayloadType.js → esm/risk_token/parser/ITokenParser.js} +0 -0
- /package/lib/{risk_token/token/v2/TokenV2Payload.js → esm/risk_token/parser/TokenParserOptions.js} +0 -0
- /package/lib/{risk_token → esm/risk_token}/parser/index.js +0 -0
- /package/lib/{risk_token/token/v3/TokenV3Payload.js → esm/risk_token/token/IToken.js} +0 -0
- /package/lib/{telemetry/ITelemetry.js → esm/risk_token/token/TokenPayloadType.js} +0 -0
- /package/lib/{risk_token → esm/risk_token}/token/index.js +0 -0
- /package/lib/{telemetry/model/TelemetryActivity.js → esm/risk_token/token/v2/TokenV2Payload.js} +0 -0
- /package/lib/{risk_token → esm/risk_token}/token/v3/TokenSignField.js +0 -0
- /package/lib/{utils/base64/IBase64Utils.js → esm/risk_token/token/v3/TokenV3Payload.js} +0 -0
- /package/lib/{risk_token → esm/risk_token}/utils.js +0 -0
- /package/lib/{utils/cipher/ICipherUtils.js → esm/telemetry/ITelemetry.js} +0 -0
- /package/lib/{telemetry → esm/telemetry}/constants.js +0 -0
- /package/lib/{telemetry → esm/telemetry}/index.js +0 -0
- /package/lib/{utils/cookie_parser/ICookieParser.js → esm/telemetry/model/TelemetryActivity.js} +0 -0
- /package/lib/{utils → esm/utils}/Algorithm.js +0 -0
- /package/lib/{utils → esm/utils}/ModuleMode.js +0 -0
- /package/lib/{utils → esm/utils}/VidSource.js +0 -0
- /package/lib/{utils/hash/IHashUtils.js → esm/utils/base64/IBase64Utils.js} +0 -0
- /package/lib/{utils/hmac/IHmacUtils.js → esm/utils/cipher/ICipherUtils.js} +0 -0
- /package/lib/{utils/ip_range_checker/IIpRangeChecker.js → esm/utils/cookie_parser/ICookieParser.js} +0 -0
- /package/lib/{utils → esm/utils}/cookie_parser/StringSplitCookieParser.js +0 -0
- /package/lib/{utils → esm/utils}/cookie_parser/index.js +0 -0
- /package/lib/{utils → esm/utils}/error/EnforcerError.js +0 -0
- /package/lib/{utils → esm/utils}/error/EnforcerErrorName.js +0 -0
- /package/lib/{utils → esm/utils}/error/EnforcerTimeoutError.js +0 -0
- /package/lib/{utils → esm/utils}/error/index.js +0 -0
- /package/lib/{utils/request_id_generator/IRequestIdGenerator.js → esm/utils/hash/IHashUtils.js} +0 -0
- /package/lib/{utils/url_parser/IURLParser.js → esm/utils/hmac/IHmacUtils.js} +0 -0
- /package/lib/{utils → esm/utils}/index.js +0 -0
- /package/lib/{action → types/action}/Action.d.ts +0 -0
- /package/lib/{action → types/action}/ActionData.d.ts +0 -0
- /package/lib/{action → types/action}/ActionPriorityOrder.d.ts +0 -0
- /package/lib/{action → types/action}/Decision.d.ts +0 -0
- /package/lib/{action → types/action}/ProductAction.d.ts +0 -0
- /package/lib/{action → types/action}/index.d.ts +0 -0
- /package/lib/{action → types/action}/utils.d.ts +0 -0
- /package/lib/{activities → types/activities}/ActivityType.d.ts +0 -0
- /package/lib/{activities → types/activities}/IActivityClient.d.ts +0 -0
- /package/lib/{activities → types/activities}/constants.d.ts +0 -0
- /package/lib/{activities → types/activities}/index.d.ts +0 -0
- /package/lib/{additional_activity_handler → types/additional_activity_handler}/AdditionalActivityHandlerUtils.d.ts +0 -0
- /package/lib/{additional_activity_handler → types/additional_activity_handler}/index.d.ts +0 -0
- /package/lib/{blocker → types/blocker}/BlockAction.d.ts +0 -0
- /package/lib/{blocker → types/blocker}/BlockActionToProductMap.d.ts +0 -0
- /package/lib/{blocker → types/blocker}/BlockActionToWordMap.d.ts +0 -0
- /package/lib/{blocker → types/blocker}/IBlocker.d.ts +0 -0
- /package/lib/{blocker → types/blocker}/IConditionalBlocker.d.ts +0 -0
- /package/lib/{blocker → types/blocker}/index.d.ts +0 -0
- /package/lib/{config → types/config}/DefaultConfigurations.d.ts +0 -0
- /package/lib/{config → types/config}/index.d.ts +0 -0
- /package/lib/{context → types/context}/index.d.ts +0 -0
- /package/lib/{context → types/context}/interfaces/IContext.d.ts +0 -0
- /package/lib/{context → types/context}/interfaces/MobileData.d.ts +0 -0
- /package/lib/{context → types/context}/interfaces/ReadonlyContext.d.ts +0 -0
- /package/lib/{context → types/context}/interfaces/RequestData.d.ts +0 -0
- /package/lib/{context → types/context}/interfaces/ServerData.d.ts +0 -0
- /package/lib/{context → types/context}/interfaces/TlsData.d.ts +0 -0
- /package/lib/{context → types/context}/interfaces/TokenData.d.ts +0 -0
- /package/lib/{context → types/context}/interfaces/index.d.ts +0 -0
- /package/lib/{cors → types/cors}/CustomBlockResponseHeadersHandler.d.ts +0 -0
- /package/lib/{cors → types/cors}/CustomPreflightHandler.d.ts +0 -0
- /package/lib/{cors → types/cors}/DefaultCors.d.ts +0 -0
- /package/lib/{cors → types/cors}/ICors.d.ts +0 -0
- /package/lib/{cors → types/cors}/constants.d.ts +0 -0
- /package/lib/{cors → types/cors}/index.d.ts +0 -0
- /package/lib/{custom_parameters → types/custom_parameters}/CustomParameters.d.ts +0 -0
- /package/lib/{custom_parameters → types/custom_parameters}/CustomParametersFunction.d.ts +0 -0
- /package/lib/{custom_parameters → types/custom_parameters}/CustomParametersUtils.d.ts +0 -0
- /package/lib/{custom_parameters → types/custom_parameters}/index.d.ts +0 -0
- /package/lib/{enforcer → types/enforcer}/EnforcerBase.d.ts +0 -0
- /package/lib/{enforcer → types/enforcer}/IEnforcer.d.ts +0 -0
- /package/lib/{enforcer → types/enforcer}/index.d.ts +0 -0
- /package/lib/{enforcer → types/enforcer}/options/EnforcerBaseOptions.d.ts +0 -0
- /package/lib/{enforcer → types/enforcer}/options/EnforcerOptionsType.d.ts +0 -0
- /package/lib/{enforcer → types/enforcer}/options/EnforcerV2Options.d.ts +0 -0
- /package/lib/{enforcer → types/enforcer}/options/EnforcerV3Options.d.ts +0 -0
- /package/lib/{enforcer → types/enforcer}/options/index.d.ts +0 -0
- /package/lib/{filter → types/filter}/FilterReason.d.ts +0 -0
- /package/lib/{filter → types/filter}/IFilter.d.ts +0 -0
- /package/lib/{filter → types/filter}/index.d.ts +0 -0
- /package/lib/{first_party → types/first_party}/FirstPartyData.d.ts +0 -0
- /package/lib/{first_party → types/first_party}/IFirstParty.d.ts +0 -0
- /package/lib/{first_party → types/first_party}/index.d.ts +0 -0
- /package/lib/{graphql → types/graphql}/DefaultGraphQLParser.d.ts +0 -0
- /package/lib/{graphql → types/graphql}/IGraphQLParser.d.ts +0 -0
- /package/lib/{graphql → types/graphql}/index.d.ts +0 -0
- /package/lib/{graphql → types/graphql}/model/GraphQLData.d.ts +0 -0
- /package/lib/{graphql → types/graphql}/model/GraphQLOperation.d.ts +0 -0
- /package/lib/{graphql → types/graphql}/model/GraphQLOperationType.d.ts +0 -0
- /package/lib/{graphql → types/graphql}/model/index.d.ts +0 -0
- /package/lib/{http → types/http}/interfaces/IFormData.d.ts +0 -0
- /package/lib/{http → types/http}/interfaces/IHeaders.d.ts +0 -0
- /package/lib/{http → types/http}/interfaces/IHttpClient.d.ts +0 -0
- /package/lib/{http → types/http}/interfaces/IIncomingResponse.d.ts +0 -0
- /package/lib/{http → types/http}/interfaces/IMinimalResponse.d.ts +0 -0
- /package/lib/{http → types/http}/interfaces/IOutgoingRequest.d.ts +0 -0
- /package/lib/{http → types/http}/interfaces/IOutgoingResponse.d.ts +0 -0
- /package/lib/{http → types/http}/interfaces/ReadonlyHeaders.d.ts +0 -0
- /package/lib/{http → types/http}/utils/ContentType.d.ts +0 -0
- /package/lib/{http/impl → types/http/utils}/FormDataImpl.d.ts +0 -0
- /package/lib/{http → types/http}/utils/HttpMethod.d.ts +0 -0
- /package/lib/{http/impl → types/http/utils}/MinimalResponseImpl.d.ts +0 -0
- /package/lib/{http → types/http}/utils/MinimalResponseUtils.d.ts +0 -0
- /package/lib/{http → types/http}/utils/MultipartFormDataUtils.d.ts +0 -0
- /package/lib/{http → types/http}/utils/constants.d.ts +0 -0
- /package/lib/{http/impl → types/impl/http}/phin/index.d.ts +0 -0
- /package/lib/{index.d.ts → types/index.d.ts} +0 -0
- /package/lib/{logger → types/logger}/DefaultLogger.d.ts +0 -0
- /package/lib/{logger → types/logger}/HttpLogServiceClient.d.ts +0 -0
- /package/lib/{logger → types/logger}/ILogServiceClient.d.ts +0 -0
- /package/lib/{logger → types/logger}/ILogger.d.ts +0 -0
- /package/lib/{logger → types/logger}/LoggerBase.d.ts +0 -0
- /package/lib/{logger → types/logger}/LoggerSeverity.d.ts +0 -0
- /package/lib/{logger → types/logger}/constants.d.ts +0 -0
- /package/lib/{logger → types/logger}/index.d.ts +0 -0
- /package/lib/{logger → types/logger}/model/EnrichedLogRecord.d.ts +0 -0
- /package/lib/{logger → types/logger}/model/LogMetadata.d.ts +0 -0
- /package/lib/{logger → types/logger}/model/LogRecord.d.ts +0 -0
- /package/lib/{logger → types/logger}/model/index.d.ts +0 -0
- /package/lib/{phase → types/phase}/IPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/PhaseResult.d.ts +0 -0
- /package/lib/{phase → types/phase}/flow/EndEnforcerFlow.d.ts +0 -0
- /package/lib/{phase → types/phase}/flow/EnforceFlow.d.ts +0 -0
- /package/lib/{phase → types/phase}/flow/FilterFlow.d.ts +0 -0
- /package/lib/{phase → types/phase}/flow/PostEnforceFlow.d.ts +0 -0
- /package/lib/{phase → types/phase}/flow/index.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/AdditionalActivityHandlerPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/CompositePhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/CreateBlockResponsePhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/DecideActionPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/EnrichContextFromRequestPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/EnrichContextFromResponsePhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/FilterPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/FirstPartyPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/ModifyIncomingRequestPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/ModifyOutgoingResponsePhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/ParseTokenPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/PreflightPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/RiskApiPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/SendAsyncActivitiesOnRequestPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/SendAsyncActivitiesOnResponsePhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/SendLogsPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/TelemetryPhase.d.ts +0 -0
- /package/lib/{phase → types/phase}/impl/index.d.ts +0 -0
- /package/lib/{phase → types/phase}/index.d.ts +0 -0
- /package/lib/{products → types/products}/account_defender/AccountDefender.d.ts +0 -0
- /package/lib/{products → types/products}/account_defender/AccountDefenderData.d.ts +0 -0
- /package/lib/{products → types/products}/account_defender/IAccountDefender.d.ts +0 -0
- /package/lib/{products → types/products}/account_defender/JwtData.d.ts +0 -0
- /package/lib/{products → types/products}/account_defender/constants.d.ts +0 -0
- /package/lib/{products → types/products}/account_defender/index.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/BotDefender.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/BotDefenderActionData.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/BotDefenderData.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/BotDefenderUtils.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/IBotDefender.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/captcha/index.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/index.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/model/BlockData.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/model/JsonBlockPayload.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/model/MobileBlockPayload.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/model/index.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/templates/captcha_template.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/templates/index.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/templates/rate_limit_template.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/block/utils.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/filter/DefaultBotDefenderFilter.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/filter/index.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/first_party/DefaultBotDefenderFirstParty.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/first_party/FirstPartySuffix.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/first_party/index.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/first_party/utils.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/index.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/reasons/BotDefenderBlockReason.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/reasons/BotDefenderPassReason.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/reasons/BotDefenderReasonType.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/reasons/BotDefenderS2SCallReason.d.ts +0 -0
- /package/lib/{products → types/products}/bot_defender/reasons/index.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/CredentialIntelligence.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/ICredentialIntelligence.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/constants.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/CredentialEndpoint.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/CredentialEndpointConfiguration.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/CredentialEndpointManager.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/ICredentialEndpoint.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/extractor/CredentialExtractorFactory.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/extractor/CustomCredentialExtractor.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/extractor/HeaderCredentialExtractor.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/extractor/ICredentialExtractor.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/extractor/SentThrough.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/extractor/index.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceHashProtocolFactory.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceVersion.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/hash_protocol/ICredentialIntelligenceHashProtocol.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/hash_protocol/MultistepHashProtocol.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/hash_protocol/SingleStepAndMultistepHashProtocol.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/hash_protocol/SingleStepHashProtocol.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/hash_protocol/SsoStep.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/hash_protocol/index.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/index.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/login_successful/BodyLoginSuccessfulParser.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulCallback.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulParser.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/login_successful/HeaderLoginSuccessfulParser.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/login_successful/ILoginSuccessfulParser.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/login_successful/LoginSuccessfulParserFactory.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/login_successful/LoginSuccessfulReportingMethod.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/login_successful/StatusLoginSuccessfulParser.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/login_successful/index.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/matcher/CredentialIntelligenceEndpointMatcherFactory.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/matcher/ExactPathEndpointMatcher.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/matcher/ICredentialIntelligenceEndpointMatcher.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/matcher/PathType.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/matcher/RegexPathEndpointMatcher.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/endpoint/matcher/index.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/index.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/model/CredentialData.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/model/CredentialIntelligenceData.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/model/Credentials.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/model/CustomExtractionCallback.d.ts +0 -0
- /package/lib/{products → types/products}/credential_intelligence/model/index.d.ts +0 -0
- /package/lib/{products → types/products}/index.d.ts +0 -0
- /package/lib/{products → types/products}/interfaces/IProduct.d.ts +0 -0
- /package/lib/{products → types/products}/interfaces/ProductData.d.ts +0 -0
- /package/lib/{products → types/products}/interfaces/ProductDataType.d.ts +0 -0
- /package/lib/{products → types/products}/interfaces/ProductType.d.ts +0 -0
- /package/lib/{products → types/products}/interfaces/Products.d.ts +0 -0
- /package/lib/{products → types/products}/interfaces/index.d.ts +0 -0
- /package/lib/{products → types/products}/utils/ProductName.d.ts +0 -0
- /package/lib/{products → types/products}/utils/ProductPriorityOrder.d.ts +0 -0
- /package/lib/{products → types/products}/utils/index.d.ts +0 -0
- /package/lib/{products → types/products}/utils/utils.d.ts +0 -0
- /package/lib/{pxde → types/pxde}/DefaultDataEnrichment.d.ts +0 -0
- /package/lib/{pxde → types/pxde}/IDataEnrichment.d.ts +0 -0
- /package/lib/{pxde → types/pxde}/constants.d.ts +0 -0
- /package/lib/{pxde → types/pxde}/index.d.ts +0 -0
- /package/lib/{pxde → types/pxde}/model/PXDE.d.ts +0 -0
- /package/lib/{pxde → types/pxde}/model/PxdeData.d.ts +0 -0
- /package/lib/{pxde → types/pxde}/model/index.d.ts +0 -0
- /package/lib/{pxhd → types/pxhd}/PXHDUtils.d.ts +0 -0
- /package/lib/{pxhd → types/pxhd}/index.d.ts +0 -0
- /package/lib/{pxhd → types/pxhd}/model/PXHD.d.ts +0 -0
- /package/lib/{pxhd → types/pxhd}/model/PXHDSource.d.ts +0 -0
- /package/lib/{pxhd → types/pxhd}/model/index.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/client/IRiskApiClient.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/client/PostRiskApiClientV2.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/client/PostRiskApiClientV3.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/client/index.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/constants.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/index.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/model/RiskApiCallResult.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/model/RiskStatus.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/model/S2SErrorReason.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/model/index.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/risk_response/RiskResponsePayloadType.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/risk_response/index.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/risk_response/v2/index.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/risk_response/v3/DefaultRiskResponseV3.d.ts +0 -0
- /package/lib/{risk_api → types/risk_api}/risk_response/v3/index.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/MobileError.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/TokenOrigin.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/TokenParseResult.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/TokenVersion.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/constants.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/index.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/parser/DefaultTokenV2Parser.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/parser/DefaultTokenV3Parser.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/parser/ITokenParser.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/parser/TokenParserBase.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/parser/TokenParserOptions.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/parser/index.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/token/IToken.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/token/TokenBase.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/token/TokenPayloadType.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/token/index.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/token/v2/DefaultTokenV2.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/token/v2/TokenV2Payload.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/token/v3/DefaultTokenV3.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/token/v3/TokenSignField.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/token/v3/TokenV3Payload.d.ts +0 -0
- /package/lib/{risk_token → types/risk_token}/utils.d.ts +0 -0
- /package/lib/{telemetry → types/telemetry}/DefaultTelemetry.d.ts +0 -0
- /package/lib/{telemetry → types/telemetry}/ITelemetry.d.ts +0 -0
- /package/lib/{telemetry → types/telemetry}/constants.d.ts +0 -0
- /package/lib/{telemetry → types/telemetry}/index.d.ts +0 -0
- /package/lib/{telemetry → types/telemetry}/model/TelemetryActivity.d.ts +0 -0
- /package/lib/{utils → types/utils}/Algorithm.d.ts +0 -0
- /package/lib/{utils → types/utils}/ModuleMode.d.ts +0 -0
- /package/lib/{utils → types/utils}/VidSource.d.ts +0 -0
- /package/lib/{utils → types/utils}/base64/IBase64Utils.d.ts +0 -0
- /package/lib/{utils → types/utils}/cipher/ICipherUtils.d.ts +0 -0
- /package/lib/{utils → types/utils}/cookie_parser/ICookieParser.d.ts +0 -0
- /package/lib/{utils → types/utils}/cookie_parser/StringSplitCookieParser.d.ts +0 -0
- /package/lib/{utils → types/utils}/cookie_parser/index.d.ts +0 -0
- /package/lib/{utils → types/utils}/error/EnforcerError.d.ts +0 -0
- /package/lib/{utils → types/utils}/error/EnforcerErrorName.d.ts +0 -0
- /package/lib/{utils → types/utils}/error/EnforcerTimeoutError.d.ts +0 -0
- /package/lib/{utils → types/utils}/error/index.d.ts +0 -0
- /package/lib/{utils → types/utils}/hash/IHashUtils.d.ts +0 -0
- /package/lib/{utils → types/utils}/hmac/IHmacUtils.d.ts +0 -0
- /package/lib/{utils → types/utils}/index.d.ts +0 -0
- /package/lib/{utils → types/utils}/ip_range_checker/IIpRangeChecker.d.ts +0 -0
- /package/lib/{utils → types/utils}/request_id_generator/IRequestIdGenerator.d.ts +0 -0
- /package/lib/{utils → types/utils}/url_parser/IURLParser.d.ts +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { LoggerSeverity } from '../../logger';
|
|
2
|
+
import { getDecisionFromContext } from '../../action';
|
|
3
|
+
export class DecideActionPhase {
|
|
4
|
+
config;
|
|
5
|
+
constructor(config) {
|
|
6
|
+
this.config = config;
|
|
7
|
+
}
|
|
8
|
+
async updateContextDecision(context) {
|
|
9
|
+
const { action, reasons } = getDecisionFromContext(context);
|
|
10
|
+
if (this.config.logger.getLoggerSeverity() === LoggerSeverity.DEBUG) {
|
|
11
|
+
const productReasons = Object.entries(reasons)
|
|
12
|
+
.map(([prod, reason]) => `${prod} -> ${reason}`)
|
|
13
|
+
.join(', ');
|
|
14
|
+
this.config.logger.debug(`decision: ${action}, reasons: ${productReasons}`);
|
|
15
|
+
}
|
|
16
|
+
context.action = action;
|
|
17
|
+
context.reasons = reasons;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CustomParametersUtils } from '../../custom_parameters';
|
|
2
|
+
import { DecideActionPhase } from './DecideActionPhase';
|
|
3
|
+
export class EnrichContextFromRequestPhase extends DecideActionPhase {
|
|
4
|
+
products;
|
|
5
|
+
dataEnrichment;
|
|
6
|
+
graphQLParser;
|
|
7
|
+
constructor(config, products, dataEnrichment, graphQLParser) {
|
|
8
|
+
super(config);
|
|
9
|
+
this.products = products;
|
|
10
|
+
this.dataEnrichment = dataEnrichment;
|
|
11
|
+
this.graphQLParser = graphQLParser;
|
|
12
|
+
}
|
|
13
|
+
async execute(context) {
|
|
14
|
+
this.config.logger.debug('enrich context from request phase');
|
|
15
|
+
await this.addPxdeToContext(context);
|
|
16
|
+
await this.addGraphQLDataToContext(context);
|
|
17
|
+
await this.addProductDataToContext(context);
|
|
18
|
+
await this.addCustomParametersToContext(context);
|
|
19
|
+
await this.updateContextDecision(context);
|
|
20
|
+
return { done: false };
|
|
21
|
+
}
|
|
22
|
+
async addPxdeToContext(context) {
|
|
23
|
+
const pxdeData = await this.dataEnrichment.handlePxde(context);
|
|
24
|
+
if (pxdeData) {
|
|
25
|
+
context.pxde = pxdeData.pxde;
|
|
26
|
+
context.pxdeVerified = pxdeData.pxdeVerified;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async addGraphQLDataToContext(context) {
|
|
30
|
+
if (this.graphQLParser?.isGraphQLRequest(context)) {
|
|
31
|
+
context.graphqlData = await this.graphQLParser.parseGraphQLRequest(context);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async addProductDataToContext(context) {
|
|
35
|
+
await Promise.all(Object.entries(this.products).map(async ([name, product]) => {
|
|
36
|
+
// @ts-ignore
|
|
37
|
+
context.productData[name] = await product?.enrichContextFromRequest(context);
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
async addCustomParametersToContext(context) {
|
|
41
|
+
context.customParameters = await CustomParametersUtils.createCustomParameters(this.config, context);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class EnrichContextFromResponsePhase {
|
|
2
|
+
config;
|
|
3
|
+
products;
|
|
4
|
+
constructor(config, products) {
|
|
5
|
+
this.config = config;
|
|
6
|
+
this.products = products;
|
|
7
|
+
}
|
|
8
|
+
async execute(context) {
|
|
9
|
+
this.config.logger.debug('enrich context from response phase');
|
|
10
|
+
await this.addProductDataToContext(context);
|
|
11
|
+
return { done: false };
|
|
12
|
+
}
|
|
13
|
+
async addProductDataToContext(context) {
|
|
14
|
+
await Promise.all(Object.entries(this.products)
|
|
15
|
+
.filter(([name, _]) => !!context.productData[name])
|
|
16
|
+
.map(async ([name, product]) => {
|
|
17
|
+
Object.assign(context.productData[name], await product?.enrichContextFromResponse(context));
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { MinimalResponseUtils } from '../../http';
|
|
2
|
+
export class FirstPartyPhase {
|
|
3
|
+
httpClient;
|
|
4
|
+
firstParties;
|
|
5
|
+
constructor(httpClient, firstParties) {
|
|
6
|
+
this.httpClient = httpClient;
|
|
7
|
+
this.firstParties = firstParties;
|
|
8
|
+
}
|
|
9
|
+
async execute(context) {
|
|
10
|
+
for (const firstParty of this.firstParties) {
|
|
11
|
+
const firstPartyData = await firstParty.handleFirstPartyRequest(context);
|
|
12
|
+
if (firstPartyData) {
|
|
13
|
+
const response = await this.sendFirstPartyRequest(firstPartyData);
|
|
14
|
+
return { done: true, response };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
return { done: false };
|
|
18
|
+
}
|
|
19
|
+
async sendFirstPartyRequest({ request, defaultResponse }) {
|
|
20
|
+
if (!request) {
|
|
21
|
+
return defaultResponse;
|
|
22
|
+
}
|
|
23
|
+
try {
|
|
24
|
+
const response = await this.httpClient.send(request);
|
|
25
|
+
return MinimalResponseUtils.from(response);
|
|
26
|
+
}
|
|
27
|
+
catch (e) {
|
|
28
|
+
return defaultResponse;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class ModifyIncomingRequestPhase {
|
|
2
|
+
products;
|
|
3
|
+
constructor(products) {
|
|
4
|
+
this.products = products;
|
|
5
|
+
}
|
|
6
|
+
async execute(context) {
|
|
7
|
+
await Promise.all(this.products.map((product) => product?.modifyIncomingRequest(context)));
|
|
8
|
+
return { done: false };
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { PXHDSource, PXHDUtils } from '../../pxhd';
|
|
2
|
+
export class ModifyOutgoingResponsePhase {
|
|
3
|
+
products;
|
|
4
|
+
constructor(products) {
|
|
5
|
+
this.products = products;
|
|
6
|
+
}
|
|
7
|
+
async execute(context) {
|
|
8
|
+
await Promise.all(this.products.map((product) => product?.modifyOutgoingResponse(context)));
|
|
9
|
+
if (context.pxhd?.source === PXHDSource.RISK) {
|
|
10
|
+
PXHDUtils.addPxhdToOutgoingResponse(context, context.response);
|
|
11
|
+
}
|
|
12
|
+
return { done: false };
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { TokenParseResult } from '../../risk_token';
|
|
2
|
+
import { transferExistingProperties, VidSource } from '../../utils';
|
|
3
|
+
export class ParseTokenPhase {
|
|
4
|
+
tokenParser;
|
|
5
|
+
constructor(tokenParser) {
|
|
6
|
+
this.tokenParser = tokenParser;
|
|
7
|
+
}
|
|
8
|
+
async execute(context) {
|
|
9
|
+
const tokenData = await this.tokenParser.parseToken(context);
|
|
10
|
+
this.addTokenDataToContext(context, tokenData);
|
|
11
|
+
return { done: false };
|
|
12
|
+
}
|
|
13
|
+
addTokenDataToContext(context, tokenData) {
|
|
14
|
+
Object.assign(context.tokenData, tokenData);
|
|
15
|
+
if (tokenData.tokenParseResult === TokenParseResult.SUCCESSFUL) {
|
|
16
|
+
transferExistingProperties(tokenData.token, context, {
|
|
17
|
+
vid: 'vid',
|
|
18
|
+
uuid: 'uuid',
|
|
19
|
+
score: 'score',
|
|
20
|
+
action: 'blockAction',
|
|
21
|
+
});
|
|
22
|
+
if (tokenData.token.vid) {
|
|
23
|
+
context.vidSource = VidSource.RISK_COOKIE;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export class PreflightPhase {
|
|
2
|
+
corsSupportEnabled;
|
|
3
|
+
filterPreflightRequestsEnabled;
|
|
4
|
+
cors;
|
|
5
|
+
constructor(config, cors) {
|
|
6
|
+
this.corsSupportEnabled = config.corsSupportEnabled;
|
|
7
|
+
this.filterPreflightRequestsEnabled = config.corsPreflightRequestFilterEnabled;
|
|
8
|
+
this.cors = cors;
|
|
9
|
+
}
|
|
10
|
+
async execute(context) {
|
|
11
|
+
if (!this.corsSupportEnabled || !this.cors.isPreflightRequest(context)) {
|
|
12
|
+
return { done: false };
|
|
13
|
+
}
|
|
14
|
+
const response = await this.cors.runPreflightCustomHandler(context);
|
|
15
|
+
if (response) {
|
|
16
|
+
return { done: true, response };
|
|
17
|
+
}
|
|
18
|
+
return { done: this.filterPreflightRequestsEnabled };
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Action } from '../../action';
|
|
2
|
+
import { transferExistingProperties } from '../../utils';
|
|
3
|
+
import { DecideActionPhase } from './DecideActionPhase';
|
|
4
|
+
import { ProductName } from '../../products';
|
|
5
|
+
import { PXHDSource } from '../../pxhd';
|
|
6
|
+
export class RiskApiPhase extends DecideActionPhase {
|
|
7
|
+
products;
|
|
8
|
+
riskApiClient;
|
|
9
|
+
constructor(config, products, riskApiClient) {
|
|
10
|
+
super(config);
|
|
11
|
+
this.products = products;
|
|
12
|
+
this.riskApiClient = riskApiClient;
|
|
13
|
+
}
|
|
14
|
+
async execute(context) {
|
|
15
|
+
if (this.shouldTriggerRiskApi(context)) {
|
|
16
|
+
await this.triggerRiskApi(context);
|
|
17
|
+
await this.enrichContextFromRiskApi(context);
|
|
18
|
+
await this.updateContextDecision(context);
|
|
19
|
+
}
|
|
20
|
+
return { done: false };
|
|
21
|
+
}
|
|
22
|
+
shouldTriggerRiskApi(context) {
|
|
23
|
+
return context.action === Action.TRIGGER_RISK_API;
|
|
24
|
+
}
|
|
25
|
+
async triggerRiskApi(context) {
|
|
26
|
+
context.riskApiData.s2sCallReason =
|
|
27
|
+
context.reasons?.[ProductName.BOT_DEFENDER] || context.reasons?.[ProductName.CREDENTIAL_INTELLIGENCE];
|
|
28
|
+
const riskApiData = await this.riskApiClient.executeRiskApi(context);
|
|
29
|
+
Object.assign(context.riskApiData, riskApiData);
|
|
30
|
+
}
|
|
31
|
+
async enrichContextFromRiskApi(context) {
|
|
32
|
+
this.addRiskApiDataToContext(context);
|
|
33
|
+
await this.enrichContextWithProductDataFromRiskApi(context);
|
|
34
|
+
}
|
|
35
|
+
addRiskApiDataToContext(context) {
|
|
36
|
+
const { riskResponse } = context.riskApiData;
|
|
37
|
+
if (!riskResponse) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
transferExistingProperties(riskResponse, context, {
|
|
41
|
+
score: 'score',
|
|
42
|
+
uuid: 'uuid',
|
|
43
|
+
action: 'blockAction',
|
|
44
|
+
dataEnrichment: 'pxde',
|
|
45
|
+
});
|
|
46
|
+
if (riskResponse.dataEnrichment) {
|
|
47
|
+
context.pxdeVerified = true;
|
|
48
|
+
}
|
|
49
|
+
if (riskResponse.pxhd) {
|
|
50
|
+
context.pxhd = {
|
|
51
|
+
value: riskResponse.pxhd,
|
|
52
|
+
domain: riskResponse.pxhdDomain,
|
|
53
|
+
source: PXHDSource.RISK,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async enrichContextWithProductDataFromRiskApi(context) {
|
|
58
|
+
await Promise.all(Object.entries(this.products).map(async ([name, product]) => {
|
|
59
|
+
if (context.productData[name]) {
|
|
60
|
+
Object.assign(context.productData[name], await product?.enrichContextFromRiskApi(context));
|
|
61
|
+
}
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Action } from '../../action';
|
|
2
|
+
export class SendAsyncActivitiesOnRequestPhase {
|
|
3
|
+
activityClient;
|
|
4
|
+
constructor(activityClient) {
|
|
5
|
+
this.activityClient = activityClient;
|
|
6
|
+
}
|
|
7
|
+
async execute(context) {
|
|
8
|
+
if (context.action === Action.BLOCK) {
|
|
9
|
+
await this.sendAsyncActivity(context);
|
|
10
|
+
}
|
|
11
|
+
return { done: false };
|
|
12
|
+
}
|
|
13
|
+
async sendAsyncActivity(context) {
|
|
14
|
+
await this.activityClient.sendActivities(context);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { X_PX_ENFORCER_LOG_HEADER } from '../../logger';
|
|
2
|
+
export class SendLogsPhase {
|
|
3
|
+
config;
|
|
4
|
+
logServiceClient;
|
|
5
|
+
constructor(config, logServiceClient) {
|
|
6
|
+
this.config = config;
|
|
7
|
+
this.logServiceClient = logServiceClient;
|
|
8
|
+
}
|
|
9
|
+
async execute(context) {
|
|
10
|
+
const headerValue = context.requestData.headers[X_PX_ENFORCER_LOG_HEADER]?.[0];
|
|
11
|
+
if (headerValue == this.config.loggerAuthToken) {
|
|
12
|
+
await this.logServiceClient.sendLogs(context, this.config.logger.getLogs());
|
|
13
|
+
}
|
|
14
|
+
return { done: false };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export class TelemetryPhase {
|
|
2
|
+
telemetry;
|
|
3
|
+
constructor(telemetry) {
|
|
4
|
+
this.telemetry = telemetry;
|
|
5
|
+
}
|
|
6
|
+
async execute(context) {
|
|
7
|
+
if (await this.telemetry.isValidTelemetryRequest(context)) {
|
|
8
|
+
await this.sendTelemetry(context);
|
|
9
|
+
return { done: true };
|
|
10
|
+
}
|
|
11
|
+
return { done: false };
|
|
12
|
+
}
|
|
13
|
+
// Note: If await is not necessary, can be overridden
|
|
14
|
+
async sendTelemetry(context) {
|
|
15
|
+
await this.telemetry.sendTelemetry(context);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { getPropertyFromObject } from '../../utils';
|
|
2
|
+
import { CROSS_TAB_SESSION_COOKIE_NAME } from './constants';
|
|
3
|
+
export class AccountDefender {
|
|
4
|
+
config;
|
|
5
|
+
base64Utils;
|
|
6
|
+
constructor(config, options) {
|
|
7
|
+
this.config = config;
|
|
8
|
+
this.base64Utils = options.base64Utils;
|
|
9
|
+
}
|
|
10
|
+
async enrichContextFromRequest(context) {
|
|
11
|
+
const crossTabSession = context.requestData.cookies[CROSS_TAB_SESSION_COOKIE_NAME];
|
|
12
|
+
const jwtData = this.getJwtData(context.requestData);
|
|
13
|
+
return { crossTabSession, ...jwtData };
|
|
14
|
+
}
|
|
15
|
+
async enrichContextFromRiskApi(context) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
async enrichContextFromResponse(context) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
async modifyIncomingRequest(context) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
async modifyOutgoingResponse(context) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
getJwtData(requestData) {
|
|
28
|
+
let jwtToken;
|
|
29
|
+
let userIdFieldName;
|
|
30
|
+
let additionalFieldNames;
|
|
31
|
+
if (this.config.jwtCookieName) {
|
|
32
|
+
jwtToken = requestData.cookies[this.config.jwtCookieName];
|
|
33
|
+
if (jwtToken) {
|
|
34
|
+
userIdFieldName = this.config.jwtCookieUserIdFieldName;
|
|
35
|
+
additionalFieldNames = this.config.jwtCookieAdditionalFieldNames;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (!jwtToken && this.config.jwtHeaderName) {
|
|
39
|
+
jwtToken = requestData.headers[this.config.jwtHeaderName]?.[0];
|
|
40
|
+
if (jwtToken) {
|
|
41
|
+
userIdFieldName = this.config.jwtHeaderUserIdFieldName;
|
|
42
|
+
additionalFieldNames = this.config.jwtHeaderAdditionalFieldNames;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return jwtToken ? this.extractJwtData(jwtToken, userIdFieldName, additionalFieldNames) : null;
|
|
46
|
+
}
|
|
47
|
+
extractJwtData(jwt, userIdFieldName, additionalFieldNames) {
|
|
48
|
+
try {
|
|
49
|
+
const decodedJwt = this.getDecodedJwt(jwt);
|
|
50
|
+
if (decodedJwt) {
|
|
51
|
+
const appUserId = getPropertyFromObject(decodedJwt, ...userIdFieldName.split('.'));
|
|
52
|
+
const additionalFields = additionalFieldNames.reduce((matchedFields, fieldName) => {
|
|
53
|
+
const fieldNameParts = fieldName.split('.');
|
|
54
|
+
const value = getPropertyFromObject(decodedJwt, ...fieldNameParts);
|
|
55
|
+
if (value) {
|
|
56
|
+
matchedFields[fieldNameParts[fieldNameParts.length - 1]] = value;
|
|
57
|
+
}
|
|
58
|
+
return matchedFields;
|
|
59
|
+
}, {});
|
|
60
|
+
return { additionalFields, appUserId };
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
catch (e) {
|
|
64
|
+
this.config.logger.debug(`unable to get account defender JWT data: ${e}`);
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
getDecodedJwt(jwt) {
|
|
69
|
+
try {
|
|
70
|
+
const encodedPayload = jwt.split('.')?.[1];
|
|
71
|
+
const base64 = encodedPayload.replace('-', '+').replace('_', '/');
|
|
72
|
+
return JSON.parse(this.base64Utils.base64Decode(base64));
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
this.config.logger.debug(`unable to decode account defender jwt token: ${e}`);
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Action } from '../../action';
|
|
2
|
+
import { TokenParseResult } from '../../risk_token';
|
|
3
|
+
import { RiskApiCallResult } from '../../risk_api';
|
|
4
|
+
import { EnforcerError, isRouteInPatterns } from '../../utils';
|
|
5
|
+
import { BotDefenderActionData, isMonitoredRequest } from '../';
|
|
6
|
+
import { DefaultBotDefenderFirstParty } from './first_party';
|
|
7
|
+
import { DefaultBotDefenderFilter } from './filter';
|
|
8
|
+
import { BotDefenderBlockReason, BotDefenderPassReason, BotDefenderS2SCallReason } from './reasons';
|
|
9
|
+
import { BotDefenderUtils } from './BotDefenderUtils';
|
|
10
|
+
import { DefaultBotDefenderBlocker } from './block';
|
|
11
|
+
export class BotDefender {
|
|
12
|
+
config;
|
|
13
|
+
firstParty;
|
|
14
|
+
filter;
|
|
15
|
+
blocker;
|
|
16
|
+
constructor(config, options) {
|
|
17
|
+
this.config = config;
|
|
18
|
+
this.firstParty = options.firstParty ?? new DefaultBotDefenderFirstParty(config);
|
|
19
|
+
this.filter = options.filter ?? new DefaultBotDefenderFilter(config, options.ipRangeChecker);
|
|
20
|
+
this.blocker = options.blocker ?? new DefaultBotDefenderBlocker(config, options.base64Utils);
|
|
21
|
+
}
|
|
22
|
+
async handleFirstPartyRequest(context) {
|
|
23
|
+
return this.firstParty.handleFirstPartyRequest(context);
|
|
24
|
+
}
|
|
25
|
+
shouldFilter(context) {
|
|
26
|
+
return this.filter.shouldFilter(context);
|
|
27
|
+
}
|
|
28
|
+
async enrichContextFromRequest(context) {
|
|
29
|
+
const isMonitoredRequest = this.isMonitoredRoute(context);
|
|
30
|
+
const isSensitiveRequest = this.isSensitiveRequest(context) || context.graphqlData?.some((operation) => operation.sensitive);
|
|
31
|
+
const actionData = await this.getTokenAction(context, isMonitoredRequest, isSensitiveRequest);
|
|
32
|
+
return {
|
|
33
|
+
...actionData,
|
|
34
|
+
isMonitoredRequest,
|
|
35
|
+
isSensitiveRequest,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
isMonitoredRoute(context) {
|
|
39
|
+
return isMonitoredRequest(this.config, context);
|
|
40
|
+
}
|
|
41
|
+
isSensitiveRequest({ requestData: { url } }) {
|
|
42
|
+
// TODO: Include custom sensitive request function
|
|
43
|
+
return isRouteInPatterns(url.pathname, this.config.sensitiveRoutes);
|
|
44
|
+
}
|
|
45
|
+
async enrichContextFromResponse(context) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
async getTokenAction(context, isMonitoredRequest, isSensitiveRequest) {
|
|
49
|
+
switch (context.tokenData.tokenParseResult) {
|
|
50
|
+
case TokenParseResult.NONE:
|
|
51
|
+
return new BotDefenderActionData(Action.TRIGGER_RISK_API, this.getNoTokenS2SCallReason(context));
|
|
52
|
+
case TokenParseResult.DECRYPTION_FAILED:
|
|
53
|
+
return new BotDefenderActionData(Action.TRIGGER_RISK_API, BotDefenderS2SCallReason.COOKIE_DECRYPTION_FAILED);
|
|
54
|
+
case TokenParseResult.VALIDATION_FAILED:
|
|
55
|
+
return new BotDefenderActionData(Action.TRIGGER_RISK_API, BotDefenderS2SCallReason.COOKIE_VALIDATION_FAILED);
|
|
56
|
+
case TokenParseResult.SUCCESSFUL:
|
|
57
|
+
return this.getActionForSuccessfulTokenParse(context, isMonitoredRequest, isSensitiveRequest);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
getNoTokenS2SCallReason({ pxhd, isMobile, tokenData, }) {
|
|
61
|
+
if (isMobile && tokenData.mobileData?.mobileError) {
|
|
62
|
+
return BotDefenderUtils.getS2SCallReasonFromMobileError(tokenData.mobileData.mobileError);
|
|
63
|
+
}
|
|
64
|
+
if (pxhd) {
|
|
65
|
+
return BotDefenderS2SCallReason.NO_COOKIE_WITH_VID;
|
|
66
|
+
}
|
|
67
|
+
return BotDefenderS2SCallReason.NO_COOKIE;
|
|
68
|
+
}
|
|
69
|
+
getActionForSuccessfulTokenParse({ tokenData: { token } }, isMonitoredRequest, isSensitiveRequest) {
|
|
70
|
+
if (token.isExpired()) {
|
|
71
|
+
return new BotDefenderActionData(Action.TRIGGER_RISK_API, BotDefenderS2SCallReason.COOKIE_EXPIRED);
|
|
72
|
+
}
|
|
73
|
+
if (token.isHighScore()) {
|
|
74
|
+
return new BotDefenderActionData(isMonitoredRequest ? Action.SIMULATED_BLOCK : Action.BLOCK, BotDefenderBlockReason.COOKIE_HIGH_SCORE);
|
|
75
|
+
}
|
|
76
|
+
if (isSensitiveRequest) {
|
|
77
|
+
return new BotDefenderActionData(Action.TRIGGER_RISK_API, BotDefenderS2SCallReason.SENSITIVE_ROUTE);
|
|
78
|
+
}
|
|
79
|
+
return new BotDefenderActionData(Action.PASS_REQUEST, BotDefenderPassReason.COOKIE);
|
|
80
|
+
}
|
|
81
|
+
async enrichContextFromRiskApi(context) {
|
|
82
|
+
return await this.getRiskApiActionData(context);
|
|
83
|
+
}
|
|
84
|
+
async getRiskApiActionData({ riskApiData, productData: { bd }, }) {
|
|
85
|
+
switch (riskApiData.riskApiCallResult) {
|
|
86
|
+
case RiskApiCallResult.NONE:
|
|
87
|
+
throw new EnforcerError('risk api call result should not be none!');
|
|
88
|
+
case RiskApiCallResult.ERROR:
|
|
89
|
+
return new BotDefenderActionData(Action.PASS_REQUEST, BotDefenderPassReason.S2S_ERROR);
|
|
90
|
+
case RiskApiCallResult.TIMEOUT:
|
|
91
|
+
return new BotDefenderActionData(Action.PASS_REQUEST, BotDefenderPassReason.S2S_TIMEOUT);
|
|
92
|
+
case RiskApiCallResult.SUCCESSFUL:
|
|
93
|
+
return this.getSuccessfulRiskApiAction(riskApiData.riskResponse, bd.isMonitoredRequest);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
getSuccessfulRiskApiAction(riskResponse, isMonitored) {
|
|
97
|
+
if (riskResponse.score >= this.config.blockingScore) {
|
|
98
|
+
return new BotDefenderActionData(isMonitored ? Action.SIMULATED_BLOCK : Action.BLOCK, BotDefenderBlockReason.S2S_HIGH_SCORE);
|
|
99
|
+
}
|
|
100
|
+
return new BotDefenderActionData(Action.PASS_REQUEST, BotDefenderPassReason.S2S);
|
|
101
|
+
}
|
|
102
|
+
shouldBlock(context) {
|
|
103
|
+
return this.blocker.shouldBlock(context);
|
|
104
|
+
}
|
|
105
|
+
createBlockResponse(context) {
|
|
106
|
+
return this.blocker.createBlockResponse(context);
|
|
107
|
+
}
|
|
108
|
+
async modifyIncomingRequest(context) {
|
|
109
|
+
// intentionally left blank
|
|
110
|
+
}
|
|
111
|
+
async modifyOutgoingResponse(context) {
|
|
112
|
+
// intentionally left blank
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Action } from '../../../action';
|
|
2
|
+
import { BlockAction } from '../../../blocker';
|
|
3
|
+
import { ContentType, CONTENT_TYPE_HEADER_NAME, MinimalResponseImpl } from '../../../http';
|
|
4
|
+
import { ProductName } from '../../utils';
|
|
5
|
+
import { CaptchaBlocker } from './captcha';
|
|
6
|
+
import { RATE_LIMIT_TEMPLATE } from './templates';
|
|
7
|
+
export class DefaultBotDefenderBlocker {
|
|
8
|
+
config;
|
|
9
|
+
captchaBlocker;
|
|
10
|
+
constructor(config, base64Utils) {
|
|
11
|
+
this.config = config;
|
|
12
|
+
this.captchaBlocker = new CaptchaBlocker(config, base64Utils);
|
|
13
|
+
}
|
|
14
|
+
shouldBlock({ action, reasons, productData }) {
|
|
15
|
+
return action === Action.BLOCK && !!reasons?.[ProductName.BOT_DEFENDER];
|
|
16
|
+
}
|
|
17
|
+
createBlockResponse(context) {
|
|
18
|
+
switch (context.blockAction) {
|
|
19
|
+
case BlockAction.RATE_LIMIT:
|
|
20
|
+
return this.createRateLimitResponse();
|
|
21
|
+
case BlockAction.CHALLENGE:
|
|
22
|
+
case BlockAction.CAPTCHA:
|
|
23
|
+
default:
|
|
24
|
+
return this.createCaptchaResponse(context);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
createRateLimitResponse() {
|
|
28
|
+
const status = 429;
|
|
29
|
+
const headers = {
|
|
30
|
+
[CONTENT_TYPE_HEADER_NAME]: [ContentType.TEXT_HTML],
|
|
31
|
+
};
|
|
32
|
+
return new MinimalResponseImpl({
|
|
33
|
+
body: RATE_LIMIT_TEMPLATE,
|
|
34
|
+
status: status,
|
|
35
|
+
headers: headers,
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
createCaptchaResponse(context) {
|
|
39
|
+
return this.captchaBlocker.createBlockResponse(context);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { JsonCaptchaBlocker } from './JsonCaptchaBlocker';
|
|
2
|
+
import { MobileCaptchaBlocker } from './MobileCaptchaBlocker';
|
|
3
|
+
import { HtmlCaptchaBlocker } from './HtmlCaptchaBlocker';
|
|
4
|
+
export class CaptchaBlocker {
|
|
5
|
+
config;
|
|
6
|
+
jsonCaptchaBlocker;
|
|
7
|
+
mobileCaptchaBlocker;
|
|
8
|
+
htmlCaptchaBlocker;
|
|
9
|
+
constructor(config, base64Utils) {
|
|
10
|
+
this.config = config;
|
|
11
|
+
this.jsonCaptchaBlocker = new JsonCaptchaBlocker(config);
|
|
12
|
+
this.mobileCaptchaBlocker = new MobileCaptchaBlocker(config, base64Utils);
|
|
13
|
+
this.htmlCaptchaBlocker = new HtmlCaptchaBlocker(config);
|
|
14
|
+
}
|
|
15
|
+
createBlockResponse(context) {
|
|
16
|
+
if (this.mobileCaptchaBlocker.shouldBlock(context)) {
|
|
17
|
+
return this.mobileCaptchaBlocker.createBlockResponse(context);
|
|
18
|
+
}
|
|
19
|
+
if (this.jsonCaptchaBlocker.shouldBlock(context)) {
|
|
20
|
+
return this.jsonCaptchaBlocker.createBlockResponse(context);
|
|
21
|
+
}
|
|
22
|
+
return this.htmlCaptchaBlocker.createBlockResponse(context);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ContentType, CONTENT_TYPE_HEADER_NAME, MinimalResponseImpl } from '../../../../http';
|
|
2
|
+
import { createBlockData, renderHtml } from '../utils';
|
|
3
|
+
import { CAPTCHA_TEMPLATE } from '../templates';
|
|
4
|
+
export class HtmlCaptchaBlocker {
|
|
5
|
+
config;
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.config = config;
|
|
8
|
+
}
|
|
9
|
+
createBlockResponse(context) {
|
|
10
|
+
const status = 403;
|
|
11
|
+
const headers = {
|
|
12
|
+
[CONTENT_TYPE_HEADER_NAME]: [ContentType.TEXT_HTML],
|
|
13
|
+
};
|
|
14
|
+
const body = renderHtml(CAPTCHA_TEMPLATE, createBlockData(this.config, context));
|
|
15
|
+
return new MinimalResponseImpl({
|
|
16
|
+
body: body,
|
|
17
|
+
status: status,
|
|
18
|
+
headers: headers,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { BlockAction } from '../../../../blocker';
|
|
2
|
+
import { ContentType, CONTENT_TYPE_HEADER_NAME, ACCEPT_HEADER_NAME, MinimalResponseImpl, } from '../../../../http';
|
|
3
|
+
import { createBlockData } from '../utils';
|
|
4
|
+
export class JsonCaptchaBlocker {
|
|
5
|
+
config;
|
|
6
|
+
constructor(config) {
|
|
7
|
+
this.config = config;
|
|
8
|
+
}
|
|
9
|
+
shouldBlock(context) {
|
|
10
|
+
if (!this.config.advancedBlockingResponseEnabled) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
const acceptHeaderValue = context.requestData.request.headers.get(ACCEPT_HEADER_NAME) || '';
|
|
14
|
+
const acceptHeaderContainsJson = acceptHeaderValue
|
|
15
|
+
?.split(',')
|
|
16
|
+
.some((value) => value.toLowerCase() === ContentType.APPLICATION_JSON);
|
|
17
|
+
return !context.isMobile && context.blockAction !== BlockAction.RATE_LIMIT && acceptHeaderContainsJson;
|
|
18
|
+
}
|
|
19
|
+
createBlockResponse(context) {
|
|
20
|
+
const status = 403;
|
|
21
|
+
const headers = {
|
|
22
|
+
[CONTENT_TYPE_HEADER_NAME]: [ContentType.APPLICATION_JSON],
|
|
23
|
+
};
|
|
24
|
+
const blockData = createBlockData(this.config, context);
|
|
25
|
+
const jsonBlockPayload = {
|
|
26
|
+
appId: blockData.appId,
|
|
27
|
+
jsClientSrc: blockData.jsClientSrc,
|
|
28
|
+
customLogo: blockData.customLogo,
|
|
29
|
+
firstPartyEnabled: blockData.firstPartyEnabled,
|
|
30
|
+
vid: blockData.vid,
|
|
31
|
+
uuid: blockData.uuid,
|
|
32
|
+
hostUrl: blockData.hostUrl,
|
|
33
|
+
blockScript: blockData.blockScript,
|
|
34
|
+
altBlockScript: blockData.altBlockScript,
|
|
35
|
+
};
|
|
36
|
+
const body = JSON.stringify(jsonBlockPayload);
|
|
37
|
+
return new MinimalResponseImpl({ status, headers, body });
|
|
38
|
+
}
|
|
39
|
+
}
|