perimeterx-js-core 0.5.1 → 0.6.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/README.md +20 -15
- package/lib/action/Action.d.ts +6 -0
- package/lib/action/Action.js +7 -0
- package/lib/action/ActionData.d.ts +11 -0
- package/lib/action/ActionData.js +1 -0
- package/lib/action/ActionPriorityOrder.d.ts +2 -0
- package/lib/action/ActionPriorityOrder.js +7 -0
- package/lib/action/Decision.d.ts +6 -0
- package/lib/action/Decision.js +1 -0
- package/lib/action/index.d.ts +4 -0
- package/lib/action/index.js +4 -0
- package/lib/activities/ActivityType.js +2 -5
- package/lib/activities/HttpActivityClient.d.ts +7 -7
- package/lib/activities/HttpActivityClient.js +46 -95
- package/lib/activities/HttpBatchedActivityClient.d.ts +2 -2
- package/lib/activities/HttpBatchedActivityClient.js +46 -115
- package/lib/activities/IActivityClient.d.ts +3 -3
- package/lib/activities/IActivityClient.js +1 -2
- package/lib/activities/constants.js +1 -4
- package/lib/activities/index.d.ts +7 -6
- package/lib/activities/index.js +7 -9
- package/lib/activities/model/Activity.js +1 -2
- package/lib/activities/model/ActivityDetails.d.ts +9 -7
- package/lib/activities/model/ActivityDetails.js +1 -2
- package/lib/activities/model/index.d.ts +2 -0
- package/lib/activities/model/index.js +2 -0
- package/lib/activities/utils.d.ts +11 -8
- package/lib/activities/utils.js +65 -43
- package/lib/additional_activity_handler/AdditionalActivityHandler.d.ts +2 -2
- package/lib/additional_activity_handler/AdditionalActivityHandler.js +1 -2
- package/lib/additional_activity_handler/AdditionalActivityHandlerUtils.d.ts +2 -2
- package/lib/additional_activity_handler/AdditionalActivityHandlerUtils.js +11 -53
- package/lib/additional_activity_handler/index.d.ts +2 -2
- package/lib/additional_activity_handler/index.js +2 -5
- package/lib/{block_handler → blocker}/BlockAction.d.ts +0 -1
- package/lib/blocker/BlockAction.js +6 -0
- package/lib/blocker/BlockActionToProductMap.d.ts +3 -0
- package/lib/blocker/BlockActionToProductMap.js +7 -0
- package/lib/blocker/BlockActionToWordMap.d.ts +2 -0
- package/lib/blocker/BlockActionToWordMap.js +6 -0
- package/lib/blocker/IBlocker.d.ts +5 -0
- package/lib/blocker/IBlocker.js +1 -0
- package/lib/blocker/IConditionalBlocker.d.ts +9 -0
- package/lib/blocker/IConditionalBlocker.js +1 -0
- package/lib/blocker/index.d.ts +5 -0
- package/lib/blocker/index.js +5 -0
- package/lib/config/ConfigurationParams.d.ts +20 -12
- package/lib/config/ConfigurationParams.js +1 -2
- package/lib/config/DefaultConfigurations.d.ts +1 -1
- package/lib/config/DefaultConfigurations.js +15 -13
- package/lib/config/IConfiguration.d.ts +103 -10
- package/lib/config/IConfiguration.js +1 -2
- package/lib/config/StaticConfigurationBase.d.ts +29 -6
- package/lib/config/StaticConfigurationBase.js +244 -394
- package/lib/config/index.js +2 -7
- package/lib/context/DefaultContext.d.ts +46 -0
- package/lib/context/DefaultContext.js +82 -0
- package/lib/context/index.d.ts +2 -4
- package/lib/context/index.js +2 -20
- package/lib/context/interfaces/IContext.d.ts +111 -0
- package/lib/context/interfaces/IContext.js +1 -0
- package/lib/context/interfaces/MobileData.d.ts +23 -0
- package/lib/context/interfaces/MobileData.js +1 -0
- package/lib/context/interfaces/ReadonlyContext.d.ts +3 -0
- package/lib/context/interfaces/ReadonlyContext.js +1 -0
- package/lib/context/interfaces/RequestData.d.ts +41 -0
- package/lib/context/interfaces/RequestData.js +1 -0
- package/lib/context/interfaces/RiskApiData.d.ts +27 -0
- package/lib/context/interfaces/RiskApiData.js +1 -0
- package/lib/context/interfaces/ServerData.d.ts +18 -0
- package/lib/context/interfaces/ServerData.js +1 -0
- package/lib/context/interfaces/TlsData.d.ts +30 -0
- package/lib/context/interfaces/TlsData.js +1 -0
- package/lib/context/interfaces/TokenData.d.ts +16 -0
- package/lib/context/interfaces/TokenData.js +1 -0
- package/lib/context/interfaces/index.d.ts +8 -0
- package/lib/context/interfaces/index.js +8 -0
- package/lib/cors/CustomBlockResponseHeadersHandler.d.ts +2 -2
- package/lib/cors/CustomBlockResponseHeadersHandler.js +1 -2
- package/lib/cors/CustomPreflightHandler.d.ts +2 -2
- package/lib/cors/CustomPreflightHandler.js +1 -2
- package/lib/cors/DefaultCors.d.ts +9 -9
- package/lib/cors/DefaultCors.js +39 -87
- package/lib/cors/ICors.d.ts +7 -7
- package/lib/cors/ICors.js +1 -2
- package/lib/cors/constants.js +2 -5
- package/lib/cors/index.js +2 -20
- package/lib/custom_parameters/CustomParameters.js +1 -2
- package/lib/custom_parameters/CustomParametersFunction.d.ts +1 -2
- package/lib/custom_parameters/CustomParametersFunction.js +1 -2
- package/lib/custom_parameters/CustomParametersUtils.d.ts +2 -2
- package/lib/custom_parameters/CustomParametersUtils.js +18 -60
- package/lib/custom_parameters/index.js +1 -5
- package/lib/enforcer/EnforcerBase.d.ts +43 -85
- package/lib/enforcer/EnforcerBase.js +120 -411
- package/lib/enforcer/IEnforcer.js +1 -2
- package/lib/enforcer/index.d.ts +2 -1
- package/lib/enforcer/index.js +2 -5
- package/lib/enforcer/options/EnforcerBaseOptions.d.ts +25 -0
- package/lib/enforcer/options/EnforcerBaseOptions.js +1 -0
- package/lib/enforcer/options/EnforcerOptionsType.d.ts +4 -0
- package/lib/enforcer/options/EnforcerOptionsType.js +1 -0
- package/lib/enforcer/options/EnforcerV2Options.d.ts +5 -0
- package/lib/enforcer/options/EnforcerV2Options.js +1 -0
- package/lib/enforcer/options/EnforcerV3Options.d.ts +7 -0
- package/lib/enforcer/options/EnforcerV3Options.js +1 -0
- package/lib/enforcer/options/index.d.ts +4 -0
- package/lib/enforcer/options/index.js +4 -0
- package/lib/filter/FilterReason.d.ts +2 -1
- package/lib/filter/FilterReason.js +3 -5
- package/lib/filter/IFilter.d.ts +4 -4
- package/lib/filter/IFilter.js +1 -2
- package/lib/filter/index.d.ts +2 -3
- package/lib/filter/index.js +2 -7
- package/lib/first_party/FirstPartyData.d.ts +5 -0
- package/lib/first_party/FirstPartyData.js +1 -0
- package/lib/first_party/IFirstParty.d.ts +5 -5
- package/lib/first_party/IFirstParty.js +1 -2
- package/lib/first_party/index.d.ts +2 -4
- package/lib/first_party/index.js +2 -21
- package/lib/graphql/DefaultGraphQLParser.d.ts +6 -5
- package/lib/graphql/DefaultGraphQLParser.js +77 -133
- package/lib/graphql/IGraphQLParser.d.ts +5 -4
- package/lib/graphql/IGraphQLParser.js +1 -2
- package/lib/graphql/index.d.ts +3 -5
- package/lib/graphql/index.js +3 -7
- package/lib/graphql/model/GraphQLData.js +1 -2
- package/lib/graphql/model/GraphQLOperation.js +1 -2
- package/lib/graphql/model/GraphQLOperationType.js +2 -5
- package/lib/graphql/model/index.d.ts +3 -0
- package/lib/graphql/model/index.js +3 -0
- package/lib/http/impl/FormDataImpl.d.ts +12 -0
- package/lib/http/impl/FormDataImpl.js +36 -0
- package/lib/http/impl/MinimalResponseImpl.d.ts +3 -3
- package/lib/http/impl/MinimalResponseImpl.js +3 -8
- package/lib/http/impl/OutgoingRequestImpl.d.ts +3 -3
- package/lib/http/impl/OutgoingRequestImpl.js +5 -10
- package/lib/http/impl/index.d.ts +1 -0
- package/lib/http/impl/index.js +4 -19
- package/lib/http/impl/phin/PhinHttpClient.js +30 -70
- package/lib/http/impl/phin/PhinIncomingResponse.d.ts +4 -5
- package/lib/http/impl/phin/PhinIncomingResponse.js +22 -70
- package/lib/http/impl/phin/index.js +2 -18
- package/lib/http/index.js +3 -19
- package/lib/http/interfaces/IBody.d.ts +10 -12
- package/lib/http/interfaces/IBody.js +1 -2
- package/lib/http/interfaces/IFormData.d.ts +9 -0
- package/lib/http/interfaces/IFormData.js +1 -0
- package/lib/http/interfaces/IHeaders.js +1 -2
- package/lib/http/interfaces/IHttpClient.js +1 -2
- package/lib/http/interfaces/IIncomingRequest.d.ts +10 -6
- package/lib/http/interfaces/IIncomingRequest.js +1 -2
- package/lib/http/interfaces/IIncomingResponse.d.ts +2 -2
- package/lib/http/interfaces/IIncomingResponse.js +1 -2
- package/lib/http/interfaces/IMinimalResponse.d.ts +2 -2
- package/lib/http/interfaces/IMinimalResponse.js +1 -2
- package/lib/http/interfaces/IOutgoingRequest.d.ts +2 -2
- package/lib/http/interfaces/IOutgoingRequest.js +1 -2
- package/lib/http/interfaces/IOutgoingResponse.d.ts +5 -1
- package/lib/http/interfaces/IOutgoingResponse.js +1 -2
- package/lib/http/interfaces/IURL.d.ts +6 -0
- package/lib/http/interfaces/IURL.js +1 -0
- package/lib/http/interfaces/ReadonlyHeaders.d.ts +6 -0
- package/lib/http/interfaces/ReadonlyHeaders.js +14 -0
- package/lib/http/interfaces/index.d.ts +3 -1
- package/lib/http/interfaces/index.js +11 -25
- package/lib/http/utils/ContentType.js +2 -5
- package/lib/http/utils/HttpMethod.js +2 -5
- package/lib/http/utils/MinimalResponseUtils.d.ts +6 -6
- package/lib/http/utils/MinimalResponseUtils.js +31 -48
- package/lib/http/utils/MultipartFormDataUtils.d.ts +6 -0
- package/lib/http/utils/MultipartFormDataUtils.js +45 -0
- package/lib/http/utils/constants.js +9 -12
- package/lib/http/utils/index.d.ts +3 -1
- package/lib/http/utils/index.js +5 -21
- package/lib/index.d.ts +4 -1
- package/lib/index.js +22 -35
- package/lib/logger/DefaultLogger.js +7 -28
- package/lib/logger/ILogger.js +1 -2
- package/lib/logger/LoggerBase.d.ts +2 -0
- package/lib/logger/LoggerBase.js +24 -22
- package/lib/logger/LoggerSeverity.js +2 -5
- package/lib/logger/index.js +3 -9
- package/lib/phase/IPhase.d.ts +5 -0
- package/lib/phase/IPhase.js +1 -0
- package/lib/phase/PhaseResult.d.ts +5 -0
- package/lib/phase/PhaseResult.js +1 -0
- package/lib/phase/flow/EnforceFlow.d.ts +6 -0
- package/lib/phase/flow/EnforceFlow.js +15 -0
- package/lib/phase/flow/FilterFlow.d.ts +6 -0
- package/lib/phase/flow/FilterFlow.js +12 -0
- package/lib/phase/flow/PostEnforceFlow.d.ts +6 -0
- package/lib/phase/flow/PostEnforceFlow.js +10 -0
- package/lib/phase/flow/index.d.ts +3 -0
- package/lib/phase/flow/index.js +3 -0
- package/lib/phase/impl/AdditionalActivityHandlerPhase.d.ts +9 -0
- package/lib/phase/impl/AdditionalActivityHandlerPhase.js +22 -0
- package/lib/phase/impl/CompositePhase.d.ts +8 -0
- package/lib/phase/impl/CompositePhase.js +26 -0
- package/lib/phase/impl/CreateBlockResponsePhase.d.ts +17 -0
- package/lib/phase/impl/CreateBlockResponsePhase.js +60 -0
- package/lib/phase/impl/DecideActionPhase.d.ts +19 -0
- package/lib/phase/impl/DecideActionPhase.js +56 -0
- package/lib/phase/impl/EnrichContextFromRequestPhase.d.ts +18 -0
- package/lib/phase/impl/EnrichContextFromRequestPhase.js +59 -0
- package/lib/phase/impl/EnrichContextFromResponsePhase.d.ts +10 -0
- package/lib/phase/impl/EnrichContextFromResponsePhase.js +29 -0
- package/lib/phase/impl/FilterPhase.d.ts +9 -0
- package/lib/phase/impl/FilterPhase.js +19 -0
- package/lib/phase/impl/FirstPartyPhase.d.ts +12 -0
- package/lib/phase/impl/FirstPartyPhase.js +42 -0
- package/lib/phase/impl/ModifyIncomingRequestPhase.d.ts +9 -0
- package/lib/phase/impl/ModifyIncomingRequestPhase.js +20 -0
- package/lib/phase/impl/ModifyOutgoingResponsePhase.d.ts +9 -0
- package/lib/phase/impl/ModifyOutgoingResponsePhase.js +25 -0
- package/lib/phase/impl/ParseTokenPhase.d.ts +10 -0
- package/lib/phase/impl/ParseTokenPhase.js +37 -0
- package/lib/phase/impl/PreflightPhase.d.ts +12 -0
- package/lib/phase/impl/PreflightPhase.js +28 -0
- package/lib/phase/impl/RiskApiPhase.d.ts +17 -0
- package/lib/phase/impl/RiskApiPhase.js +76 -0
- package/lib/phase/impl/SendAsyncActivitiesOnRequestPhase.d.ts +10 -0
- package/lib/phase/impl/SendAsyncActivitiesOnRequestPhase.js +28 -0
- package/lib/phase/impl/SendAsyncActivitiesOnResponsePhase.d.ts +9 -0
- package/lib/phase/impl/SendAsyncActivitiesOnResponsePhase.js +20 -0
- package/lib/phase/impl/TelemetryPhase.d.ts +10 -0
- package/lib/phase/impl/TelemetryPhase.js +29 -0
- package/lib/phase/impl/index.d.ts +16 -0
- package/lib/phase/impl/index.js +16 -0
- package/lib/phase/index.d.ts +4 -0
- package/lib/phase/index.js +4 -0
- package/lib/products/account_defender/AccountDefender.d.ts +23 -0
- package/lib/products/account_defender/AccountDefender.js +98 -0
- package/lib/products/account_defender/AccountDefenderData.d.ts +6 -0
- package/lib/products/account_defender/AccountDefenderData.js +1 -0
- package/lib/products/account_defender/IAccountDefender.d.ts +4 -0
- package/lib/products/account_defender/IAccountDefender.js +1 -0
- package/lib/products/account_defender/JwtData.d.ts +4 -0
- package/lib/products/account_defender/JwtData.js +1 -0
- package/lib/products/account_defender/constants.d.ts +1 -0
- package/lib/products/account_defender/constants.js +1 -0
- package/lib/products/account_defender/index.d.ts +5 -0
- package/lib/products/account_defender/index.js +5 -0
- package/lib/products/bot_defender/BotDefender.d.ts +47 -0
- package/lib/products/bot_defender/BotDefender.js +135 -0
- package/lib/products/bot_defender/BotDefenderActionData.d.ts +7 -0
- package/lib/products/bot_defender/BotDefenderActionData.js +6 -0
- package/lib/products/bot_defender/BotDefenderData.d.ts +13 -0
- package/lib/products/bot_defender/BotDefenderData.js +1 -0
- package/lib/products/bot_defender/BotDefenderUtils.d.ts +5 -0
- package/lib/products/bot_defender/BotDefenderUtils.js +19 -0
- package/lib/products/bot_defender/IBotDefender.d.ts +7 -0
- package/lib/products/bot_defender/IBotDefender.js +1 -0
- package/lib/products/bot_defender/block/DefaultBotDefenderBlocker.d.ts +14 -0
- package/lib/products/bot_defender/block/DefaultBotDefenderBlocker.js +39 -0
- package/lib/products/bot_defender/block/captcha/CaptchaBlocker.d.ts +13 -0
- package/lib/products/bot_defender/block/captcha/CaptchaBlocker.js +20 -0
- package/lib/products/bot_defender/block/captcha/HtmlCaptchaBlocker.d.ts +9 -0
- package/lib/products/bot_defender/block/captcha/HtmlCaptchaBlocker.js +20 -0
- package/lib/products/bot_defender/block/captcha/JsonCaptchaBlocker.d.ts +10 -0
- package/lib/products/bot_defender/block/captcha/JsonCaptchaBlocker.js +38 -0
- package/lib/products/bot_defender/block/captcha/MobileCaptchaBlocker.d.ts +12 -0
- package/lib/products/bot_defender/block/captcha/MobileCaptchaBlocker.js +34 -0
- package/lib/products/bot_defender/block/captcha/index.d.ts +4 -0
- package/lib/products/bot_defender/block/captcha/index.js +4 -0
- package/lib/products/bot_defender/block/index.d.ts +5 -0
- package/lib/products/bot_defender/block/index.js +5 -0
- package/lib/{block_handler → products/bot_defender/block}/model/BlockData.d.ts +1 -1
- package/lib/products/bot_defender/block/model/BlockData.js +1 -0
- package/lib/products/bot_defender/block/model/JsonBlockPayload.js +1 -0
- package/lib/products/bot_defender/block/model/MobileBlockPayload.js +1 -0
- package/lib/products/bot_defender/block/model/index.d.ts +3 -0
- package/lib/products/bot_defender/block/model/index.js +3 -0
- package/lib/products/bot_defender/block/templates/captcha_template.js +50 -0
- package/lib/products/bot_defender/block/templates/index.d.ts +2 -0
- package/lib/products/bot_defender/block/templates/index.js +2 -0
- package/lib/products/bot_defender/block/templates/rate_limit_template.js +10 -0
- package/lib/products/bot_defender/block/utils.d.ts +5 -0
- package/lib/products/bot_defender/block/utils.js +43 -0
- package/lib/products/bot_defender/filter/DefaultBotDefenderFilter.d.ts +16 -0
- package/lib/products/bot_defender/filter/DefaultBotDefenderFilter.js +51 -0
- package/lib/products/bot_defender/filter/index.d.ts +1 -0
- package/lib/products/bot_defender/filter/index.js +1 -0
- package/lib/products/bot_defender/first_party/DefaultBotDefenderFirstParty.d.ts +20 -0
- package/lib/products/bot_defender/first_party/DefaultBotDefenderFirstParty.js +129 -0
- package/lib/products/bot_defender/first_party/FirstPartySuffix.d.ts +5 -0
- package/lib/products/bot_defender/first_party/FirstPartySuffix.js +6 -0
- package/lib/{first_party → products/bot_defender/first_party}/constants.d.ts +5 -2
- package/lib/products/bot_defender/first_party/constants.js +36 -0
- package/lib/products/bot_defender/first_party/index.d.ts +4 -0
- package/lib/products/bot_defender/first_party/index.js +4 -0
- package/lib/products/bot_defender/first_party/utils.d.ts +11 -0
- package/lib/products/bot_defender/first_party/utils.js +46 -0
- package/lib/products/bot_defender/index.d.ts +9 -0
- package/lib/products/bot_defender/index.js +9 -0
- package/lib/{block_handler/BlockReason.d.ts → products/bot_defender/reasons/BotDefenderBlockReason.d.ts} +1 -1
- package/lib/products/bot_defender/reasons/BotDefenderBlockReason.js +5 -0
- package/lib/{utils/PassReason.d.ts → products/bot_defender/reasons/BotDefenderPassReason.d.ts} +1 -1
- package/lib/products/bot_defender/reasons/BotDefenderPassReason.js +7 -0
- package/lib/products/bot_defender/reasons/BotDefenderReasonType.d.ts +5 -0
- package/lib/products/bot_defender/reasons/BotDefenderReasonType.js +1 -0
- package/lib/{risk_api/S2SCallReason.d.ts → products/bot_defender/reasons/BotDefenderS2SCallReason.d.ts} +1 -1
- package/lib/products/bot_defender/reasons/BotDefenderS2SCallReason.js +13 -0
- package/lib/products/bot_defender/reasons/index.d.ts +4 -0
- package/lib/products/bot_defender/reasons/index.js +4 -0
- package/lib/products/credential_intelligence/CredentialIntelligence.d.ts +22 -0
- package/lib/products/credential_intelligence/CredentialIntelligence.js +96 -0
- package/lib/products/credential_intelligence/ICredentialIntelligence.d.ts +4 -0
- package/lib/products/credential_intelligence/ICredentialIntelligence.js +1 -0
- package/lib/products/credential_intelligence/constants.d.ts +4 -0
- package/lib/products/credential_intelligence/constants.js +4 -0
- package/lib/products/credential_intelligence/endpoint/CredentialEndpoint.d.ts +21 -0
- package/lib/products/credential_intelligence/endpoint/CredentialEndpoint.js +37 -0
- package/lib/products/credential_intelligence/endpoint/CredentialEndpointConfiguration.d.ts +74 -0
- package/lib/products/credential_intelligence/endpoint/CredentialEndpointConfiguration.js +1 -0
- package/lib/products/credential_intelligence/endpoint/CredentialEndpointManager.d.ts +12 -0
- package/lib/products/credential_intelligence/endpoint/CredentialEndpointManager.js +32 -0
- package/lib/products/credential_intelligence/endpoint/ICredentialEndpoint.d.ts +9 -0
- package/lib/products/credential_intelligence/endpoint/ICredentialEndpoint.js +1 -0
- package/lib/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.d.ts +15 -0
- package/lib/products/credential_intelligence/endpoint/extractor/BodyCredentialExtractor.js +64 -0
- package/lib/products/credential_intelligence/endpoint/extractor/CredentialExtractorFactory.d.ts +5 -0
- package/lib/products/credential_intelligence/endpoint/extractor/CredentialExtractorFactory.js +21 -0
- package/lib/products/credential_intelligence/endpoint/extractor/CustomCredentialExtractor.d.ts +9 -0
- package/lib/products/credential_intelligence/endpoint/extractor/CustomCredentialExtractor.js +24 -0
- package/lib/products/credential_intelligence/endpoint/extractor/HeaderCredentialExtractor.d.ts +10 -0
- package/lib/products/credential_intelligence/endpoint/extractor/HeaderCredentialExtractor.js +22 -0
- package/lib/products/credential_intelligence/endpoint/extractor/ICredentialExtractor.d.ts +6 -0
- package/lib/products/credential_intelligence/endpoint/extractor/ICredentialExtractor.js +1 -0
- package/lib/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.d.ts +10 -0
- package/lib/products/credential_intelligence/endpoint/extractor/QueryParamCredentialExtractor.js +23 -0
- package/lib/products/credential_intelligence/endpoint/extractor/SentThrough.d.ts +6 -0
- package/lib/products/credential_intelligence/endpoint/extractor/SentThrough.js +7 -0
- package/lib/products/credential_intelligence/endpoint/extractor/index.d.ts +5 -0
- package/lib/products/credential_intelligence/endpoint/extractor/index.js +5 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceHashProtocolFactory.d.ts +6 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceHashProtocolFactory.js +17 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceVersion.d.ts +5 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/CredentialIntelligenceVersion.js +6 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/ICredentialIntelligenceHashProtocol.d.ts +5 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/ICredentialIntelligenceHashProtocol.js +1 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/MultistepHashProtocol.d.ts +8 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/MultistepHashProtocol.js +30 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepAndMultistepHashProtocol.d.ts +8 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepAndMultistepHashProtocol.js +25 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepHashProtocol.d.ts +10 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/SingleStepHashProtocol.js +49 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/SsoStep.d.ts +4 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/SsoStep.js +5 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/index.d.ts +7 -0
- package/lib/products/credential_intelligence/endpoint/hash_protocol/index.js +7 -0
- package/lib/products/credential_intelligence/endpoint/index.d.ts +8 -0
- package/lib/products/credential_intelligence/endpoint/index.js +8 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/BodyLoginSuccessfulParser.d.ts +7 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/BodyLoginSuccessfulParser.js +20 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulCallback.d.ts +1 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulCallback.js +1 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulParser.d.ts +8 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/CustomLoginSuccessfulParser.js +26 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/HeaderLoginSuccessfulParser.d.ts +8 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/HeaderLoginSuccessfulParser.js +23 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/ILoginSuccessfulParser.d.ts +4 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/ILoginSuccessfulParser.js +1 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulParserFactory.d.ts +6 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulParserFactory.js +26 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulReportingMethod.d.ts +6 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/LoginSuccessfulReportingMethod.js +7 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/StatusLoginSuccessfulParser.d.ts +7 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/StatusLoginSuccessfulParser.js +19 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/index.d.ts +8 -0
- package/lib/products/credential_intelligence/endpoint/login_successful/index.js +8 -0
- package/lib/products/credential_intelligence/endpoint/matcher/CredentialIntelligenceEndpointMatcherFactory.d.ts +5 -0
- package/lib/products/credential_intelligence/endpoint/matcher/CredentialIntelligenceEndpointMatcherFactory.js +14 -0
- package/lib/products/credential_intelligence/endpoint/matcher/ExactPathEndpointMatcher.d.ts +10 -0
- package/lib/products/credential_intelligence/endpoint/matcher/ExactPathEndpointMatcher.js +9 -0
- package/lib/products/credential_intelligence/endpoint/matcher/ICredentialIntelligenceEndpointMatcher.d.ts +5 -0
- package/lib/products/credential_intelligence/endpoint/matcher/ICredentialIntelligenceEndpointMatcher.js +1 -0
- package/lib/products/credential_intelligence/endpoint/matcher/PathType.d.ts +4 -0
- package/lib/products/credential_intelligence/endpoint/matcher/PathType.js +5 -0
- package/lib/products/credential_intelligence/endpoint/matcher/RegexPathEndpointMatcher.d.ts +10 -0
- package/lib/products/credential_intelligence/endpoint/matcher/RegexPathEndpointMatcher.js +9 -0
- package/lib/products/credential_intelligence/endpoint/matcher/index.d.ts +5 -0
- package/lib/products/credential_intelligence/endpoint/matcher/index.js +5 -0
- package/lib/products/credential_intelligence/index.d.ts +5 -0
- package/lib/products/credential_intelligence/index.js +5 -0
- package/lib/products/credential_intelligence/model/CredentialData.d.ts +8 -0
- package/lib/products/credential_intelligence/model/CredentialData.js +1 -0
- package/lib/products/credential_intelligence/model/CredentialIntelligenceData.d.ts +7 -0
- package/lib/products/credential_intelligence/model/CredentialIntelligenceData.js +1 -0
- package/lib/products/credential_intelligence/model/Credentials.d.ts +4 -0
- package/lib/products/credential_intelligence/model/Credentials.js +1 -0
- package/lib/products/credential_intelligence/model/CustomExtractionCallback.d.ts +2 -0
- package/lib/products/credential_intelligence/model/CustomExtractionCallback.js +1 -0
- package/lib/products/credential_intelligence/model/index.d.ts +4 -0
- package/lib/products/credential_intelligence/model/index.js +4 -0
- package/lib/products/index.d.ts +5 -0
- package/lib/products/index.js +5 -0
- package/lib/products/interfaces/IProduct.d.ts +10 -0
- package/lib/products/interfaces/IProduct.js +1 -0
- package/lib/products/interfaces/ProductData.d.ts +5 -0
- package/lib/products/interfaces/ProductData.js +1 -0
- package/lib/products/interfaces/ProductDataType.d.ts +5 -0
- package/lib/products/interfaces/ProductDataType.js +1 -0
- package/lib/products/interfaces/ProductType.d.ts +5 -0
- package/lib/products/interfaces/ProductType.js +1 -0
- package/lib/products/interfaces/Products.d.ts +5 -0
- package/lib/products/interfaces/Products.js +1 -0
- package/lib/products/interfaces/index.d.ts +5 -0
- package/lib/products/interfaces/index.js +5 -0
- package/lib/products/utils/ProductName.d.ts +7 -0
- package/lib/products/utils/ProductName.js +8 -0
- package/lib/products/utils/ProductPriorityOrder.d.ts +2 -0
- package/lib/products/utils/ProductPriorityOrder.js +8 -0
- package/lib/products/utils/index.d.ts +3 -0
- package/lib/products/utils/index.js +3 -0
- package/lib/products/utils/utils.d.ts +5 -0
- package/lib/products/utils/utils.js +12 -0
- package/lib/pxde/DefaultDataEnrichment.d.ts +7 -6
- package/lib/pxde/DefaultDataEnrichment.js +57 -116
- package/lib/pxde/IDataEnrichment.d.ts +5 -4
- package/lib/pxde/IDataEnrichment.js +1 -2
- package/lib/pxde/constants.js +4 -7
- package/lib/pxde/index.d.ts +3 -3
- package/lib/pxde/index.js +4 -20
- package/lib/pxde/model/PXDE.js +1 -2
- package/lib/pxde/model/PxdeData.d.ts +5 -0
- package/lib/pxde/model/PxdeData.js +1 -0
- package/lib/pxde/model/index.d.ts +2 -0
- package/lib/pxde/model/index.js +2 -0
- package/lib/pxhd/PXHDUtils.d.ts +3 -4
- package/lib/pxhd/PXHDUtils.js +15 -26
- package/lib/pxhd/index.js +2 -20
- package/lib/pxhd/model/PXHD.js +1 -2
- package/lib/pxhd/model/PXHDSource.js +2 -5
- package/lib/pxhd/model/index.js +2 -18
- package/lib/risk_api/client/IRiskApiClient.d.ts +4 -0
- package/lib/risk_api/client/IRiskApiClient.js +1 -0
- package/lib/risk_api/client/PostRiskApiClientBase.d.ts +44 -0
- package/lib/risk_api/client/PostRiskApiClientBase.js +235 -0
- package/lib/risk_api/client/PostRiskApiClientV2.d.ts +8 -0
- package/lib/risk_api/client/PostRiskApiClientV2.js +10 -0
- package/lib/risk_api/client/PostRiskApiClientV3.d.ts +8 -0
- package/lib/risk_api/client/PostRiskApiClientV3.js +10 -0
- package/lib/risk_api/client/index.d.ts +4 -0
- package/lib/risk_api/client/index.js +4 -0
- package/lib/risk_api/constants.js +1 -4
- package/lib/risk_api/index.d.ts +3 -12
- package/lib/risk_api/index.js +4 -34
- package/lib/risk_api/model/RiskActivity.d.ts +6 -2
- package/lib/risk_api/model/RiskActivity.js +1 -2
- package/lib/risk_api/model/RiskApiCallResult.d.ts +6 -0
- package/lib/risk_api/model/RiskApiCallResult.js +7 -0
- package/lib/risk_api/model/RiskStatus.js +2 -5
- package/lib/risk_api/{S2SErrorReason.js → model/S2SErrorReason.js} +2 -5
- package/lib/risk_api/model/index.d.ts +4 -0
- package/lib/risk_api/model/index.js +4 -0
- package/lib/risk_api/risk_response/IRiskResponse.d.ts +15 -0
- package/lib/risk_api/risk_response/IRiskResponse.js +1 -0
- package/lib/risk_api/risk_response/RiskResponseBase.d.ts +22 -0
- package/lib/risk_api/risk_response/RiskResponseBase.js +54 -0
- package/lib/risk_api/risk_response/RiskResponsePayloadType.d.ts +4 -0
- package/lib/risk_api/risk_response/RiskResponsePayloadType.js +1 -0
- package/lib/risk_api/risk_response/index.d.ts +4 -0
- package/lib/risk_api/risk_response/index.js +4 -0
- package/lib/risk_api/risk_response/v2/DefaultRiskResponseV2.d.ts +8 -0
- package/lib/risk_api/risk_response/v2/DefaultRiskResponseV2.js +18 -0
- package/lib/risk_api/{model/RiskResponseV2.d.ts → risk_response/v2/RiskResponseV2Payload.d.ts} +4 -4
- package/lib/risk_api/risk_response/v2/RiskResponseV2Payload.js +1 -0
- package/lib/risk_api/risk_response/v2/index.d.ts +2 -0
- package/lib/risk_api/risk_response/v2/index.js +2 -0
- package/lib/risk_api/risk_response/v3/DefaultRiskResponseV3.d.ts +8 -0
- package/lib/risk_api/risk_response/v3/DefaultRiskResponseV3.js +14 -0
- package/lib/risk_api/{model/RiskResponseV3.d.ts → risk_response/v3/RiskResponseV3Payload.d.ts} +4 -4
- package/lib/risk_api/risk_response/v3/RiskResponseV3Payload.js +1 -0
- package/lib/risk_api/risk_response/v3/index.d.ts +2 -0
- package/lib/risk_api/risk_response/v3/index.js +2 -0
- package/lib/risk_token/MobileError.js +2 -5
- package/lib/risk_token/TokenOrigin.js +2 -5
- package/lib/risk_token/{TokenVerificationResult.d.ts → TokenParseResult.d.ts} +2 -2
- package/lib/risk_token/TokenParseResult.js +7 -0
- package/lib/risk_token/TokenVersion.js +2 -5
- package/lib/risk_token/constants.js +9 -12
- package/lib/risk_token/index.d.ts +2 -3
- package/lib/risk_token/index.js +8 -32
- package/lib/risk_token/parser/DefaultTokenV2Parser.d.ts +13 -0
- package/lib/risk_token/parser/DefaultTokenV2Parser.js +14 -0
- package/lib/risk_token/parser/DefaultTokenV3Parser.d.ts +13 -0
- package/lib/risk_token/parser/DefaultTokenV3Parser.js +14 -0
- package/lib/risk_token/parser/ITokenParser.d.ts +4 -0
- package/lib/risk_token/parser/ITokenParser.js +1 -0
- package/lib/risk_token/parser/TokenParserBase.d.ts +19 -0
- package/lib/risk_token/parser/TokenParserBase.js +94 -0
- package/lib/risk_token/parser/TokenParserOptions.d.ts +4 -0
- package/lib/risk_token/parser/TokenParserOptions.js +1 -0
- package/lib/risk_token/parser/index.d.ts +5 -0
- package/lib/risk_token/parser/index.js +5 -0
- package/lib/risk_token/token/{IBotDefenderToken.d.ts → IToken.d.ts} +10 -9
- package/lib/risk_token/token/IToken.js +1 -0
- package/lib/risk_token/token/TokenBase.d.ts +32 -0
- package/lib/risk_token/token/TokenBase.js +50 -0
- package/lib/risk_token/token/TokenPayloadType.d.ts +4 -0
- package/lib/risk_token/token/TokenPayloadType.js +1 -0
- package/lib/risk_token/token/index.d.ts +6 -6
- package/lib/risk_token/token/index.js +4 -11
- package/lib/risk_token/token/v2/DefaultTokenV2.d.ts +27 -0
- package/lib/risk_token/token/v2/DefaultTokenV2.js +112 -0
- package/lib/risk_token/token/v2/{BotDefenderTokenV2Payload.d.ts → TokenV2Payload.d.ts} +1 -1
- package/lib/risk_token/token/v2/TokenV2Payload.js +1 -0
- package/lib/risk_token/token/v3/DefaultTokenV3.d.ts +30 -0
- package/lib/risk_token/token/v3/DefaultTokenV3.js +137 -0
- package/lib/risk_token/token/v3/TokenSignField.js +2 -5
- package/lib/risk_token/token/v3/TokenV3Payload.d.ts +9 -0
- package/lib/risk_token/token/v3/TokenV3Payload.js +1 -0
- package/lib/risk_token/utils.js +7 -11
- package/lib/telemetry/DefaultTelemetry.d.ts +8 -8
- package/lib/telemetry/DefaultTelemetry.js +86 -152
- package/lib/telemetry/ITelemetry.d.ts +4 -4
- package/lib/telemetry/ITelemetry.js +1 -2
- package/lib/telemetry/constants.js +7 -10
- package/lib/telemetry/index.js +2 -20
- package/lib/telemetry/model/TelemetryActivity.d.ts +1 -1
- package/lib/telemetry/model/TelemetryActivity.js +1 -2
- package/lib/utils/Algorithm.js +2 -5
- package/lib/utils/ModuleMode.js +2 -5
- package/lib/utils/VidSource.js +2 -5
- package/lib/utils/base64/AtobBase64Utils.js +6 -13
- package/lib/utils/base64/BufferBase64Utils.js +9 -16
- package/lib/utils/base64/IBase64Utils.js +1 -2
- package/lib/utils/base64/JSBase64Base64Utils.js +8 -15
- package/lib/utils/base64/index.js +4 -20
- package/lib/utils/cipher/CryptoCipherUtils.d.ts +1 -3
- package/lib/utils/cipher/CryptoCipherUtils.js +16 -53
- package/lib/utils/cipher/ICipherUtils.d.ts +2 -1
- package/lib/utils/cipher/ICipherUtils.js +1 -2
- package/lib/utils/cipher/SubtleCryptoCipherUtils.js +31 -78
- package/lib/utils/cipher/index.js +2 -18
- package/lib/utils/constants.d.ts +2 -1
- package/lib/utils/constants.js +11 -13
- package/lib/utils/cookie_parser/ICookieParser.js +1 -2
- package/lib/utils/cookie_parser/{DefaultCookieParser.d.ts → StringSplitCookieParser.d.ts} +2 -1
- package/lib/utils/cookie_parser/StringSplitCookieParser.js +28 -0
- package/lib/utils/cookie_parser/index.d.ts +2 -2
- package/lib/utils/cookie_parser/index.js +2 -5
- package/lib/utils/error/EnforcerError.js +6 -28
- package/lib/utils/error/EnforcerErrorName.js +2 -5
- package/lib/utils/error/EnforcerTimeoutError.js +7 -29
- package/lib/utils/error/index.js +3 -9
- package/lib/utils/hash/CryptoHashUtils.d.ts +11 -0
- package/lib/utils/hash/CryptoHashUtils.js +20 -0
- package/lib/utils/hash/IHashUtils.d.ts +2 -1
- package/lib/utils/hash/IHashUtils.js +1 -2
- package/lib/utils/hash/SubtleCryptoHashUtils.d.ts +8 -0
- package/lib/utils/hash/SubtleCryptoHashUtils.js +31 -0
- package/lib/utils/hash/index.d.ts +2 -2
- package/lib/utils/hash/index.js +3 -19
- package/lib/utils/{hash → hmac}/CryptoHmacUtils.d.ts +2 -2
- package/lib/utils/hmac/CryptoHmacUtils.js +19 -0
- package/lib/utils/{hash → hmac}/CryptoJSHmacUtils.d.ts +2 -2
- package/lib/utils/hmac/CryptoJSHmacUtils.js +12 -0
- package/lib/utils/hmac/IHmacUtils.d.ts +4 -0
- package/lib/utils/hmac/IHmacUtils.js +1 -0
- package/lib/utils/hmac/index.d.ts +3 -0
- package/lib/utils/hmac/index.js +3 -0
- package/lib/utils/index.d.ts +5 -6
- package/lib/utils/index.js +13 -34
- package/lib/utils/ip_range_checker/DefaultIpRangeChecker.js +5 -12
- package/lib/utils/ip_range_checker/IIpRangeChecker.js +1 -2
- package/lib/utils/ip_range_checker/index.js +1 -5
- package/lib/utils/request_id_generator/IRequestIdGenerator.d.ts +3 -0
- package/lib/utils/request_id_generator/IRequestIdGenerator.js +1 -0
- package/lib/utils/request_id_generator/UuidRequestIdGenerator.d.ts +4 -0
- package/lib/utils/request_id_generator/UuidRequestIdGenerator.js +6 -0
- package/lib/utils/request_id_generator/index.d.ts +2 -0
- package/lib/utils/request_id_generator/index.js +1 -0
- package/lib/utils/utils.d.ts +5 -2
- package/lib/utils/utils.js +52 -97
- package/package.json +5 -2
- package/lib/block_handler/BlockAction.js +0 -21
- package/lib/block_handler/BlockReason.js +0 -8
- package/lib/block_handler/DefaultBlockResponseGenerator.d.ts +0 -14
- package/lib/block_handler/DefaultBlockResponseGenerator.js +0 -55
- package/lib/block_handler/IBlockResponseGenerator.d.ts +0 -14
- package/lib/block_handler/IBlockResponseGenerator.js +0 -2
- package/lib/block_handler/captcha/CaptchaBlockResponseGenerator.d.ts +0 -14
- package/lib/block_handler/captcha/CaptchaBlockResponseGenerator.js +0 -30
- package/lib/block_handler/captcha/HtmlCaptchaResponseGenerator.d.ts +0 -10
- package/lib/block_handler/captcha/HtmlCaptchaResponseGenerator.js +0 -29
- package/lib/block_handler/captcha/JsonCaptchaResponseGenerator.d.ts +0 -10
- package/lib/block_handler/captcha/JsonCaptchaResponseGenerator.js +0 -47
- package/lib/block_handler/captcha/MobileCaptchaResponseGenerator.d.ts +0 -12
- package/lib/block_handler/captcha/MobileCaptchaResponseGenerator.js +0 -41
- package/lib/block_handler/index.d.ts +0 -13
- package/lib/block_handler/index.js +0 -21
- package/lib/block_handler/model/BlockData.js +0 -2
- package/lib/block_handler/model/JsonBlockPayload.js +0 -2
- package/lib/block_handler/model/MobileBlockPayload.js +0 -2
- package/lib/block_handler/templates/captcha_template.js +0 -4
- package/lib/block_handler/templates/rate_limit_template.js +0 -4
- package/lib/block_handler/utils.d.ts +0 -5
- package/lib/block_handler/utils.js +0 -48
- package/lib/context/ContextBase.d.ts +0 -57
- package/lib/context/ContextBase.js +0 -147
- package/lib/context/DefaultTokenV2Context.d.ts +0 -13
- package/lib/context/DefaultTokenV2Context.js +0 -35
- package/lib/context/DefaultTokenV3Context.d.ts +0 -13
- package/lib/context/DefaultTokenV3Context.js +0 -35
- package/lib/context/IContext.d.ts +0 -264
- package/lib/context/IContext.js +0 -2
- package/lib/filter/DefaultFilter.d.ts +0 -16
- package/lib/filter/DefaultFilter.js +0 -59
- package/lib/first_party/DefaultFirstParty.d.ts +0 -22
- package/lib/first_party/DefaultFirstParty.js +0 -227
- package/lib/first_party/constants.js +0 -37
- package/lib/first_party/utils.d.ts +0 -9
- package/lib/first_party/utils.js +0 -29
- package/lib/http/interfaces/ReadOnlyHeaders.d.ts +0 -4
- package/lib/http/interfaces/ReadOnlyHeaders.js +0 -19
- package/lib/risk_api/PostRiskApiClient.d.ts +0 -43
- package/lib/risk_api/PostRiskApiClient.js +0 -265
- package/lib/risk_api/S2SCallReason.js +0 -16
- package/lib/risk_api/S2SErrorHandler.d.ts +0 -9
- package/lib/risk_api/S2SErrorHandler.js +0 -121
- package/lib/risk_api/model/RiskResponseV2.js +0 -2
- package/lib/risk_api/model/RiskResponseV3.js +0 -2
- package/lib/risk_api/risk_response_handler/IRiskResponseHandler.d.ts +0 -5
- package/lib/risk_api/risk_response_handler/IRiskResponseHandler.js +0 -2
- package/lib/risk_api/risk_response_handler/RiskResponseHandlerBase.d.ts +0 -16
- package/lib/risk_api/risk_response_handler/RiskResponseHandlerBase.js +0 -73
- package/lib/risk_api/risk_response_handler/RiskResponseV2Handler.d.ts +0 -10
- package/lib/risk_api/risk_response_handler/RiskResponseV2Handler.js +0 -55
- package/lib/risk_api/risk_response_handler/RiskResponseV3Handler.d.ts +0 -10
- package/lib/risk_api/risk_response_handler/RiskResponseV3Handler.js +0 -57
- package/lib/risk_token/MobileErrorHandler.d.ts +0 -9
- package/lib/risk_token/MobileErrorHandler.js +0 -100
- package/lib/risk_token/RiskTokenScoreRetriever.d.ts +0 -14
- package/lib/risk_token/RiskTokenScoreRetriever.js +0 -148
- package/lib/risk_token/TokenVerificationResult.js +0 -10
- package/lib/risk_token/token/BotDefenderTokenBase.d.ts +0 -29
- package/lib/risk_token/token/BotDefenderTokenBase.js +0 -95
- package/lib/risk_token/token/IBotDefenderToken.js +0 -2
- package/lib/risk_token/token/v2/BotDefenderTokenV2Payload.js +0 -2
- package/lib/risk_token/token/v2/DefaultBotDefenderTokenV2.d.ts +0 -26
- package/lib/risk_token/token/v2/DefaultBotDefenderTokenV2.js +0 -206
- package/lib/risk_token/token/v3/BotDefenderTokenV3Payload.d.ts +0 -9
- package/lib/risk_token/token/v3/BotDefenderTokenV3Payload.js +0 -2
- package/lib/risk_token/token/v3/DefaultBotDefenderTokenV3.d.ts +0 -29
- package/lib/risk_token/token/v3/DefaultBotDefenderTokenV3.js +0 -231
- package/lib/utils/IScoreRetriever.d.ts +0 -14
- package/lib/utils/IScoreRetriever.js +0 -2
- package/lib/utils/PassReason.js +0 -10
- package/lib/utils/cookie_parser/DefaultCookieParser.js +0 -13
- package/lib/utils/hash/CryptoHmacUtils.js +0 -25
- package/lib/utils/hash/CryptoJSHmacUtils.js +0 -19
- package/lib/utils/uuid_generator/DefaultUuidGenerator.d.ts +0 -4
- package/lib/utils/uuid_generator/DefaultUuidGenerator.js +0 -13
- package/lib/utils/uuid_generator/IUuidGenerator.d.ts +0 -3
- package/lib/utils/uuid_generator/IUuidGenerator.js +0 -2
- package/lib/utils/uuid_generator/index.d.ts +0 -2
- package/lib/utils/uuid_generator/index.js +0 -5
- /package/lib/{block_handler → products/bot_defender/block}/model/JsonBlockPayload.d.ts +0 -0
- /package/lib/{block_handler → products/bot_defender/block}/model/MobileBlockPayload.d.ts +0 -0
- /package/lib/{block_handler → products/bot_defender/block}/templates/captcha_template.d.ts +0 -0
- /package/lib/{block_handler → products/bot_defender/block}/templates/rate_limit_template.d.ts +0 -0
- /package/lib/risk_api/{S2SErrorReason.d.ts → model/S2SErrorReason.d.ts} +0 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { PXDE } from '../../pxde';
|
|
2
|
+
import { IIncomingResponse } from '../../http';
|
|
3
|
+
import { BlockAction } from '../../blocker';
|
|
4
|
+
import { RiskStatus } from '../model';
|
|
5
|
+
import { IRiskResponse } from './IRiskResponse';
|
|
6
|
+
import { TokenVersion } from '../../risk_token';
|
|
7
|
+
import { RiskResponsePayloadType } from './RiskResponsePayloadType';
|
|
8
|
+
export declare abstract class RiskResponseBase<TokenV extends TokenVersion> implements IRiskResponse {
|
|
9
|
+
private readonly response;
|
|
10
|
+
protected riskResponse: RiskResponsePayloadType<TokenV>;
|
|
11
|
+
abstract score: number;
|
|
12
|
+
protected abstract validateRiskResponseScore(): boolean;
|
|
13
|
+
protected constructor(response: IIncomingResponse);
|
|
14
|
+
validate(): Promise<boolean>;
|
|
15
|
+
get status(): RiskStatus;
|
|
16
|
+
get action(): BlockAction;
|
|
17
|
+
get message(): string;
|
|
18
|
+
get pxhd(): string;
|
|
19
|
+
get uuid(): string;
|
|
20
|
+
get dataEnrichment(): PXDE;
|
|
21
|
+
get pxhdDomain(): string;
|
|
22
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { RiskStatus } from '../model';
|
|
11
|
+
export class RiskResponseBase {
|
|
12
|
+
constructor(response) {
|
|
13
|
+
this.response = response;
|
|
14
|
+
}
|
|
15
|
+
validate() {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
try {
|
|
18
|
+
this.riskResponse = (yield this.response.json());
|
|
19
|
+
return this.status === RiskStatus.SUCCESS && this.validateRiskResponseScore();
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
get status() {
|
|
27
|
+
var _a;
|
|
28
|
+
return (_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.status;
|
|
29
|
+
}
|
|
30
|
+
get action() {
|
|
31
|
+
var _a;
|
|
32
|
+
return (_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.action;
|
|
33
|
+
}
|
|
34
|
+
get message() {
|
|
35
|
+
var _a;
|
|
36
|
+
return (_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.message;
|
|
37
|
+
}
|
|
38
|
+
get pxhd() {
|
|
39
|
+
var _a;
|
|
40
|
+
return (_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.pxhd;
|
|
41
|
+
}
|
|
42
|
+
get uuid() {
|
|
43
|
+
var _a;
|
|
44
|
+
return (_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.uuid;
|
|
45
|
+
}
|
|
46
|
+
get dataEnrichment() {
|
|
47
|
+
var _a;
|
|
48
|
+
return (_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.data_enrichment;
|
|
49
|
+
}
|
|
50
|
+
get pxhdDomain() {
|
|
51
|
+
var _a;
|
|
52
|
+
return (_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.pxhdDomain;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TokenVersion } from '../../risk_token';
|
|
2
|
+
import { RiskResponseV3Payload } from './v3';
|
|
3
|
+
import { RiskResponseV2Payload } from './v2';
|
|
4
|
+
export declare type RiskResponsePayloadType<TokenV extends TokenVersion> = TokenV extends TokenVersion.V3 ? RiskResponseV3Payload : TokenV extends TokenVersion.V2 ? RiskResponseV2Payload : never;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IIncomingResponse } from '../../../http';
|
|
2
|
+
import { RiskResponseBase } from '../RiskResponseBase';
|
|
3
|
+
import { TokenVersion } from '../../../risk_token';
|
|
4
|
+
export declare class DefaultRiskResponseV2 extends RiskResponseBase<TokenVersion.V2> {
|
|
5
|
+
constructor(response: IIncomingResponse);
|
|
6
|
+
get score(): number;
|
|
7
|
+
protected validateRiskResponseScore(): boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RiskResponseBase } from '../RiskResponseBase';
|
|
2
|
+
export class DefaultRiskResponseV2 extends RiskResponseBase {
|
|
3
|
+
constructor(response) {
|
|
4
|
+
super(response);
|
|
5
|
+
}
|
|
6
|
+
get score() {
|
|
7
|
+
var _a, _b;
|
|
8
|
+
return typeof ((_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.cookie_cfg_block_result) === 'undefined'
|
|
9
|
+
? undefined
|
|
10
|
+
: ((_b = this.riskResponse) === null || _b === void 0 ? void 0 : _b.cookie_cfg_block_result) === '1'
|
|
11
|
+
? 100
|
|
12
|
+
: 0;
|
|
13
|
+
}
|
|
14
|
+
validateRiskResponseScore() {
|
|
15
|
+
var _a;
|
|
16
|
+
return ['0', '1'].includes((_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.cookie_cfg_block_result);
|
|
17
|
+
}
|
|
18
|
+
}
|
package/lib/risk_api/{model/RiskResponseV2.d.ts → risk_response/v2/RiskResponseV2Payload.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export declare type
|
|
1
|
+
import { PXDE } from '../../../pxde';
|
|
2
|
+
import { BlockAction } from '../../../blocker';
|
|
3
|
+
import { RiskStatus } from '../../model';
|
|
4
|
+
export declare type RiskResponseV2Payload = {
|
|
5
5
|
status: RiskStatus;
|
|
6
6
|
cookie_cfg_block_result?: '0' | '1';
|
|
7
7
|
action?: BlockAction;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IIncomingResponse } from '../../../http';
|
|
2
|
+
import { TokenVersion } from '../../../risk_token';
|
|
3
|
+
import { RiskResponseBase } from '../RiskResponseBase';
|
|
4
|
+
export declare class DefaultRiskResponseV3 extends RiskResponseBase<TokenVersion.V3> {
|
|
5
|
+
constructor(response: IIncomingResponse);
|
|
6
|
+
get score(): number;
|
|
7
|
+
protected validateRiskResponseScore(): boolean;
|
|
8
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RiskResponseBase } from '../RiskResponseBase';
|
|
2
|
+
export class DefaultRiskResponseV3 extends RiskResponseBase {
|
|
3
|
+
constructor(response) {
|
|
4
|
+
super(response);
|
|
5
|
+
}
|
|
6
|
+
get score() {
|
|
7
|
+
var _a;
|
|
8
|
+
return (_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.score;
|
|
9
|
+
}
|
|
10
|
+
validateRiskResponseScore() {
|
|
11
|
+
var _a;
|
|
12
|
+
return typeof ((_a = this.riskResponse) === null || _a === void 0 ? void 0 : _a.score) === 'number';
|
|
13
|
+
}
|
|
14
|
+
}
|
package/lib/risk_api/{model/RiskResponseV3.d.ts → risk_response/v3/RiskResponseV3Payload.d.ts}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
export declare type
|
|
1
|
+
import { BlockAction } from '../../../blocker';
|
|
2
|
+
import { PXDE } from '../../../pxde';
|
|
3
|
+
import { RiskStatus } from '../../model';
|
|
4
|
+
export declare type RiskResponseV3Payload = {
|
|
5
5
|
status: RiskStatus;
|
|
6
6
|
score?: number;
|
|
7
7
|
action?: BlockAction;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MobileError = void 0;
|
|
4
|
-
var MobileError;
|
|
1
|
+
export var MobileError;
|
|
5
2
|
(function (MobileError) {
|
|
6
3
|
MobileError["NO_COOKIE"] = "1";
|
|
7
4
|
MobileError["CONNECTION_ERROR"] = "2";
|
|
8
5
|
MobileError["CERTIFICATE_PINNING_ERROR"] = "3";
|
|
9
6
|
MobileError["BYPASS"] = "4";
|
|
10
|
-
})(MobileError
|
|
7
|
+
})(MobileError || (MobileError = {}));
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TokenOrigin = void 0;
|
|
4
|
-
var TokenOrigin;
|
|
1
|
+
export var TokenOrigin;
|
|
5
2
|
(function (TokenOrigin) {
|
|
6
3
|
TokenOrigin["COOKIE"] = "cookie";
|
|
7
4
|
TokenOrigin["HEADER"] = "header";
|
|
8
|
-
})(TokenOrigin
|
|
5
|
+
})(TokenOrigin || (TokenOrigin = {}));
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var TokenParseResult;
|
|
2
|
+
(function (TokenParseResult) {
|
|
3
|
+
TokenParseResult[TokenParseResult["NONE"] = -1] = "NONE";
|
|
4
|
+
TokenParseResult[TokenParseResult["SUCCESSFUL"] = 0] = "SUCCESSFUL";
|
|
5
|
+
TokenParseResult[TokenParseResult["DECRYPTION_FAILED"] = 1] = "DECRYPTION_FAILED";
|
|
6
|
+
TokenParseResult[TokenParseResult["VALIDATION_FAILED"] = 2] = "VALIDATION_FAILED";
|
|
7
|
+
})(TokenParseResult || (TokenParseResult = {}));
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TokenVersion = void 0;
|
|
4
|
-
var TokenVersion;
|
|
1
|
+
export var TokenVersion;
|
|
5
2
|
(function (TokenVersion) {
|
|
6
3
|
TokenVersion["V2"] = "2";
|
|
7
4
|
TokenVersion["V3"] = "3";
|
|
8
|
-
})(TokenVersion
|
|
5
|
+
})(TokenVersion || (TokenVersion = {}));
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports.COOKIE_V3_PAYLOAD_INDEX = 3;
|
|
11
|
-
exports.COOKIE_V3_PARTS_COUNT = 4;
|
|
12
|
-
exports.COOKIE_V3_MAXIMUM_SALT_LENGTH = 100;
|
|
1
|
+
export const COOKIE_SPLIT_DELIMITER = ':';
|
|
2
|
+
export const COOKIE_V2_NAME = '_px2';
|
|
3
|
+
export const COOKIE_V3_NAME = '_px3';
|
|
4
|
+
export const COOKIE_V3_HMAC_INDEX = 0;
|
|
5
|
+
export const COOKIE_V3_SALT_INDEX = 1;
|
|
6
|
+
export const COOKIE_V3_ITERATIONS_INDEX = 2;
|
|
7
|
+
export const COOKIE_V3_PAYLOAD_INDEX = 3;
|
|
8
|
+
export const COOKIE_V3_PARTS_COUNT = 4;
|
|
9
|
+
export const COOKIE_V3_MAXIMUM_SALT_LENGTH = 100;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
export * from './constants';
|
|
2
2
|
export * from './utils';
|
|
3
3
|
export * from './token';
|
|
4
|
-
export
|
|
5
|
-
export { MobileErrorHandler } from './MobileErrorHandler';
|
|
4
|
+
export * from './parser';
|
|
6
5
|
export { MobileError } from './MobileError';
|
|
7
6
|
export { TokenOrigin } from './TokenOrigin';
|
|
8
|
-
export {
|
|
7
|
+
export { TokenParseResult } from './TokenParseResult';
|
|
9
8
|
export { TokenVersion } from './TokenVersion';
|
package/lib/risk_token/index.js
CHANGED
|
@@ -1,32 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.TokenVersion = exports.TokenVerificationResult = exports.TokenOrigin = exports.MobileError = exports.MobileErrorHandler = exports.RiskTokenScoreRetriever = void 0;
|
|
18
|
-
__exportStar(require("./constants"), exports);
|
|
19
|
-
__exportStar(require("./utils"), exports);
|
|
20
|
-
__exportStar(require("./token"), exports);
|
|
21
|
-
var RiskTokenScoreRetriever_1 = require("./RiskTokenScoreRetriever");
|
|
22
|
-
Object.defineProperty(exports, "RiskTokenScoreRetriever", { enumerable: true, get: function () { return RiskTokenScoreRetriever_1.RiskTokenScoreRetriever; } });
|
|
23
|
-
var MobileErrorHandler_1 = require("./MobileErrorHandler");
|
|
24
|
-
Object.defineProperty(exports, "MobileErrorHandler", { enumerable: true, get: function () { return MobileErrorHandler_1.MobileErrorHandler; } });
|
|
25
|
-
var MobileError_1 = require("./MobileError");
|
|
26
|
-
Object.defineProperty(exports, "MobileError", { enumerable: true, get: function () { return MobileError_1.MobileError; } });
|
|
27
|
-
var TokenOrigin_1 = require("./TokenOrigin");
|
|
28
|
-
Object.defineProperty(exports, "TokenOrigin", { enumerable: true, get: function () { return TokenOrigin_1.TokenOrigin; } });
|
|
29
|
-
var TokenVerificationResult_1 = require("./TokenVerificationResult");
|
|
30
|
-
Object.defineProperty(exports, "TokenVerificationResult", { enumerable: true, get: function () { return TokenVerificationResult_1.TokenVerificationResult; } });
|
|
31
|
-
var TokenVersion_1 = require("./TokenVersion");
|
|
32
|
-
Object.defineProperty(exports, "TokenVersion", { enumerable: true, get: function () { return TokenVersion_1.TokenVersion; } });
|
|
1
|
+
export * from './constants';
|
|
2
|
+
export * from './utils';
|
|
3
|
+
export * from './token';
|
|
4
|
+
export * from './parser';
|
|
5
|
+
export { MobileError } from './MobileError';
|
|
6
|
+
export { TokenOrigin } from './TokenOrigin';
|
|
7
|
+
export { TokenParseResult } from './TokenParseResult';
|
|
8
|
+
export { TokenVersion } from './TokenVersion';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IBase64Utils, IHmacUtils } from '../../utils';
|
|
2
|
+
import { TokenParserBase } from './TokenParserBase';
|
|
3
|
+
import { TokenVersion } from '../TokenVersion';
|
|
4
|
+
import { IConfiguration } from '../../config';
|
|
5
|
+
import { IToken } from '../token';
|
|
6
|
+
export declare type DefaultTokenV2ParserOptions = {
|
|
7
|
+
base64Utils: IBase64Utils;
|
|
8
|
+
hmacUtils: IHmacUtils;
|
|
9
|
+
};
|
|
10
|
+
export declare class DefaultTokenV2Parser<Req, Res> extends TokenParserBase<TokenVersion.V2, Req, Res> {
|
|
11
|
+
constructor(config: IConfiguration<Req, Res>, options: DefaultTokenV2ParserOptions);
|
|
12
|
+
protected createToken(config: IConfiguration<Req, Res>, cookies: Record<string, string>, options: DefaultTokenV2ParserOptions): IToken<Req, Res>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { TokenParserBase } from './TokenParserBase';
|
|
2
|
+
import { DefaultTokenV2 } from '../token';
|
|
3
|
+
import { COOKIE_V2_NAME } from '../constants';
|
|
4
|
+
export class DefaultTokenV2Parser extends TokenParserBase {
|
|
5
|
+
constructor(config, options) {
|
|
6
|
+
super(config, options);
|
|
7
|
+
}
|
|
8
|
+
createToken(config, cookies, options) {
|
|
9
|
+
if (cookies[COOKIE_V2_NAME]) {
|
|
10
|
+
return new DefaultTokenV2(config, cookies[COOKIE_V2_NAME], options.base64Utils, options.hmacUtils);
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IConfiguration } from '../../config';
|
|
2
|
+
import { ICipherUtils, IHmacUtils } from '../../utils';
|
|
3
|
+
import { TokenVersion } from '../TokenVersion';
|
|
4
|
+
import { IToken } from '../token';
|
|
5
|
+
import { TokenParserBase } from './TokenParserBase';
|
|
6
|
+
export declare type DefaultTokenV3ParserOptions = {
|
|
7
|
+
cipherUtils: ICipherUtils;
|
|
8
|
+
hmacUtils: IHmacUtils;
|
|
9
|
+
};
|
|
10
|
+
export declare class DefaultTokenV3Parser<Req, Res> extends TokenParserBase<TokenVersion.V3, Req, Res> {
|
|
11
|
+
constructor(config: IConfiguration<Req, Res>, options: DefaultTokenV3ParserOptions);
|
|
12
|
+
protected createToken(config: IConfiguration<Req, Res>, cookies: Record<string, string>, options: DefaultTokenV3ParserOptions): IToken<Req, Res>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { DefaultTokenV3 } from '../token';
|
|
2
|
+
import { COOKIE_V3_NAME } from '../constants';
|
|
3
|
+
import { TokenParserBase } from './TokenParserBase';
|
|
4
|
+
export class DefaultTokenV3Parser extends TokenParserBase {
|
|
5
|
+
constructor(config, options) {
|
|
6
|
+
super(config, options);
|
|
7
|
+
}
|
|
8
|
+
createToken(config, cookies, options) {
|
|
9
|
+
if (cookies[COOKIE_V3_NAME]) {
|
|
10
|
+
return new DefaultTokenV3(config, cookies[COOKIE_V3_NAME], options.cipherUtils, options.hmacUtils);
|
|
11
|
+
}
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { DeepReadonly } from 'ts-essentials';
|
|
2
|
+
import { IConfiguration } from '../../config';
|
|
3
|
+
import { ReadonlyContext, RequestData, TokenData } from '../../context';
|
|
4
|
+
import { IToken } from '../token';
|
|
5
|
+
import { TokenVersion } from '../TokenVersion';
|
|
6
|
+
import { ITokenParser } from './ITokenParser';
|
|
7
|
+
import { TokenOptionsType } from './TokenParserOptions';
|
|
8
|
+
export declare abstract class TokenParserBase<Version extends TokenVersion, Req, Res> implements ITokenParser<Req, Res> {
|
|
9
|
+
protected readonly config: IConfiguration<Req, Res>;
|
|
10
|
+
protected readonly options: TokenOptionsType<Version>;
|
|
11
|
+
protected constructor(config: IConfiguration<Req, Res>, options: TokenOptionsType<Version>);
|
|
12
|
+
protected abstract createToken(config: IConfiguration<Req, Res>, cookies: Record<string, string>, options: TokenOptionsType<Version>): IToken<Req, Res>;
|
|
13
|
+
parseToken(context: ReadonlyContext<Req, Res>): Promise<TokenData<Req, Res>>;
|
|
14
|
+
protected initializeToken({ requestData, isMobile }: ReadonlyContext<Req, Res>): TokenData<Req, Res>;
|
|
15
|
+
protected createMobileTokenData({ request }: DeepReadonly<RequestData<Req>>): TokenData<Req, Res>;
|
|
16
|
+
protected getMobileToken(mobileToken: string): IToken<Req, Res>;
|
|
17
|
+
protected createWebTokenData(cookies: Record<string, string>): TokenData<Req, Res>;
|
|
18
|
+
private handleMobileErrorIfNeeded;
|
|
19
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import { X_PX_AUTHORIZATION_HEADER_NAME, X_PX_BYPASS_REASON_HEADER_NAME, X_PX_ORIGINAL_TOKEN_HEADER_NAME, } from '../../utils';
|
|
11
|
+
import { TokenParseResult } from '../TokenParseResult';
|
|
12
|
+
import { COOKIE_SPLIT_DELIMITER } from '../constants';
|
|
13
|
+
import { convertMobileTokenVersionToCookieName } from '../utils';
|
|
14
|
+
export class TokenParserBase {
|
|
15
|
+
constructor(config, options) {
|
|
16
|
+
this.config = config;
|
|
17
|
+
this.options = options;
|
|
18
|
+
}
|
|
19
|
+
parseToken(context) {
|
|
20
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
21
|
+
const tokenData = this.initializeToken(context);
|
|
22
|
+
try {
|
|
23
|
+
if (!tokenData.token) {
|
|
24
|
+
this.config.logger.debug('no token found');
|
|
25
|
+
yield this.handleMobileErrorIfNeeded(context, tokenData);
|
|
26
|
+
return tokenData;
|
|
27
|
+
}
|
|
28
|
+
tokenData.tokenParseResult = yield tokenData.token.verify(context);
|
|
29
|
+
}
|
|
30
|
+
catch (e) {
|
|
31
|
+
this.config.logger.debug(`could not parse token - ${e}`);
|
|
32
|
+
tokenData.tokenParseResult = tokenData.token ? TokenParseResult.DECRYPTION_FAILED : TokenParseResult.NONE;
|
|
33
|
+
}
|
|
34
|
+
return tokenData;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
initializeToken({ requestData, isMobile }) {
|
|
38
|
+
if (isMobile) {
|
|
39
|
+
return this.createMobileTokenData(requestData);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return this.createWebTokenData(requestData.cookies);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
createMobileTokenData({ request }) {
|
|
46
|
+
const mobileToken = request.headers.get(X_PX_AUTHORIZATION_HEADER_NAME);
|
|
47
|
+
const tokenData = {
|
|
48
|
+
tokenParseResult: TokenParseResult.NONE,
|
|
49
|
+
token: this.getMobileToken(mobileToken),
|
|
50
|
+
mobileData: {
|
|
51
|
+
originalToken: this.getMobileToken(request.headers.get(X_PX_ORIGINAL_TOKEN_HEADER_NAME)),
|
|
52
|
+
bypassReason: request.headers.get(X_PX_BYPASS_REASON_HEADER_NAME) || '',
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
if (!tokenData.token && /^\d+$/.test(mobileToken)) {
|
|
56
|
+
tokenData.mobileData.mobileError = mobileToken;
|
|
57
|
+
}
|
|
58
|
+
return tokenData;
|
|
59
|
+
}
|
|
60
|
+
getMobileToken(mobileToken) {
|
|
61
|
+
try {
|
|
62
|
+
if (!mobileToken || (mobileToken === null || mobileToken === void 0 ? void 0 : mobileToken.indexOf(COOKIE_SPLIT_DELIMITER)) === -1) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
const [tokenVersion, ...cookieString] = mobileToken.split(COOKIE_SPLIT_DELIMITER);
|
|
66
|
+
const cookieName = convertMobileTokenVersionToCookieName(tokenVersion);
|
|
67
|
+
if (!cookieName) {
|
|
68
|
+
return null;
|
|
69
|
+
}
|
|
70
|
+
return this.createToken(this.config, { [cookieName]: cookieString.join(COOKIE_SPLIT_DELIMITER) }, this.options);
|
|
71
|
+
}
|
|
72
|
+
catch (e) {
|
|
73
|
+
this.config.logger.debug(`error extracting mobile token - ${e}, token: ${mobileToken}`);
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
createWebTokenData(cookies) {
|
|
78
|
+
return {
|
|
79
|
+
tokenParseResult: TokenParseResult.NONE,
|
|
80
|
+
token: this.createToken(this.config, cookies, this.options),
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
handleMobileErrorIfNeeded(context, { mobileData }) {
|
|
84
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
+
if (!mobileData || !mobileData.mobileError || !mobileData.originalToken) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
mobileData.originalTokenParseResult = yield mobileData.originalToken.verify(context);
|
|
89
|
+
if (mobileData.originalTokenParseResult === TokenParseResult.SUCCESSFUL) {
|
|
90
|
+
mobileData.decodedOriginalToken = mobileData.originalToken.getPayloadString();
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TokenVersion } from '../TokenVersion';
|
|
2
|
+
import { DefaultTokenV3ParserOptions } from './DefaultTokenV3Parser';
|
|
3
|
+
import { DefaultTokenV2ParserOptions } from './DefaultTokenV2Parser';
|
|
4
|
+
export declare type TokenOptionsType<TokenV> = TokenV extends TokenVersion.V2 ? DefaultTokenV2ParserOptions : DefaultTokenV3ParserOptions;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
1
|
+
import { AsyncOrSync } from 'ts-essentials';
|
|
2
|
+
import { BlockAction } from '../../blocker';
|
|
3
|
+
import { ReadonlyContext } from '../../context';
|
|
4
|
+
import { TokenParseResult } from '../TokenParseResult';
|
|
5
|
+
export interface IToken<Req, Res> {
|
|
5
6
|
/**
|
|
6
7
|
* The HMAC string on the cookie.
|
|
7
8
|
*/
|
|
@@ -28,9 +29,9 @@ export interface IBotDefenderToken {
|
|
|
28
29
|
readonly score: number;
|
|
29
30
|
/**
|
|
30
31
|
* @param context - The request context.
|
|
31
|
-
* @returns Promise<boolean> - Whether
|
|
32
|
+
* @returns Promise<boolean> - Whether the cookie was successfully decrypted and validated.
|
|
32
33
|
*/
|
|
33
|
-
verify(context:
|
|
34
|
+
verify(context: ReadonlyContext<Req, Res>): AsyncOrSync<TokenParseResult>;
|
|
34
35
|
/**
|
|
35
36
|
* @returns boolean - Whether the cookie's timestamp is expired.
|
|
36
37
|
*/
|
|
@@ -44,11 +45,11 @@ export interface IBotDefenderToken {
|
|
|
44
45
|
*/
|
|
45
46
|
isValid(): boolean;
|
|
46
47
|
/**
|
|
47
|
-
* @returns string - The encrypted
|
|
48
|
+
* @returns string - The encrypted token string as received on the request.
|
|
48
49
|
*/
|
|
49
|
-
|
|
50
|
+
getTokenString(): string;
|
|
50
51
|
/**
|
|
51
|
-
* @returns string - The decrypted
|
|
52
|
+
* @returns string - The decrypted token payload as a JSON string.
|
|
52
53
|
*/
|
|
53
54
|
getPayloadString(): string;
|
|
54
55
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AsyncOrSync } from 'ts-essentials';
|
|
2
|
+
import { IToken } from './IToken';
|
|
3
|
+
import { TokenParseResult } from '../TokenParseResult';
|
|
4
|
+
import { ReadonlyContext } from '../../context';
|
|
5
|
+
import { BlockAction } from '../../blocker';
|
|
6
|
+
import { IConfiguration } from '../../config';
|
|
7
|
+
import { ILogger } from '../../logger';
|
|
8
|
+
import { TokenPayloadType } from './TokenPayloadType';
|
|
9
|
+
import { TokenVersion } from '../TokenVersion';
|
|
10
|
+
export declare abstract class TokenBase<TokenV extends TokenVersion, Req, Res> implements IToken<Req, Res> {
|
|
11
|
+
abstract readonly action: BlockAction;
|
|
12
|
+
abstract readonly hmac: string;
|
|
13
|
+
abstract readonly score: number;
|
|
14
|
+
abstract readonly timestamp: number;
|
|
15
|
+
abstract readonly uuid: string;
|
|
16
|
+
abstract readonly vid: string;
|
|
17
|
+
abstract isExpired(): boolean;
|
|
18
|
+
abstract isHighScore(): boolean;
|
|
19
|
+
protected abstract decrypt(context: ReadonlyContext<Req, Res>): AsyncOrSync<TokenPayloadType<TokenV>>;
|
|
20
|
+
protected abstract validate(context: ReadonlyContext<Req, Res>): AsyncOrSync<boolean>;
|
|
21
|
+
protected readonly logger: ILogger;
|
|
22
|
+
protected payload: TokenPayloadType<TokenV>;
|
|
23
|
+
protected cookieString: string;
|
|
24
|
+
protected cookieSecret: string;
|
|
25
|
+
protected cookieMaxLength: number;
|
|
26
|
+
protected isValidated: boolean;
|
|
27
|
+
protected constructor(config: IConfiguration<Req, Res>, cookieString: string);
|
|
28
|
+
verify(context: ReadonlyContext<Req, Res>): Promise<TokenParseResult>;
|
|
29
|
+
isValid(): boolean;
|
|
30
|
+
getTokenString(): string;
|
|
31
|
+
getPayloadString(): string;
|
|
32
|
+
}
|