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,36 @@
|
|
|
1
|
+
import { BLOCK_ACTION_TO_WORD_MAP } from '../../../../blocker';
|
|
2
|
+
import { ContentType, CONTENT_TYPE_HEADER_NAME, MinimalResponseImpl } from '../../../../http';
|
|
3
|
+
import { createBlockData, renderHtml } from '../utils';
|
|
4
|
+
import { CAPTCHA_TEMPLATE } from '../templates';
|
|
5
|
+
export class MobileCaptchaBlocker {
|
|
6
|
+
config;
|
|
7
|
+
base64Utils;
|
|
8
|
+
constructor(config, base64Utils) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.base64Utils = base64Utils;
|
|
11
|
+
}
|
|
12
|
+
shouldBlock(context) {
|
|
13
|
+
return context.isMobile;
|
|
14
|
+
}
|
|
15
|
+
createBlockResponse(context) {
|
|
16
|
+
const status = 403;
|
|
17
|
+
const headers = {
|
|
18
|
+
[CONTENT_TYPE_HEADER_NAME]: [ContentType.APPLICATION_JSON],
|
|
19
|
+
};
|
|
20
|
+
const blockData = createBlockData(this.config, context);
|
|
21
|
+
const captchaPage = renderHtml(CAPTCHA_TEMPLATE, blockData);
|
|
22
|
+
const mobileBlockPayload = {
|
|
23
|
+
action: BLOCK_ACTION_TO_WORD_MAP.get(blockData.blockAction),
|
|
24
|
+
uuid: blockData.uuid,
|
|
25
|
+
vid: blockData.vid,
|
|
26
|
+
appId: blockData.appId,
|
|
27
|
+
page: this.base64Utils.base64Encode(captchaPage),
|
|
28
|
+
collectorHost: this.config.backendCollectorUrl,
|
|
29
|
+
};
|
|
30
|
+
return new MinimalResponseImpl({
|
|
31
|
+
body: JSON.stringify(mobileBlockPayload),
|
|
32
|
+
status: status,
|
|
33
|
+
headers: headers,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { PXVID_COOKIE_NAME } from '../../../utils';
|
|
2
|
+
import { FirstPartySuffix, getMostCustomizedFirstPartyPath } from '../first_party';
|
|
3
|
+
export const renderHtml = (htmlTemplate, blockData) => {
|
|
4
|
+
if (!blockData) {
|
|
5
|
+
return htmlTemplate;
|
|
6
|
+
}
|
|
7
|
+
Object.entries(blockData).forEach(([key, value]) => {
|
|
8
|
+
const replace = `{{${key}}}`;
|
|
9
|
+
const regEx = new RegExp(replace, 'g');
|
|
10
|
+
htmlTemplate = htmlTemplate.replace(regEx, `${value}`);
|
|
11
|
+
});
|
|
12
|
+
return htmlTemplate;
|
|
13
|
+
};
|
|
14
|
+
export const createBlockData = (config, context) => {
|
|
15
|
+
const captchaScriptSuffix = '/captcha.js';
|
|
16
|
+
const captchaParams = `?a=${context.blockAction}&u=${context.uuid}&v=${context.vid || ''}&m=${context.isMobile ? '1' : '0'}`;
|
|
17
|
+
let jsClientSrc = `${config.backendClientUrl}/${config.appId}/main.min.js`;
|
|
18
|
+
let blockScript = `${config.backendCaptchaUrl}/${config.appId}${captchaScriptSuffix}${captchaParams}`;
|
|
19
|
+
let hostUrl = config.backendCollectorUrl;
|
|
20
|
+
if (config.firstPartyEnabled && !context.isMobile) {
|
|
21
|
+
jsClientSrc = getMostCustomizedFirstPartyPath(config, FirstPartySuffix.SENSOR);
|
|
22
|
+
blockScript = `${getMostCustomizedFirstPartyPath(config, FirstPartySuffix.CAPTCHA)}${config.customFirstPartyCaptchaEndpoint ? captchaParams : `${captchaScriptSuffix}${captchaParams}`}`;
|
|
23
|
+
hostUrl = getMostCustomizedFirstPartyPath(config, FirstPartySuffix.XHR);
|
|
24
|
+
}
|
|
25
|
+
const cssRef = config.cssRef ? `<link rel="stylesheet" type="text/css" href="${config.cssRef}" />` : '';
|
|
26
|
+
const jsRef = config.jsRef ? `<script src="${config.jsRef}"></script>` : '';
|
|
27
|
+
const altBlockScript = `${config.altBackendCaptchaUrl}/${config.appId}${captchaScriptSuffix}${captchaParams}`;
|
|
28
|
+
return {
|
|
29
|
+
appId: config.appId,
|
|
30
|
+
vid: context.vid || context.requestData?.cookies?.[PXVID_COOKIE_NAME] || '',
|
|
31
|
+
uuid: context.uuid || '',
|
|
32
|
+
isMobile: context.isMobile,
|
|
33
|
+
customLogo: config.customLogo || '',
|
|
34
|
+
blockAction: context.blockAction,
|
|
35
|
+
hostUrl,
|
|
36
|
+
cssRef,
|
|
37
|
+
jsRef,
|
|
38
|
+
jsClientSrc,
|
|
39
|
+
firstPartyEnabled: config.firstPartyEnabled,
|
|
40
|
+
blockScript,
|
|
41
|
+
altBlockScript,
|
|
42
|
+
};
|
|
43
|
+
};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { HttpMethod } from '../../../http';
|
|
2
|
+
import { FilterReason } from '../../../filter';
|
|
3
|
+
import { getExtension, isRouteInPatterns } from '../../../utils';
|
|
4
|
+
export class DefaultBotDefenderFilter {
|
|
5
|
+
config;
|
|
6
|
+
ipRangeChecker;
|
|
7
|
+
constructor(config, ipRangeChecker) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.ipRangeChecker = ipRangeChecker;
|
|
10
|
+
}
|
|
11
|
+
shouldFilter(context) {
|
|
12
|
+
const { requestData } = context;
|
|
13
|
+
const filterReason = this.getFilterReason(requestData);
|
|
14
|
+
if (filterReason !== FilterReason.NONE) {
|
|
15
|
+
this.config.logger.debug(`filter request due to ${filterReason}`);
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
getFilterReason(request) {
|
|
21
|
+
if (this.shouldFilterByExtension(request)) {
|
|
22
|
+
return FilterReason.EXTENSION;
|
|
23
|
+
}
|
|
24
|
+
if (this.shouldFilterByRoute(request.url.pathname)) {
|
|
25
|
+
return FilterReason.ROUTE;
|
|
26
|
+
}
|
|
27
|
+
if (this.shouldFilterByHttpMethod(request.method)) {
|
|
28
|
+
return FilterReason.HTTP_METHOD;
|
|
29
|
+
}
|
|
30
|
+
if (this.shouldFilterByUserAgent(request.userAgent)) {
|
|
31
|
+
return FilterReason.USER_AGENT;
|
|
32
|
+
}
|
|
33
|
+
if (this.shouldFilterByIp(request.ip)) {
|
|
34
|
+
return FilterReason.IP;
|
|
35
|
+
}
|
|
36
|
+
return FilterReason.NONE;
|
|
37
|
+
}
|
|
38
|
+
shouldFilterByExtension(requestData) {
|
|
39
|
+
if (requestData.method !== HttpMethod.GET && requestData.method !== HttpMethod.HEAD) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
const ext = getExtension(requestData.url.href);
|
|
43
|
+
return !!ext && this.config.filteredExtensions.includes(ext);
|
|
44
|
+
}
|
|
45
|
+
shouldFilterByHttpMethod(method) {
|
|
46
|
+
return this.config.filteredHttpMethods.some((filteredMethod) => filteredMethod.toUpperCase() === method);
|
|
47
|
+
}
|
|
48
|
+
shouldFilterByIp(ip) {
|
|
49
|
+
return this.config.filteredIps.some((range) => this.ipRangeChecker.isIpInRange(ip, range));
|
|
50
|
+
}
|
|
51
|
+
shouldFilterByRoute(route) {
|
|
52
|
+
return isRouteInPatterns(route, this.config.filteredRoutes);
|
|
53
|
+
}
|
|
54
|
+
shouldFilterByUserAgent(userAgent) {
|
|
55
|
+
return this.config.filteredUserAgents.includes(userAgent);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { removeSensitiveHeaders } from '../../../utils';
|
|
2
|
+
import { COOKIE_HEADER_NAME, HOST_HEADER_NAME, X_FORWARDED_FOR_HEADER_NAME, OutgoingRequestImpl, MinimalResponseImpl, toMutableHeaders, URLUtils, } from '../../../http';
|
|
3
|
+
import { getFirstPartyCaptchaScriptPathPrefixes, getFirstPartySensorScriptPaths, getFirstPartyXhrPathPrefixes, } from './utils';
|
|
4
|
+
import { DEFAULT_CLIENT_RESPONSE_OPTIONS, DEFAULT_GIF_RESPONSE, DEFAULT_XHR_RESPONSE, FIRST_PARTY_HEADER_NAME, FIRST_PARTY_HEADER_VALUE, X_PX_ENFORCER_TRUE_IP_HEADER_NAME, } from './constants';
|
|
5
|
+
import { FirstPartySuffix } from './FirstPartySuffix';
|
|
6
|
+
export class DefaultBotDefenderFirstParty {
|
|
7
|
+
config;
|
|
8
|
+
constructor(config) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
}
|
|
11
|
+
async handleFirstPartyRequest(context) {
|
|
12
|
+
const { pathname } = context.requestData.url;
|
|
13
|
+
if (getFirstPartySensorScriptPaths(this.config).includes(pathname)) {
|
|
14
|
+
return await this.proxySensorScriptRequest(context);
|
|
15
|
+
}
|
|
16
|
+
const xhrPrefix = getFirstPartyXhrPathPrefixes(this.config).find((prefix) => pathname.startsWith(prefix));
|
|
17
|
+
if (xhrPrefix) {
|
|
18
|
+
return await this.proxyXhrRequest(context, xhrPrefix);
|
|
19
|
+
}
|
|
20
|
+
const captchaPrefix = getFirstPartyCaptchaScriptPathPrefixes(this.config).find((prefix) => pathname.startsWith(prefix));
|
|
21
|
+
if (captchaPrefix) {
|
|
22
|
+
return await this.proxyCaptchaScriptRequest(context);
|
|
23
|
+
}
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
async proxySensorScriptRequest(context) {
|
|
27
|
+
const defaultResponse = new MinimalResponseImpl(DEFAULT_CLIENT_RESPONSE_OPTIONS);
|
|
28
|
+
if (!this.config.firstPartyEnabled) {
|
|
29
|
+
return { defaultResponse };
|
|
30
|
+
}
|
|
31
|
+
const url = this.getThirdPartySensorScriptUrl();
|
|
32
|
+
const request = await this.getOutgoingRequest(url, context);
|
|
33
|
+
this.config.logger.debug(`proxying first party sensor script ${context.requestData.url.pathname} to ${url}`);
|
|
34
|
+
return { request, defaultResponse };
|
|
35
|
+
}
|
|
36
|
+
async proxyXhrRequest(context, prefix) {
|
|
37
|
+
const defaultResponse = DefaultBotDefenderFirstParty.getDefaultXhrResponse(context.requestData.url.pathname);
|
|
38
|
+
if (!this.config.firstPartyEnabled) {
|
|
39
|
+
return { defaultResponse };
|
|
40
|
+
}
|
|
41
|
+
const url = this.getThirdPartyXhrUrl(context, prefix);
|
|
42
|
+
const request = await this.getOutgoingRequest(url, context);
|
|
43
|
+
this.config.logger.debug(`proxying first party XHR request ${context.requestData.url.pathname} to ${url}`);
|
|
44
|
+
return { request, defaultResponse };
|
|
45
|
+
}
|
|
46
|
+
static getDefaultXhrResponse(path) {
|
|
47
|
+
const { content, options } = path.endsWith('.gif') ? DEFAULT_GIF_RESPONSE : DEFAULT_XHR_RESPONSE;
|
|
48
|
+
return new MinimalResponseImpl({
|
|
49
|
+
body: content,
|
|
50
|
+
status: options.status,
|
|
51
|
+
headers: options.headers,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
async proxyCaptchaScriptRequest(context) {
|
|
55
|
+
const defaultResponse = new MinimalResponseImpl(DEFAULT_CLIENT_RESPONSE_OPTIONS);
|
|
56
|
+
if (!this.config.firstPartyEnabled) {
|
|
57
|
+
return { defaultResponse };
|
|
58
|
+
}
|
|
59
|
+
const url = this.getThirdPartyCaptchaScriptUrl(context);
|
|
60
|
+
const request = await this.getOutgoingRequest(url, context);
|
|
61
|
+
this.config.logger.debug(`proxying first party captcha script ${context.requestData.url.pathname} to ${url}`);
|
|
62
|
+
return { request, defaultResponse };
|
|
63
|
+
}
|
|
64
|
+
async getOutgoingRequest(url, { requestData, vid }) {
|
|
65
|
+
return new OutgoingRequestImpl({
|
|
66
|
+
url: url,
|
|
67
|
+
method: requestData.method,
|
|
68
|
+
headers: this.prepareFirstPartyHeaders(url, requestData, vid),
|
|
69
|
+
body: requestData.request.body,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
prepareFirstPartyHeaders(url, requestData, vid) {
|
|
73
|
+
let headers = toMutableHeaders(requestData.headers);
|
|
74
|
+
try {
|
|
75
|
+
headers = removeSensitiveHeaders(headers, this.config.sensitiveHeaders);
|
|
76
|
+
this.setHostHeader(headers, url);
|
|
77
|
+
this.setXffHeader(headers, requestData.ip);
|
|
78
|
+
this.addFirstPartyHeaders(headers, requestData.ip);
|
|
79
|
+
if (vid) {
|
|
80
|
+
const newCookies = (headers[COOKIE_HEADER_NAME] || []).concat([`pxvid=${vid}`]);
|
|
81
|
+
headers[COOKIE_HEADER_NAME] = [newCookies.join('; ')];
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
this.config.logger.error(`Caught error preparing first party headers: ${e}`);
|
|
86
|
+
}
|
|
87
|
+
return headers;
|
|
88
|
+
}
|
|
89
|
+
setHostHeader(headers, url) {
|
|
90
|
+
const { host } = URLUtils.parseURL(url);
|
|
91
|
+
headers[HOST_HEADER_NAME] = [host];
|
|
92
|
+
}
|
|
93
|
+
setXffHeader(headers, ip) {
|
|
94
|
+
const xffValue = headers[X_FORWARDED_FOR_HEADER_NAME] || [];
|
|
95
|
+
headers[X_FORWARDED_FOR_HEADER_NAME] = xffValue.concat([ip]);
|
|
96
|
+
}
|
|
97
|
+
addFirstPartyHeaders(headers, ip) {
|
|
98
|
+
headers[FIRST_PARTY_HEADER_NAME] = [FIRST_PARTY_HEADER_VALUE];
|
|
99
|
+
headers[X_PX_ENFORCER_TRUE_IP_HEADER_NAME] = [ip];
|
|
100
|
+
}
|
|
101
|
+
getThirdPartySensorScriptUrl() {
|
|
102
|
+
return `${this.config.backendClientUrl}/${this.config.appId}/main.min.js`;
|
|
103
|
+
}
|
|
104
|
+
getThirdPartyCaptchaScriptUrl(context) {
|
|
105
|
+
const originalUrl = context.requestData.url;
|
|
106
|
+
const { appId, backendCaptchaUrl } = this.config;
|
|
107
|
+
return `${backendCaptchaUrl}/${appId}${FirstPartySuffix.CAPTCHA}.js${originalUrl.search}`;
|
|
108
|
+
}
|
|
109
|
+
getThirdPartyXhrUrl(context, prefix) {
|
|
110
|
+
const originalUrl = context.requestData.url;
|
|
111
|
+
const { backendCollectorUrl } = this.config;
|
|
112
|
+
return `${backendCollectorUrl}${originalUrl.pathname.replace(prefix, '')}${originalUrl.search}`;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ContentType, CONTENT_TYPE_HEADER_NAME } from '../../../http';
|
|
2
|
+
export const X_PX_ENFORCER_TRUE_IP_HEADER_NAME = 'x-px-enforcer-true-ip';
|
|
3
|
+
export const FIRST_PARTY_HEADER_NAME = 'x-px-first-party';
|
|
4
|
+
export const FIRST_PARTY_HEADER_VALUE = '1';
|
|
5
|
+
export const DEFAULT_CLIENT_RESPONSE_OPTIONS = {
|
|
6
|
+
body: '',
|
|
7
|
+
status: 200,
|
|
8
|
+
headers: {
|
|
9
|
+
[CONTENT_TYPE_HEADER_NAME]: [ContentType.APPLICATION_JAVASCRIPT],
|
|
10
|
+
},
|
|
11
|
+
};
|
|
12
|
+
export const DEFAULT_XHR_RESPONSE = {
|
|
13
|
+
content: '{}',
|
|
14
|
+
options: {
|
|
15
|
+
status: 200,
|
|
16
|
+
headers: {
|
|
17
|
+
[CONTENT_TYPE_HEADER_NAME]: [ContentType.APPLICATION_JAVASCRIPT],
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
export const DEFAULT_GIF_RESPONSE = {
|
|
22
|
+
content: 'GIF89a\x01\x00\x01\x00\x80\x00\x00ÿÿÿ\x00\x00\x00,\x00\x00\x00\x00\x01\x00\x01\x00\x00\x02\x02D\x01\x00;',
|
|
23
|
+
options: {
|
|
24
|
+
status: 200,
|
|
25
|
+
headers: {
|
|
26
|
+
[CONTENT_TYPE_HEADER_NAME]: [ContentType.IMAGE_GIF],
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Action } from '../../action';
|
|
2
|
+
import { ActivityType, createAsyncActivity, ACTIVITIES_ENDPOINT } from '../../activities';
|
|
3
|
+
import { CredentialEndpoint, CredentialEndpointManager, CredentialExtractorFactory, CredentialIntelligenceEndpointMatcherFactory, CredentialIntelligenceHashProtocolFactory, LoginSuccessfulParserFactory, } from './endpoint';
|
|
4
|
+
import { ADDITIONAL_S2S_ACTIVITY_HEADER_NAME, ADDITIONAL_S2S_URL_HEADER_NAME, COMPROMISED_CREDENTIALS_HEADER_VALUE, } from './constants';
|
|
5
|
+
export class CredentialIntelligence {
|
|
6
|
+
config;
|
|
7
|
+
endpointManager;
|
|
8
|
+
constructor(config, hashUtils) {
|
|
9
|
+
this.config = config;
|
|
10
|
+
this.endpointManager = new CredentialEndpointManager(this.initializeCredentialIntelligenceEndpoints(config, hashUtils));
|
|
11
|
+
}
|
|
12
|
+
async enrichContextFromRequest(context) {
|
|
13
|
+
const endpointIndex = this.endpointManager.getEndpointIndex(context);
|
|
14
|
+
if (endpointIndex === -1) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
const data = await this.endpointManager.getCredentialsData(endpointIndex, context);
|
|
18
|
+
if (!data) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return { ...data, endpointIndex, action: Action.TRIGGER_RISK_API, reason: 'sensitive_route' };
|
|
22
|
+
}
|
|
23
|
+
async enrichContextFromRiskApi(context) {
|
|
24
|
+
if (!context.productData.ci) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const isCompromised = !!context.riskApiData.riskResponse?.dataEnrichment?.breached_account;
|
|
28
|
+
return { action: undefined, reason: undefined, isCompromised };
|
|
29
|
+
}
|
|
30
|
+
async modifyIncomingRequest(context) {
|
|
31
|
+
if (!context.productData.ci) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const { productData: { ci: { isCompromised }, }, requestData: { request }, } = context;
|
|
35
|
+
if (isCompromised) {
|
|
36
|
+
this.setCompromisedCredentialHeader(request);
|
|
37
|
+
}
|
|
38
|
+
if (this.shouldSetAdditionalS2SActivityHeaders()) {
|
|
39
|
+
this.setAdditionalS2SActivityHeaders(request, context);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
async enrichContextFromResponse(context) {
|
|
43
|
+
if (!context.productData.ci) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
return { isLoginSuccessful: await this.isLoginSuccessful(context) };
|
|
47
|
+
}
|
|
48
|
+
async modifyOutgoingResponse(context) {
|
|
49
|
+
// intentionally left blank
|
|
50
|
+
}
|
|
51
|
+
async isLoginSuccessful(context) {
|
|
52
|
+
const { endpointIndex } = context.productData.ci;
|
|
53
|
+
return await this.endpointManager.isLoginSuccessful(endpointIndex, context);
|
|
54
|
+
}
|
|
55
|
+
setCompromisedCredentialHeader(request) {
|
|
56
|
+
request.headers.set(this.config.ciCompromisedCredentialsHeaderName, COMPROMISED_CREDENTIALS_HEADER_VALUE);
|
|
57
|
+
}
|
|
58
|
+
shouldSetAdditionalS2SActivityHeaders() {
|
|
59
|
+
return !this.config.ciAutomaticAdditionalS2SEnabled && this.config.ciAdditionalS2SHeaderEnabled;
|
|
60
|
+
}
|
|
61
|
+
setAdditionalS2SActivityHeaders(request, context) {
|
|
62
|
+
const activity = createAsyncActivity(ActivityType.ADDITIONAL_S2S, this.config, context);
|
|
63
|
+
request.headers.set(ADDITIONAL_S2S_ACTIVITY_HEADER_NAME, JSON.stringify(activity));
|
|
64
|
+
request.headers.set(ADDITIONAL_S2S_URL_HEADER_NAME, `${this.config.backendCollectorUrl}${ACTIVITIES_ENDPOINT}`);
|
|
65
|
+
}
|
|
66
|
+
initializeCredentialIntelligenceEndpoints(config, hashUtils) {
|
|
67
|
+
return config.ciEndpoints.map((endpointConfig) => {
|
|
68
|
+
const matcher = CredentialIntelligenceEndpointMatcherFactory.create(endpointConfig);
|
|
69
|
+
const extractor = CredentialExtractorFactory.create(endpointConfig);
|
|
70
|
+
const protocol = CredentialIntelligenceHashProtocolFactory.create((endpointConfig.protocol ?? config.ciDefaultVersion), hashUtils);
|
|
71
|
+
const loginSuccessfulParser = LoginSuccessfulParserFactory.create(config, endpointConfig);
|
|
72
|
+
return new CredentialEndpoint(config, matcher, extractor, protocol, loginSuccessfulParser);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export class CredentialEndpoint {
|
|
2
|
+
config;
|
|
3
|
+
matcher;
|
|
4
|
+
extractor;
|
|
5
|
+
protocol;
|
|
6
|
+
loginSuccessfulParser;
|
|
7
|
+
constructor(config, matcher, extractor, protocol, loginSuccessfulParser) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.matcher = matcher;
|
|
10
|
+
this.extractor = extractor;
|
|
11
|
+
this.protocol = protocol;
|
|
12
|
+
this.loginSuccessfulParser = loginSuccessfulParser;
|
|
13
|
+
}
|
|
14
|
+
matches(requestData) {
|
|
15
|
+
return this.matcher.matches(requestData);
|
|
16
|
+
}
|
|
17
|
+
async getCredentialData(request) {
|
|
18
|
+
const credentials = await this.extractor.extractCredentials(request);
|
|
19
|
+
if (!credentials?.user && !credentials?.pass) {
|
|
20
|
+
this.config.logger.debug('unable to extract credentials');
|
|
21
|
+
return null;
|
|
22
|
+
}
|
|
23
|
+
this.config.logger.debug(`successfully extracted credentials`);
|
|
24
|
+
return await this.protocol.hashCredentials(credentials);
|
|
25
|
+
}
|
|
26
|
+
async isLoginSuccessful(response) {
|
|
27
|
+
return this.loginSuccessfulParser.isLoginSuccessful(response);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class CredentialEndpointManager {
|
|
2
|
+
config;
|
|
3
|
+
endpoints;
|
|
4
|
+
constructor(endpoints) {
|
|
5
|
+
this.endpoints = endpoints;
|
|
6
|
+
}
|
|
7
|
+
getEndpointIndex({ requestData }) {
|
|
8
|
+
return this.endpoints.findIndex((endpoint) => endpoint.matches(requestData));
|
|
9
|
+
}
|
|
10
|
+
async getCredentialsData(endpointIndex, { requestData }) {
|
|
11
|
+
return await this.endpoints[endpointIndex]?.getCredentialData(requestData.request);
|
|
12
|
+
}
|
|
13
|
+
async isLoginSuccessful(endpointIndex, { response }) {
|
|
14
|
+
if (!response) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
return await this.endpoints[endpointIndex]?.isLoginSuccessful(response);
|
|
18
|
+
}
|
|
19
|
+
}
|
package/lib/esm/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.js
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { CONTENT_TYPE_HEADER_NAME, ContentType } from '../../../../http';
|
|
2
|
+
import { getPropertyFromObject } from '../../../../utils';
|
|
3
|
+
export class BodyCredentialExtractor {
|
|
4
|
+
userField;
|
|
5
|
+
passField;
|
|
6
|
+
constructor(userField, passField) {
|
|
7
|
+
this.userField = userField;
|
|
8
|
+
this.passField = passField;
|
|
9
|
+
}
|
|
10
|
+
async extractCredentials(request) {
|
|
11
|
+
try {
|
|
12
|
+
const contentType = request.headers.get(CONTENT_TYPE_HEADER_NAME);
|
|
13
|
+
const credentials = await this.extractFromBody(contentType, request);
|
|
14
|
+
return typeof credentials?.user === 'string' || typeof credentials?.pass === 'string' ? credentials : null;
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async extractFromBody(contentType, request) {
|
|
21
|
+
if (contentType.includes('json')) {
|
|
22
|
+
return this.extractFromJson(await request.json());
|
|
23
|
+
}
|
|
24
|
+
else if (contentType.includes(ContentType.APPLICATION_X_WWW_FORM_URL_ENCODED)) {
|
|
25
|
+
return this.extractFromUrlEncoded(await request.formUrlEncoded());
|
|
26
|
+
}
|
|
27
|
+
else if (contentType.includes(ContentType.MULTIPART_FORM_DATA)) {
|
|
28
|
+
return this.extractFromMultipart(await request.formData());
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
extractFromJson(json) {
|
|
33
|
+
if (!json) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
const user = getPropertyFromObject(json, ...this.userField.split('.'));
|
|
37
|
+
const pass = getPropertyFromObject(json, ...this.passField.split('.'));
|
|
38
|
+
return { user, pass };
|
|
39
|
+
}
|
|
40
|
+
extractFromUrlEncoded(params) {
|
|
41
|
+
const user = params.get(this.userField);
|
|
42
|
+
const pass = params.get(this.passField);
|
|
43
|
+
return { user, pass };
|
|
44
|
+
}
|
|
45
|
+
extractFromMultipart(formData) {
|
|
46
|
+
const user = this.formDataEntryValueToString(formData.get(this.userField));
|
|
47
|
+
const pass = this.formDataEntryValueToString(formData.get(this.passField));
|
|
48
|
+
return { user, pass };
|
|
49
|
+
}
|
|
50
|
+
formDataEntryValueToString(entry) {
|
|
51
|
+
return typeof entry === 'string' ? entry : null;
|
|
52
|
+
}
|
|
53
|
+
}
|
package/lib/esm/products/credential_intelligence/endpoint/extractor/CustomCredentialExtractor.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export class CustomCredentialExtractor {
|
|
2
|
+
callback;
|
|
3
|
+
constructor(callback) {
|
|
4
|
+
this.callback = callback;
|
|
5
|
+
}
|
|
6
|
+
async extractCredentials(request) {
|
|
7
|
+
try {
|
|
8
|
+
return await this.callback(request.getUnderlyingRequest());
|
|
9
|
+
}
|
|
10
|
+
catch (e) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
package/lib/esm/products/credential_intelligence/endpoint/extractor/HeaderCredentialExtractor.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class HeaderCredentialExtractor {
|
|
2
|
+
userField;
|
|
3
|
+
passField;
|
|
4
|
+
constructor(userField, passField) {
|
|
5
|
+
this.userField = userField;
|
|
6
|
+
this.passField = passField;
|
|
7
|
+
}
|
|
8
|
+
extractCredentials(request) {
|
|
9
|
+
const user = request.headers.get(this.userField);
|
|
10
|
+
const pass = request.headers.get(this.passField);
|
|
11
|
+
return typeof user === 'string' || typeof pass === 'string' ? { user, pass } : null;
|
|
12
|
+
}
|
|
13
|
+
}
|
package/lib/esm/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { URLUtils } from '../../../../http';
|
|
2
|
+
export class QueryParamCredentialExtractor {
|
|
3
|
+
userField;
|
|
4
|
+
passField;
|
|
5
|
+
constructor(userField, passField) {
|
|
6
|
+
this.userField = userField;
|
|
7
|
+
this.passField = passField;
|
|
8
|
+
}
|
|
9
|
+
async extractCredentials(request) {
|
|
10
|
+
const { searchParams } = URLUtils.parseURL(request.url);
|
|
11
|
+
if (!searchParams) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
const user = searchParams.get(this.userField);
|
|
15
|
+
const pass = searchParams.get(this.passField);
|
|
16
|
+
return typeof user === 'string' || typeof pass === 'string' ? { user, pass } : null;
|
|
17
|
+
}
|
|
18
|
+
}
|
package/lib/esm/products/credential_intelligence/endpoint/hash_protocol/MultistepHashProtocol.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Algorithm } from '../../../../utils';
|
|
2
|
+
import { SsoStep } from './SsoStep';
|
|
3
|
+
import { CredentialIntelligenceVersion } from './CredentialIntelligenceVersion';
|
|
4
|
+
export class MultistepHashProtocol {
|
|
5
|
+
hashUtils;
|
|
6
|
+
constructor(hashUtils) {
|
|
7
|
+
this.hashUtils = hashUtils;
|
|
8
|
+
}
|
|
9
|
+
async hashCredentials({ user, pass }) {
|
|
10
|
+
const rawUsername = user ?? null;
|
|
11
|
+
const hashedPassword = typeof pass === 'string' ? await this.hashUtils.hashString(pass, Algorithm.SHA256) : null;
|
|
12
|
+
return {
|
|
13
|
+
rawUsername,
|
|
14
|
+
hashedUsername: rawUsername,
|
|
15
|
+
hashedPassword,
|
|
16
|
+
ciVersion: CredentialIntelligenceVersion.MULTI_STEP,
|
|
17
|
+
ssoStep: user ? SsoStep.USER : SsoStep.PASS,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class SingleStepAndMultistepHashProtocol {
|
|
2
|
+
singleStepHashProtocol;
|
|
3
|
+
multistepHashProtocol;
|
|
4
|
+
constructor(singleStepHashProtocol, multistepHashProtocol) {
|
|
5
|
+
this.singleStepHashProtocol = singleStepHashProtocol;
|
|
6
|
+
this.multistepHashProtocol = multistepHashProtocol;
|
|
7
|
+
}
|
|
8
|
+
async hashCredentials(credentials) {
|
|
9
|
+
if (credentials.user && credentials.pass) {
|
|
10
|
+
return this.singleStepHashProtocol.hashCredentials(credentials);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
return this.multistepHashProtocol.hashCredentials(credentials);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
package/lib/esm/products/credential_intelligence/endpoint/hash_protocol/SingleStepHashProtocol.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Algorithm, isEmailAddress } from '../../../../utils';
|
|
2
|
+
import { CredentialIntelligenceVersion } from './CredentialIntelligenceVersion';
|
|
3
|
+
export class SingleStepHashProtocol {
|
|
4
|
+
hashUtils;
|
|
5
|
+
constructor(hashUtils) {
|
|
6
|
+
this.hashUtils = hashUtils;
|
|
7
|
+
}
|
|
8
|
+
async hashCredentials({ user, pass }) {
|
|
9
|
+
const normalizedUsername = isEmailAddress(user) ? this.normalizeEmailAddress(user) : user;
|
|
10
|
+
const hashedUsername = await this.sha256(normalizedUsername);
|
|
11
|
+
const hashedPassword = await this.sha256(hashedUsername + (await this.sha256(pass)));
|
|
12
|
+
return {
|
|
13
|
+
ciVersion: CredentialIntelligenceVersion.SINGLE_STEP,
|
|
14
|
+
rawUsername: user,
|
|
15
|
+
hashedUsername,
|
|
16
|
+
hashedPassword,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
normalizeEmailAddress(emailAddress) {
|
|
20
|
+
const lowercaseEmail = emailAddress.trim().toLowerCase();
|
|
21
|
+
const atIndex = lowercaseEmail.indexOf('@');
|
|
22
|
+
const domain = lowercaseEmail.substring(atIndex);
|
|
23
|
+
let normalizedUsername = lowercaseEmail.substring(0, atIndex);
|
|
24
|
+
const plusIndex = normalizedUsername.indexOf('+');
|
|
25
|
+
if (plusIndex > -1) {
|
|
26
|
+
normalizedUsername = normalizedUsername.substring(0, plusIndex);
|
|
27
|
+
}
|
|
28
|
+
const GMAIL_DOMAIN = '@gmail.com';
|
|
29
|
+
if (domain === GMAIL_DOMAIN) {
|
|
30
|
+
normalizedUsername = normalizedUsername.replace('.', '');
|
|
31
|
+
}
|
|
32
|
+
return `${normalizedUsername}${domain}`;
|
|
33
|
+
}
|
|
34
|
+
async sha256(text) {
|
|
35
|
+
return await this.hashUtils.hashString(text, Algorithm.SHA256);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export class BodyLoginSuccessfulParser {
|
|
2
|
+
bodyRegex;
|
|
3
|
+
constructor(regex) {
|
|
4
|
+
this.bodyRegex = new RegExp(regex);
|
|
5
|
+
}
|
|
6
|
+
async isLoginSuccessful(response) {
|
|
7
|
+
// TODO: Possibly add IBody methods to IOutgoingResponse interface?
|
|
8
|
+
return this.bodyRegex.test(response.body);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class CustomLoginSuccessfulParser {
|
|
2
|
+
callback;
|
|
3
|
+
constructor(callback) {
|
|
4
|
+
this.callback = callback;
|
|
5
|
+
}
|
|
6
|
+
async isLoginSuccessful(response) {
|
|
7
|
+
try {
|
|
8
|
+
const retVal = await this.callback(response.getUnderlyingResponse());
|
|
9
|
+
return typeof retVal === 'boolean' ? retVal : null;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
// We cannot say definitively if the login was successful or not here
|
|
13
|
+
return null;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export class HeaderLoginSuccessfulParser {
|
|
2
|
+
headerName;
|
|
3
|
+
headerValue;
|
|
4
|
+
constructor(headerName, headerValue) {
|
|
5
|
+
this.headerName = headerName;
|
|
6
|
+
this.headerValue = headerValue || null;
|
|
7
|
+
}
|
|
8
|
+
async isLoginSuccessful(response) {
|
|
9
|
+
if (this.headerValue) {
|
|
10
|
+
return response.headers.get(this.headerName) === this.headerValue;
|
|
11
|
+
}
|
|
12
|
+
return response.headers.has(this.headerName);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LoginSuccessfulReportingMethod } from './LoginSuccessfulReportingMethod';
|
|
2
|
+
import { BodyLoginSuccessfulParser } from './BodyLoginSuccessfulParser';
|
|
3
|
+
import { CustomLoginSuccessfulParser } from './CustomLoginSuccessfulParser';
|
|
4
|
+
import { HeaderLoginSuccessfulParser } from './HeaderLoginSuccessfulParser';
|
|
5
|
+
import { StatusLoginSuccessfulParser } from './StatusLoginSuccessfulParser';
|
|
6
|
+
import { EnforcerError } from '../../../../utils';
|
|
7
|
+
export class LoginSuccessfulParserFactory {
|
|
8
|
+
static create(config, endpointConfig) {
|
|
9
|
+
const { ciDefaultLoginSuccessfulReportingMethod, ciDefaultLoginSuccessfulBodyRegex, ciDefaultLoginSuccessfulStatus, ciDefaultLoginSuccessfulCustomCallback, ciDefaultLoginSuccessfulHeaderName, ciDefaultLoginSuccessfulHeaderValue, } = config;
|
|
10
|
+
const { login_successful_reporting_method, login_successful_callback, login_successful_statuses, login_successful_body_regex, login_successful_header_name, login_successful_header_value, } = endpointConfig;
|
|
11
|
+
const reportingMethod = login_successful_reporting_method ??
|
|
12
|
+
ciDefaultLoginSuccessfulReportingMethod ??
|
|
13
|
+
LoginSuccessfulReportingMethod.STATUS;
|
|
14
|
+
switch (reportingMethod) {
|
|
15
|
+
case LoginSuccessfulReportingMethod.BODY:
|
|
16
|
+
return new BodyLoginSuccessfulParser(login_successful_body_regex ?? ciDefaultLoginSuccessfulBodyRegex);
|
|
17
|
+
case LoginSuccessfulReportingMethod.CUSTOM:
|
|
18
|
+
return new CustomLoginSuccessfulParser(login_successful_callback ?? ciDefaultLoginSuccessfulCustomCallback);
|
|
19
|
+
case LoginSuccessfulReportingMethod.HEADER:
|
|
20
|
+
return new HeaderLoginSuccessfulParser(login_successful_header_name ?? ciDefaultLoginSuccessfulHeaderName, login_successful_header_value ?? ciDefaultLoginSuccessfulHeaderValue);
|
|
21
|
+
case LoginSuccessfulReportingMethod.STATUS:
|
|
22
|
+
return new StatusLoginSuccessfulParser(login_successful_statuses ?? ciDefaultLoginSuccessfulStatus);
|
|
23
|
+
default:
|
|
24
|
+
throw new EnforcerError('unknown login successful reporting method defined');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|