keycloak-uncached

Details

diff --git a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/PathCache.java b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/PathCache.java
index dfeb48e..99a46af 100644
--- a/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/PathCache.java
+++ b/adapters/oidc/adapter-core/src/main/java/org/keycloak/adapters/authorization/PathCache.java
@@ -21,6 +21,7 @@ import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.locks.LockSupport;
 
+import org.keycloak.common.util.Time;
 import org.keycloak.representations.adapters.config.PolicyEnforcerConfig.PathConfig;
 
 /**
@@ -154,7 +155,7 @@ public class PathCache {
             if(maxAge == -1) {
                 expiration = -1;
             } else {
-                expiration = System.currentTimeMillis() + maxAge;
+                expiration = Time.currentTimeMillis() + maxAge;
             }
         }
 
@@ -167,7 +168,7 @@ public class PathCache {
         }
 
         boolean isExpired() {
-            return expiration != -1 ? System.currentTimeMillis() > expiration : false;
+            return expiration != -1 ? Time.currentTimeMillis() > expiration : false;
         }
     }
 }
diff --git a/testsuite/integration-arquillian/test-apps/servlet-authz/keycloak-cache-lifespan-authz-service.json b/testsuite/integration-arquillian/test-apps/servlet-authz/keycloak-cache-lifespan-authz-service.json
index 7c73876..89694a0 100644
--- a/testsuite/integration-arquillian/test-apps/servlet-authz/keycloak-cache-lifespan-authz-service.json
+++ b/testsuite/integration-arquillian/test-apps/servlet-authz/keycloak-cache-lifespan-authz-service.json
@@ -11,7 +11,7 @@
   "policy-enforcer": {
     "on-deny-redirect-to" : "/servlet-authz-app/accessDenied.jsp",
     "path-cache": {
-      "lifespan": 10000,
+      "lifespan": 30000,
       "max-entries": 1000
     },
     "paths": [
diff --git a/testsuite/integration-arquillian/test-apps/servlet-authz/src/main/webapp/timeOffset.jsp b/testsuite/integration-arquillian/test-apps/servlet-authz/src/main/webapp/timeOffset.jsp
new file mode 100644
index 0000000..d9d0cd4
--- /dev/null
+++ b/testsuite/integration-arquillian/test-apps/servlet-authz/src/main/webapp/timeOffset.jsp
@@ -0,0 +1,5 @@
+<%@page import="org.keycloak.common.util.Time"%>
+
+<%
+   Time.setOffset(Integer.parseInt(request.getParameter("offset")));
+%>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/ServletAuthzCacheLifespanAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/ServletAuthzCacheLifespanAdapterTest.java
index d2dd4a1..0845e1a 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/ServletAuthzCacheLifespanAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/example/authorization/ServletAuthzCacheLifespanAdapterTest.java
@@ -72,7 +72,8 @@ public class ServletAuthzCacheLifespanAdapterTest extends AbstractServletAuthzAd
             assertWasNotDenied();
 
             //Thread.sleep(5000);
-            setTimeOffset(10000);
+            setTimeOffset(30);
+            setTimeOffsetOfAdapter(30);
 
             login("alice", "alice");
             assertWasNotDenied();
@@ -81,6 +82,11 @@ public class ServletAuthzCacheLifespanAdapterTest extends AbstractServletAuthzAd
             assertWasDenied();
 
             resetTimeOffset();
+            setTimeOffsetOfAdapter(0);
         });
     }
+
+    public void setTimeOffsetOfAdapter(int offset) {
+        this.driver.navigate().to(getResourceServerUrl() + "/timeOffset.jsp?offset=" + String.valueOf(offset));
+    }
 }