Added handler stubs for SAML2 functionality we intend to implement.
authorwassa <wassa@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Wed, 6 Sep 2006 20:34:55 +0000 (20:34 +0000)
committerwassa <wassa@ab3bd59b-922f-494d-bb5f-6f0a3c29deca>
Wed, 6 Sep 2006 20:34:55 +0000 (20:34 +0000)
git-svn-id: https://subversion.switch.ch/svn/shibboleth/java-idp/trunk@2015 ab3bd59b-922f-494d-bb5f-6f0a3c29deca

src/edu/internet2/middleware/shibboleth/idp/provider/SAML2ProtcolHandler.java [new file with mode: 0644]
src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_ArtifactResolutionHandler.java [new file with mode: 0644]
src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AssertionIDRequestHandler.java [new file with mode: 0644]
src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AttributeQueryHandler.java [new file with mode: 0644]
src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AuthNQueryHandler.java [new file with mode: 0644]
src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AuthnRequestHandler.java [new file with mode: 0644]
src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_ECPHandler.java [new file with mode: 0644]
src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_LogoutRequestHandler.java [new file with mode: 0644]
src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_ManageNameIDRequestHandler.java [new file with mode: 0644]
src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_NameIDMappingRequestHandler.java [new file with mode: 0644]

diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2ProtcolHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2ProtcolHandler.java
new file mode 100644 (file)
index 0000000..c796a6d
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+
+/**
+ * Base class for SAML2 protocol hanlders.
+ * 
+ * @author Walter Hoehn
+ */
+
+public abstract class SAML2ProtcolHandler extends BaseHandler implements IdPProtocolHandler {
+
+       public SAML2ProtcolHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+}
diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_ArtifactResolutionHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_ArtifactResolutionHandler.java
new file mode 100644 (file)
index 0000000..1be9941
--- /dev/null
@@ -0,0 +1,51 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolSupport;
+import edu.internet2.middleware.shibboleth.idp.RequestHandlingException;
+
+/**
+ * @author Walter Hoehn
+ */
+public class SAML2_ArtifactResolutionHandler extends SAML2ProtcolHandler implements IdPProtocolHandler {
+
+       public SAML2_ArtifactResolutionHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+
+       public String getHandlerName() {
+
+               return "SAML v2 Artifact Resolution";
+       }
+
+       public void processRequest(HttpServletRequest request, HttpServletResponse response, IdPProtocolSupport support)
+                       throws RequestHandlingException, ServletException {
+
+       // TODO implement
+       // TODO support SOAP
+       }
+}
diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AssertionIDRequestHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AssertionIDRequestHandler.java
new file mode 100644 (file)
index 0000000..c71b310
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolSupport;
+import edu.internet2.middleware.shibboleth.idp.RequestHandlingException;
+
+/**
+ * @author Walter Hoehn
+ */
+public class SAML2_AssertionIDRequestHandler extends SAML2ProtcolHandler implements IdPProtocolHandler {
+
+       public SAML2_AssertionIDRequestHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+
+       public String getHandlerName() {
+
+               return "SAML v2 Enhanced Client/Proxy";
+       }
+
+       public void processRequest(HttpServletRequest request, HttpServletResponse response, IdPProtocolSupport support)
+                       throws RequestHandlingException, ServletException {
+
+       // TODO implement
+       // TODO support SOAP
+       // TODO support URI binding
+       }
+
+}
diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AttributeQueryHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AttributeQueryHandler.java
new file mode 100644 (file)
index 0000000..6bf8b8c
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolSupport;
+import edu.internet2.middleware.shibboleth.idp.RequestHandlingException;
+
+/**
+ * @author Walter Hoehn
+ */
+public class SAML2_AttributeQueryHandler extends SAML2ProtcolHandler implements IdPProtocolHandler {
+
+       public SAML2_AttributeQueryHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+
+       public String getHandlerName() {
+
+               return "SAML v2 Assertion ID Request";
+       }
+
+       public void processRequest(HttpServletRequest request, HttpServletResponse response, IdPProtocolSupport support)
+                       throws RequestHandlingException, ServletException {
+
+       // TODO implement
+       // TODO support SOAP
+       }
+
+}
diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AuthNQueryHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AuthNQueryHandler.java
new file mode 100644 (file)
index 0000000..a2e39bb
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolSupport;
+import edu.internet2.middleware.shibboleth.idp.RequestHandlingException;
+
+/**
+ * @author Walter Hoehn
+ */
+public class SAML2_AuthNQueryHandler extends SAML2ProtcolHandler implements IdPProtocolHandler {
+
+       public SAML2_AuthNQueryHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+
+       public String getHandlerName() {
+
+               return "SAML v2 AuthN Query";
+       }
+
+       public void processRequest(HttpServletRequest request, HttpServletResponse response, IdPProtocolSupport support)
+                       throws RequestHandlingException, ServletException {
+
+       // TODO implement
+       // TODO support SOAP
+
+       }
+
+}
diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AuthnRequestHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_AuthnRequestHandler.java
new file mode 100644 (file)
index 0000000..5dd25dc
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolSupport;
+import edu.internet2.middleware.shibboleth.idp.RequestHandlingException;
+
+/**
+ * @author Walter Hoehn
+ */
+public class SAML2_AuthnRequestHandler extends SAML2ProtcolHandler implements IdPProtocolHandler {
+
+       public SAML2_AuthnRequestHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+
+       public String getHandlerName() {
+
+               return "SAML v2 Authn Request";
+       }
+
+       public void processRequest(HttpServletRequest request, HttpServletResponse response, IdPProtocolSupport support)
+                       throws RequestHandlingException, ServletException {
+
+       // TODO implement
+       // TODO support redirect
+       // TODO support artifact
+       // TODO support POST
+
+       }
+
+}
diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_ECPHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_ECPHandler.java
new file mode 100644 (file)
index 0000000..e880a94
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolSupport;
+import edu.internet2.middleware.shibboleth.idp.RequestHandlingException;
+
+/**
+ * @author Walter Hoehn
+ */
+public class SAML2_ECPHandler extends SAML2ProtcolHandler implements IdPProtocolHandler {
+
+       public SAML2_ECPHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+
+       public String getHandlerName() {
+
+               return "SAML v2 Enhanced Client/Proxy";
+       }
+
+       public void processRequest(HttpServletRequest request, HttpServletResponse response, IdPProtocolSupport support)
+                       throws RequestHandlingException, ServletException {
+
+       // TODO implement
+       // TODO support PAOS
+
+       }
+
+}
diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_LogoutRequestHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_LogoutRequestHandler.java
new file mode 100644 (file)
index 0000000..fdadf43
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolSupport;
+import edu.internet2.middleware.shibboleth.idp.RequestHandlingException;
+
+/**
+ * @author Walter Hoehn
+ */
+public class SAML2_LogoutRequestHandler extends SAML2ProtcolHandler implements IdPProtocolHandler {
+
+       public SAML2_LogoutRequestHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+
+       public String getHandlerName() {
+
+               return "SAML v2 Logout Request";
+       }
+
+       public void processRequest(HttpServletRequest request, HttpServletResponse response, IdPProtocolSupport support)
+                       throws RequestHandlingException, ServletException {
+
+       // TODO implement
+       // TODO support redirect
+       // TODO support SOAP
+
+       }
+
+}
diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_ManageNameIDRequestHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_ManageNameIDRequestHandler.java
new file mode 100644 (file)
index 0000000..2c24261
--- /dev/null
@@ -0,0 +1,53 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolSupport;
+import edu.internet2.middleware.shibboleth.idp.RequestHandlingException;
+
+/**
+ * @author Walter Hoehn
+ */
+public class SAML2_ManageNameIDRequestHandler extends SAML2ProtcolHandler implements IdPProtocolHandler {
+
+       public SAML2_ManageNameIDRequestHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+
+       public String getHandlerName() {
+
+               return "SAML v2 Manage NameID Request";
+       }
+
+       public void processRequest(HttpServletRequest request, HttpServletResponse response, IdPProtocolSupport support)
+                       throws RequestHandlingException, ServletException {
+
+       // TODO implement
+       // TODO support redirect
+       // TODO SOAP
+       }
+
+}
diff --git a/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_NameIDMappingRequestHandler.java b/src/edu/internet2/middleware/shibboleth/idp/provider/SAML2_NameIDMappingRequestHandler.java
new file mode 100644 (file)
index 0000000..bd06ca5
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright [2005] [University Corporation for Advanced Internet Development, Inc.]
+ *
+ * Licensed 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 edu.internet2.middleware.shibboleth.idp.provider;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.w3c.dom.Element;
+
+import edu.internet2.middleware.shibboleth.common.ShibbolethConfigurationException;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolHandler;
+import edu.internet2.middleware.shibboleth.idp.IdPProtocolSupport;
+import edu.internet2.middleware.shibboleth.idp.RequestHandlingException;
+
+/**
+ * @author Walter Hoehn
+ */
+public class SAML2_NameIDMappingRequestHandler extends SAML2ProtcolHandler implements IdPProtocolHandler {
+
+       public SAML2_NameIDMappingRequestHandler(Element config) throws ShibbolethConfigurationException {
+
+               super(config);
+       }
+
+       public String getHandlerName() {
+
+               return "SAML v2 NameID Mapping Request";
+       }
+
+       public void processRequest(HttpServletRequest request, HttpServletResponse response, IdPProtocolSupport support)
+                       throws RequestHandlingException, ServletException {
+
+       // TODO implement
+       // TODO support SOAP
+       }
+
+}