diff --git a/.github/workflows/ci_e2e.yaml b/.github/workflows/ci_e2e.yaml index ff815d4c..f3e6a9bf 100644 --- a/.github/workflows/ci_e2e.yaml +++ b/.github/workflows/ci_e2e.yaml @@ -88,12 +88,12 @@ jobs: - name: Configure Docker credentials run: | - gcloud auth configure-docker gcr.io + gcloud auth configure-docker us-docker.pkg.dev - name: pull mock collector image run: | - docker pull gcr.io/px-docker-repo/connecteam/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG && \ - docker tag gcr.io/px-docker-repo/connecteam/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG localhost:5001/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG && \ + docker pull us-docker.pkg.dev/hmn-registry/docker-common-us/connecteam/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG && \ + docker tag us-docker.pkg.dev/hmn-registry/docker-common-us/connecteam/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG localhost:5001/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG && \ docker push localhost:5001/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG - name: deploy mock collector @@ -124,8 +124,8 @@ jobs: - name: pull enforcer tests image run: | - docker pull gcr.io/px-docker-repo/connecteam/enforcer-specs-tests:$ENFORCER_SPEC_TESTS_IMAGE_TAG && \ - docker tag gcr.io/px-docker-repo/connecteam/enforcer-specs-tests:$ENFORCER_SPEC_TESTS_IMAGE_TAG localhost:5001/enforcer-spec-tests:$ENFORCER_SPEC_TESTS_IMAGE_TAG && \ + docker pull us-docker.pkg.dev/hmn-registry/docker-common-us/connecteam/enforcer-specs-tests:$ENFORCER_SPEC_TESTS_IMAGE_TAG && \ + docker tag us-docker.pkg.dev/hmn-registry/docker-common-us/connecteam/enforcer-specs-tests:$ENFORCER_SPEC_TESTS_IMAGE_TAG localhost:5001/enforcer-spec-tests:$ENFORCER_SPEC_TESTS_IMAGE_TAG && \ docker push localhost:5001/enforcer-spec-tests:$ENFORCER_SPEC_TESTS_IMAGE_TAG - name: run enforcer tests diff --git a/.github/workflows/fuzzer.yaml b/.github/workflows/fuzzer.yaml index 555f0269..4c939349 100644 --- a/.github/workflows/fuzzer.yaml +++ b/.github/workflows/fuzzer.yaml @@ -91,12 +91,12 @@ jobs: - name: Configure Docker credentials run: | - gcloud auth configure-docker gcr.io + gcloud auth configure-docker us-docker.pkg.dev - name: pull mock collector image run: | - docker pull gcr.io/px-docker-repo/connecteam/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG && \ - docker tag gcr.io/px-docker-repo/connecteam/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG localhost:5001/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG && \ + docker pull us-docker.pkg.dev/hmn-registry/docker-common-us/connecteam/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG && \ + docker tag us-docker.pkg.dev/hmn-registry/docker-common-us/connecteam/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG localhost:5001/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG && \ docker push localhost:5001/mock-collector:$MOCK_COLLECTOR_IMAGE_TAG - name: deploy mock collector @@ -127,8 +127,8 @@ jobs: - name: pull fuzzer image run: | - docker pull gcr.io/px-docker-repo/connecteam/connect-enforcer-fuzzer:$FUZZER_TAG && \ - docker tag gcr.io/px-docker-repo/connecteam/connect-enforcer-fuzzer:$FUZZER_TAG localhost:5001/connect-enforcer-fuzzer:$FUZZER_TAG && \ + docker pull us-docker.pkg.dev/hmn-registry/docker-common-us/connecteam/connect-enforcer-fuzzer:$FUZZER_TAG && \ + docker tag us-docker.pkg.dev/hmn-registry/docker-common-us/connecteam/connect-enforcer-fuzzer:$FUZZER_TAG localhost:5001/connect-enforcer-fuzzer:$FUZZER_TAG && \ docker push localhost:5001/connect-enforcer-fuzzer:$FUZZER_TAG - name: run fuzzer diff --git a/CHANGELOG.md b/CHANGELOG.md index 77a27b26..5b502004 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Change Log +## [v6.14.2](https://github.com/PerimeterX/perimeterx-java-sdk/compare/6.14.2...HEAD) (2025-06-15) +- Added Cross Tab Session cookie support on risk_api and async activities + ## [v6.14.1](https://github.com/PerimeterX/perimeterx-java-sdk/compare/6.14.1...HEAD) (2024-11-12) - Fix Telemetry bug when sending page requested activities when telemetry fails - Fix risk_rtt is not sent when risk call gets s2s_timeout diff --git a/README.md b/README.md index aeaf943a..edd35c1e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ # [PerimeterX](http://www.perimeterx.com) Java SDK -> Latest stable version: [v6.14.1](https://search.maven.org/#artifactdetails%7Ccom.perimeterx%7Cperimeterx-sdk%7C6.15.0%7Cjar) +> Latest stable version: [v6.14.2](https://search.maven.org/#artifactdetails%7Ccom.perimeterx%7Cperimeterx-sdk%7C6.15.0%7Cjar) ## Table of Contents diff --git a/pom.xml b/pom.xml index 61cd299b..8cfc7cd6 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ PerimeterX JAVA SDK com.perimeterx perimeterx-sdk - 6.14.1 + 6.14.2 jar PerimeterX Java SDK diff --git a/px_metadata.json b/px_metadata.json index ba6268e9..62d6972b 100644 --- a/px_metadata.json +++ b/px_metadata.json @@ -1,5 +1,5 @@ { - "version": "6.14.1", + "version": "6.14.2", "supported_features": [ "advanced_blocking_response", "bypass_monitor_header", diff --git a/src/main/java/com/perimeterx/models/PXContext.java b/src/main/java/com/perimeterx/models/PXContext.java index 39d3bd90..f8c8cc41 100644 --- a/src/main/java/com/perimeterx/models/PXContext.java +++ b/src/main/java/com/perimeterx/models/PXContext.java @@ -228,6 +228,7 @@ public class PXContext { private String additionalRiskInfo; private String servletPath; private String pxhdDomain; + private String pxCtsCookie; private long enforcerStartTime; /** @@ -397,7 +398,7 @@ private void parseCookies(HttpServletRequest request, boolean isMobileToken) { .map(request::getHeader) .toArray(String[]::new); this.requestCookieNames = CookieNamesExtractor.extractCookieNames(cookies); - setVidAndPxhd(cookies); + setVidPxhdAndPxcts(cookies); tokens.addAll(headerParser.createRawCookieDataList(cookieHeaders)); this.tokens = tokens; DataEnrichmentCookie deCookie = headerParser.getRawDataEnrichmentCookie(this.tokens, cookieKeysToCheck(this, this.pxConfiguration)); @@ -406,7 +407,7 @@ private void parseCookies(HttpServletRequest request, boolean isMobileToken) { } } - private void setVidAndPxhd(Cookie[] cookies) { + private void setVidPxhdAndPxcts(Cookie[] cookies) { if (cookies != null) { for (Cookie cookie : cookies) { if (cookie.getName().equals("_pxvid") || cookie.getName().equals("pxvid")) { @@ -425,6 +426,9 @@ private void setVidAndPxhd(Cookie[] cookies) { logger.error("setVidAndPxhd - failed while decoding the pxhd value", e); } } + if (cookie.getName().equals("pxcts")) { + this.pxCtsCookie = cookie.getValue(); + } } } } diff --git a/src/main/java/com/perimeterx/models/activities/CommonActivityDetails.java b/src/main/java/com/perimeterx/models/activities/CommonActivityDetails.java index 9c06562c..c5baf184 100644 --- a/src/main/java/com/perimeterx/models/activities/CommonActivityDetails.java +++ b/src/main/java/com/perimeterx/models/activities/CommonActivityDetails.java @@ -56,6 +56,9 @@ public class CommonActivityDetails implements ActivityDetails { @JsonProperty("pass") public String password; + @JsonProperty("cross_tab_session") + public String pxCtsCookie; + public CommonActivityDetails(PXContext context) { final LoginData loginData = context.getLoginData(); @@ -81,6 +84,7 @@ public CommonActivityDetails(PXContext context) { this.callReason = additional.callReason; this.riskStartTime = additional.riskStartTime; this.enforcerStartTime = additional.enforcerStartTime; + this.pxCtsCookie = additional.pxCtsCookie; } } diff --git a/src/main/java/com/perimeterx/models/httpmodels/Additional.java b/src/main/java/com/perimeterx/models/httpmodels/Additional.java index 8fc7bf2f..2c4df51c 100644 --- a/src/main/java/com/perimeterx/models/httpmodels/Additional.java +++ b/src/main/java/com/perimeterx/models/httpmodels/Additional.java @@ -90,6 +90,9 @@ public class Additional { @JsonProperty("risk_start_time") public long riskStartTime; + @JsonProperty("cross_tab_session") + public String pxCtsCookie; + public static Additional fromContext(PXContext ctx) { Additional additional = new Additional(); additional.pxCookie = ctx.getRiskCookie(); @@ -110,6 +113,7 @@ public static Additional fromContext(PXContext ctx) { additional.requestId = ctx.getRequestId(); additional.enforcerStartTime = ctx.getEnforcerStartTime(); additional.riskStartTime = new Date().getTime(); + additional.pxCtsCookie = ctx.getPxCtsCookie(); setLoginCredentials(ctx, additional); diff --git a/web/pom.xml b/web/pom.xml index 2228c520..0a228be3 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -65,7 +65,7 @@ 8 8 - 6.14.1 + 6.14.2