You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2012/07/06 19:05:41 UTC

svn commit: r1358302 - in /cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state: HTTPSPStateManager.java RequestState.java ResponseState.java

Author: sergeyb
Date: Fri Jul  6 17:05:41 2012
New Revision: 1358302

URL: http://svn.apache.org/viewvc?rev=1358302&view=rev
Log:
Adding an HTTP-based SP state provider to make it really easy to set up a distributed cache for the purpose of POC

Added:
    cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/HTTPSPStateManager.java   (with props)
Modified:
    cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/RequestState.java
    cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/ResponseState.java

Added: cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/HTTPSPStateManager.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/HTTPSPStateManager.java?rev=1358302&view=auto
==============================================================================
--- cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/HTTPSPStateManager.java (added)
+++ cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/HTTPSPStateManager.java Fri Jul  6 17:05:41 2012
@@ -0,0 +1,80 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.cxf.rs.security.saml.sso.state;
+
+import java.io.IOException;
+
+import javax.ws.rs.Consumes;
+import javax.ws.rs.DELETE;
+import javax.ws.rs.Encoded;
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+
+@Path("state")
+public class HTTPSPStateManager implements SPStateManager {
+    private MemorySPStateManager manager = new MemorySPStateManager();
+    
+    @POST
+    @Path("/request/{relayState}")
+    @Consumes("application/xml")
+    public void setRequestState(@Encoded @PathParam("relayState") String relayState, 
+                                RequestState state) {
+        manager.setRequestState(relayState, state);
+    }
+
+    @DELETE
+    @Path("/request/{relayState}")
+    @Produces("application/xml")
+    public RequestState removeRequestState(@Encoded @PathParam("relayState") String relayState) {
+        return manager.removeRequestState(relayState);
+    }
+
+    @POST
+    @Path("/response/{contextKey}")
+    @Consumes("application/xml")
+    public void setResponseState(@Encoded @PathParam("contextKey") String contextKey, 
+                                 ResponseState state) {
+        manager.setResponseState(contextKey, state);
+
+    }
+
+    @GET
+    @Path("/response/{contextKey}")
+    @Produces("application/xml")
+    public ResponseState getResponseState(@Encoded @PathParam("contextKey") String contextKey) {
+        return manager.getResponseState(contextKey);        
+    }
+
+    @DELETE
+    @Path("/response/{contextKey}")
+    @Produces("application/xml")
+    public ResponseState removeResponseState(String contextKey) {
+        return manager.getResponseState(contextKey);
+    }
+
+    @POST
+    @Path("close")
+    public void close() throws IOException {
+        // TODO Auto-generated method stub
+
+    }
+}

Propchange: cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/HTTPSPStateManager.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/HTTPSPStateManager.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/RequestState.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/RequestState.java?rev=1358302&r1=1358301&r2=1358302&view=diff
==============================================================================
--- cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/RequestState.java (original)
+++ cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/RequestState.java Fri Jul  6 17:05:41 2012
@@ -20,11 +20,14 @@ package org.apache.cxf.rs.security.saml.
 
 import java.io.Serializable;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
 public class RequestState implements Serializable {
 
-    /**
-     * 
-     */
     private static final long serialVersionUID = 869323136115571943L;
     
     private String targetAddress;
@@ -35,6 +38,10 @@ public class RequestState implements Ser
     private String webAppDomain;
     private long createdAt;
  
+    public RequestState() {
+        
+    }
+    
     public RequestState(String targetAddress,
                         String idpServiceAddress,
                         String samlRequestId,

Modified: cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/ResponseState.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/ResponseState.java?rev=1358302&r1=1358301&r2=1358302&view=diff
==============================================================================
--- cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/ResponseState.java (original)
+++ cxf/trunk/rt/rs/security/sso/saml/src/main/java/org/apache/cxf/rs/security/saml/sso/state/ResponseState.java Fri Jul  6 17:05:41 2012
@@ -20,12 +20,14 @@ package org.apache.cxf.rs.security.saml.
 
 import java.io.Serializable;
 
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
 
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
 public class ResponseState implements Serializable {
 
-    /**
-     * 
-     */
     private static final long serialVersionUID = -3247188797004342462L;
     
     private String assertion;
@@ -35,6 +37,10 @@ public class ResponseState implements Se
     private long createdAt;
     private long expiresAt;
     
+    public ResponseState() {
+        
+    }
+    
     public ResponseState(String assertion,
                          String relayState,
                          String webAppContext,