keycloak-aplcache

RESTEASY-901

12/22/2014 6:59:25 PM

Changes

examples/demo-template/rest-resources/pom.xml 90(+0 -90)

examples/demo-template/rest-resources/src/main/java/org/keycloak/example/PublicResources.java 36(+0 -36)

examples/demo-template/rest-resources/src/main/java/org/keycloak/example/ResourceApplication.java 9(+0 -9)

examples/demo-template/rest-resources/src/main/java/org/keycloak/example/SecretResources.java 33(+0 -33)

examples/demo-template/rest-resources/src/main/webapp/WEB-INF/jboss-deployment-structure.xml 9(+0 -9)

examples/demo-template/rest-resources/src/main/webapp/WEB-INF/keycloak.json 7(+0 -7)

examples/demo-template/rest-resources/src/main/webapp/WEB-INF/web.xml 43(+0 -43)

examples/demo-template/rest-resources/src/main/webapp/WEB-INF/web.xml.unconfigured 47(+0 -47)

Details

diff --git a/examples/demo-template/pom.xml b/examples/demo-template/pom.xml
index d6f3c12..7c33c28 100755
--- a/examples/demo-template/pom.xml
+++ b/examples/demo-template/pom.xml
@@ -34,7 +34,6 @@
         <module>admin-access-app</module>
         <module>angular-product-app</module>
         <module>database-service</module>
-        <module>rest-resources</module>
         <module>third-party</module>
         <module>third-party-cdi</module>
     </modules>
diff --git a/integration/adapter-core/src/main/java/org/keycloak/adapters/OAuthRequestAuthenticator.java b/integration/adapter-core/src/main/java/org/keycloak/adapters/OAuthRequestAuthenticator.java
index 48b5ed9..f5451c8 100755
--- a/integration/adapter-core/src/main/java/org/keycloak/adapters/OAuthRequestAuthenticator.java
+++ b/integration/adapter-core/src/main/java/org/keycloak/adapters/OAuthRequestAuthenticator.java
@@ -153,6 +153,7 @@ public class OAuthRequestAuthenticator {
                     exchange.getResponse().setStatus(403);
                     return true;
                 }
+                tokenStore.saveRequest();
                 log.debug("Sending redirect to login page: " + redirect);
                 exchange.getResponse().setStatus(302);
                 exchange.getResponse().setCookie(deployment.getStateCookieName(), state, /* need to set path? */ null, null, -1, deployment.getSslRequired().isRequired(facade.getRequest().getRemoteAddr()), false);
@@ -202,7 +203,6 @@ public class OAuthRequestAuthenticator {
             } else {
                 log.debug("redirecting to auth server");
                 challenge = loginRedirect();
-                tokenStore.saveRequest();
                 return AuthOutcome.NOT_ATTEMPTED;
             }
         } else {
diff --git a/integration/adapter-core/src/main/java/org/keycloak/adapters/RequestAuthenticator.java b/integration/adapter-core/src/main/java/org/keycloak/adapters/RequestAuthenticator.java
index 05a2773..bd853da 100755
--- a/integration/adapter-core/src/main/java/org/keycloak/adapters/RequestAuthenticator.java
+++ b/integration/adapter-core/src/main/java/org/keycloak/adapters/RequestAuthenticator.java
@@ -76,11 +76,6 @@ public abstract class RequestAuthenticator {
             }
         }
 
-        if(!isAuthenticationRequired()){
-            log.debug("NOT_ATTEMPTED: authentication is not required");
-            return AuthOutcome.NOT_ATTEMPTED;
-        }
-
         if (log.isTraceEnabled()) {
             log.trace("try oauth");
         }
@@ -142,7 +137,6 @@ public abstract class RequestAuthenticator {
     protected abstract void completeOAuthAuthentication(KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal);
     protected abstract void completeBearerAuthentication(KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal, String method);
     protected abstract String getHttpSessionId(boolean create);
-    protected abstract boolean isAuthenticationRequired();
 
     protected void completeAuthentication(BearerTokenRequestAuthenticator bearer, String method) {
         RefreshableKeycloakSecurityContext session = new RefreshableKeycloakSecurityContext(deployment, null, bearer.getTokenString(), bearer.getToken(), null, null, null);
diff --git a/integration/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/JettyRequestAuthenticator.java b/integration/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/JettyRequestAuthenticator.java
index 7e90aef..0556b01 100755
--- a/integration/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/JettyRequestAuthenticator.java
+++ b/integration/jetty/jetty-core/src/main/java/org/keycloak/adapters/jetty/JettyRequestAuthenticator.java
@@ -82,9 +82,4 @@ public class JettyRequestAuthenticator extends RequestAuthenticator {
     }
 
 
-    @Override
-    protected boolean isAuthenticationRequired() {
-        //TODO: find out if authentication is required
-        return true;
-    }
 }
diff --git a/integration/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaRequestAuthenticator.java b/integration/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaRequestAuthenticator.java
index 356c4a5..0c70636 100755
--- a/integration/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaRequestAuthenticator.java
+++ b/integration/tomcat/tomcat-core/src/main/java/org/keycloak/adapters/tomcat/CatalinaRequestAuthenticator.java
@@ -91,9 +91,4 @@ public class CatalinaRequestAuthenticator extends RequestAuthenticator {
         return session != null ? session.getId() : null;
     }
 
-    @Override
-    protected boolean isAuthenticationRequired() {
-        //TODO: find out if authentication is required
-        return true;
-    }
 }
diff --git a/integration/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowRequestAuthenticator.java b/integration/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowRequestAuthenticator.java
index 26be637..a715aa5 100755
--- a/integration/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowRequestAuthenticator.java
+++ b/integration/undertow/src/main/java/org/keycloak/adapters/undertow/AbstractUndertowRequestAuthenticator.java
@@ -88,8 +88,4 @@ public abstract class AbstractUndertowRequestAuthenticator extends RequestAuthen
      */
     protected abstract KeycloakUndertowAccount createAccount(KeycloakPrincipal<RefreshableKeycloakSecurityContext> principal);
 
-    @Override
-    protected boolean isAuthenticationRequired() {
-        return securityContext.isAuthenticationRequired();
-    }
 }
diff --git a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java
index d50fd71..49b1a6d 100755
--- a/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java
+++ b/testsuite/integration/src/test/java/org/keycloak/testsuite/adapter/AdapterTestStrategy.java
@@ -161,6 +161,16 @@ public class AdapterTestStrategy extends ExternalResource {
         Assert.assertTrue(driver.getCurrentUrl().startsWith(LOGIN_URL));
         driver.navigate().to(APP_SERVER_BASE_URL + "/customer-portal");
         Assert.assertTrue(driver.getCurrentUrl().startsWith(LOGIN_URL));
+
+        // test unsecured POST KEYCLOAK-901
+
+        Client client = ClientBuilder.newClient();
+        Form form = new Form();
+        form.param("parameter", "hello");
+        String text = client.target(APP_SERVER_BASE_URL + "/input-portal/unsecured").request().post(Entity.form(form), String.class);
+        Assert.assertTrue(text.contains("parameter=hello"));
+        client.close();
+
     }