diff --git a/.circleci/config.yml b/.circleci/config.yml
index 87db593..e274538 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -1,12 +1,16 @@
-version: 2 # use CircleCI 2.0
-jobs: # a collection of steps
- build: # runs not using Workflows must have a `build` job as entry point
+# Java Maven CircleCI 2.0 configuration file
+#
+# Check https://circleci.com/docs/2.0/language-java/ for more details
+#
+version: 2
+jobs:
+ build:
+ docker:
+ # specify the version you desire here
+ - image: cimg/openjdk:17.0.8-browsers
working_directory: ~/castle-java-example # directory where steps will run
- docker: # run the steps with Docker
- - image: circleci/openjdk:8-jdk-browsers # ...with this image as the primary container; this is where all `steps` will run
-
steps: # a collection of executable commands
- checkout # check out source code to working directory
diff --git a/logback.xml b/logback.xml
new file mode 100644
index 0000000..e824d25
--- /dev/null
+++ b/logback.xml
@@ -0,0 +1,16 @@
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 8e667ba..c5189f2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,30 +4,35 @@
io.castle.example
castle-example
war
- 1.4.0
+ 1.6
Castle Java JDK Example
https://github.com/castle/castle-java-example
org.slf4j
slf4j-api
- 1.7.12
+ 1.7.36
ch.qos.logback
logback-classic
- 1.2.3
+ 1.4.11
- javax.servlet
- javax.servlet-api
- 3.0.1
+ jakarta.servlet
+ jakarta.servlet-api
+ 6.0.0
provided
io.castle
castle-java
- 1.4.0
+ 2.3.3
+
+
+ com.google.guava
+ guava
+ 32.1.2-jre
@@ -37,8 +42,12 @@
org.eclipse.jetty
jetty-maven-plugin
- 9.4.6.v20170531
+ 11.0.15
+
+ 17
+ 17
+
diff --git a/src/main/java/io/castle/example/ChallengeServlet.java b/src/main/java/io/castle/example/ChallengeServlet.java
index 87eb5e5..637aa7e 100644
--- a/src/main/java/io/castle/example/ChallengeServlet.java
+++ b/src/main/java/io/castle/example/ChallengeServlet.java
@@ -4,9 +4,9 @@
import io.castle.client.api.CastleApi;
import io.castle.example.model.TestUser;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.*;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
import java.io.IOException;
diff --git a/src/main/java/io/castle/example/EmailChangeRequestServlet.java b/src/main/java/io/castle/example/EmailChangeRequestServlet.java
index 222e5b1..47d735b 100644
--- a/src/main/java/io/castle/example/EmailChangeRequestServlet.java
+++ b/src/main/java/io/castle/example/EmailChangeRequestServlet.java
@@ -4,12 +4,12 @@
import io.castle.client.api.CastleApi;
import io.castle.example.model.TestUser;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import java.io.IOException;
diff --git a/src/main/java/io/castle/example/EmailChangeServlet.java b/src/main/java/io/castle/example/EmailChangeServlet.java
index 870ffea..ddf55a1 100644
--- a/src/main/java/io/castle/example/EmailChangeServlet.java
+++ b/src/main/java/io/castle/example/EmailChangeServlet.java
@@ -5,12 +5,12 @@
import io.castle.example.model.TestUser;
import io.castle.example.model.UserAuthenticationBackend;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import java.io.IOException;
diff --git a/src/main/java/io/castle/example/LoginServlet.java b/src/main/java/io/castle/example/LoginServlet.java
index 631e889..52a15b1 100644
--- a/src/main/java/io/castle/example/LoginServlet.java
+++ b/src/main/java/io/castle/example/LoginServlet.java
@@ -7,12 +7,12 @@
import io.castle.example.model.TestUser;
import io.castle.example.model.UserAuthenticationBackend;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import com.google.common.collect.ImmutableMap;
diff --git a/src/main/java/io/castle/example/LogoutServlet.java b/src/main/java/io/castle/example/LogoutServlet.java
index 20a9d58..0ae96ce 100644
--- a/src/main/java/io/castle/example/LogoutServlet.java
+++ b/src/main/java/io/castle/example/LogoutServlet.java
@@ -4,12 +4,12 @@
import io.castle.client.api.CastleApi;
import io.castle.example.model.TestUser;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import com.google.common.collect.ImmutableMap;
diff --git a/src/main/java/io/castle/example/PasswordChangeServlet.java b/src/main/java/io/castle/example/PasswordChangeServlet.java
index 2f4fcba..820d1e7 100644
--- a/src/main/java/io/castle/example/PasswordChangeServlet.java
+++ b/src/main/java/io/castle/example/PasswordChangeServlet.java
@@ -5,12 +5,12 @@
import io.castle.example.model.TestUser;
import io.castle.example.model.UserAuthenticationBackend;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import java.io.IOException;
diff --git a/src/main/java/io/castle/example/PasswordResetRequiredServlet.java b/src/main/java/io/castle/example/PasswordResetRequiredServlet.java
index 7c43d21..f4dbce5 100644
--- a/src/main/java/io/castle/example/PasswordResetRequiredServlet.java
+++ b/src/main/java/io/castle/example/PasswordResetRequiredServlet.java
@@ -5,12 +5,12 @@
import io.castle.example.model.TestUser;
import io.castle.example.model.UserAuthenticationBackend;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import com.google.common.collect.ImmutableMap;
diff --git a/src/main/java/io/castle/example/PasswordResetServlet.java b/src/main/java/io/castle/example/PasswordResetServlet.java
index 25bf61d..be25645 100644
--- a/src/main/java/io/castle/example/PasswordResetServlet.java
+++ b/src/main/java/io/castle/example/PasswordResetServlet.java
@@ -5,12 +5,12 @@
import io.castle.example.model.TestUser;
import io.castle.example.model.UserAuthenticationBackend;
-import javax.servlet.ServletException;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpSession;
import java.io.IOException;
diff --git a/src/main/java/io/castle/example/SetupListener.java b/src/main/java/io/castle/example/SetupListener.java
index 58be792..518560b 100644
--- a/src/main/java/io/castle/example/SetupListener.java
+++ b/src/main/java/io/castle/example/SetupListener.java
@@ -1,10 +1,14 @@
package io.castle.example;
import io.castle.client.Castle;
+import io.castle.client.internal.backend.CastleBackendProvider;
+import io.castle.client.model.AuthenticateAction;
+import io.castle.client.model.AuthenticateFailoverStrategy;
import io.castle.client.model.CastleSdkConfigurationException;
-import javax.servlet.ServletContextEvent;
-import javax.servlet.ServletContextListener;
+import jakarta.servlet.ServletContextEvent;
+import jakarta.servlet.ServletContextListener;
+import java.util.Arrays;
public class SetupListener implements ServletContextListener {
@@ -17,9 +21,22 @@ public class SetupListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
try {
Castle castle = Castle.verifySdkConfigurationAndInitialize();
+
+ /*Castle castle = Castle.initialize(Castle.configurationBuilder()
+ .apiSecret("abcd")
+ .withAllowListHeaders("User-Agent", "Accept-Language", "Accept-Encoding")
+ .withDenyListHeaders("Cookie")
+ .withTimeout(500)
+ .withBackendProvider(CastleBackendProvider.OKHTTP)
+ .withAuthenticateFailoverStrategy(new AuthenticateFailoverStrategy(AuthenticateAction.ALLOW))
+ .withApiBaseUrl("https://api.castle.io/")
+ .withLogHttpRequests(true)
+ .ipHeaders(Arrays.asList("X-Forwarded-For", "CF-Connecting-IP"))
+ .build());*/
+
Castle.setSingletonInstance(castle);
} catch (CastleSdkConfigurationException e) {
- //The sdk configuration is incorrect. We recommend to shutdown the application by throwing a runtime exception
+ //The sdk configuration is incorrect. We recommend to shut down the application by throwing a runtime exception
throw new IllegalStateException("The Castle SDK configuration is not correct", e);
}
}
diff --git a/src/main/resources/castle_sdk.properties b/src/main/resources/castle_sdk.properties
index b43d82a..a7c38cd 100644
--- a/src/main/resources/castle_sdk.properties
+++ b/src/main/resources/castle_sdk.properties
@@ -3,3 +3,9 @@
black_list=Cookie,Connection
log_http=true
# The rest of the setting will use default values, when there are some.
+app_id=566492732398746
+api_secret=dnpKLkR1Xjd4wjhPxBEqshzz9be9F8wg
+timeout=10000
+backend_provider=OKHTTP
+failover_strategy=CHALLENGE
+base_url=https://api.castle.io/v1/
\ No newline at end of file