aboutsummaryrefslogtreecommitdiff
path: root/id.oa
diff options
context:
space:
mode:
Diffstat (limited to 'id.oa')
-rw-r--r--id.oa/.classpath6
-rw-r--r--id.oa/.project23
-rw-r--r--id.oa/build.xml32
-rw-r--r--id.oa/html/AuthTemplate.jsp30
-rw-r--r--id.oa/html/BKUSelectionTemplate.jsp14
-rw-r--r--id.oa/html/auth.jsp48
-rw-r--r--id.oa/html/chooseBKU.jsp19
-rw-r--r--id.oa/html/form.jsp20
-rw-r--r--id.oa/html/getBKUSelectTag.jsp6
-rw-r--r--id.oa/html/index.jsp56
-rw-r--r--id.oa/html/stateful_login.jsp29
-rw-r--r--id.oa/web.xml9
12 files changed, 292 insertions, 0 deletions
diff --git a/id.oa/.classpath b/id.oa/.classpath
new file mode 100644
index 000000000..5af765a17
--- /dev/null
+++ b/id.oa/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path=""/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="output" path=""/>
+</classpath>
diff --git a/id.oa/.project b/id.oa/.project
new file mode 100644
index 000000000..e49130a5f
--- /dev/null
+++ b/id.oa/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>id.oa</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>com.ibm.etools.ctc.serviceprojectbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.ibm.etools.ctc.javaprojectnature</nature>
+ </natures>
+</projectDescription>
diff --git a/id.oa/build.xml b/id.oa/build.xml
new file mode 100644
index 000000000..adb191e76
--- /dev/null
+++ b/id.oa/build.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+<!--
+
+ Ant Buildfile for MOA ID Auth component
+
+ $Id$
+
+-->
+<project name="id.oa" default="package" basedir=".">
+ <property name="tmp" value="tmp"/>
+ <property name="dist" value="${tmp}/dist"/>
+
+ <!-- set up directories etc. -->
+ <target name="init">
+ <tstamp/>
+ <echo>Time (hhmm): ${TSTAMP}</echo>
+ <mkdir dir="${tmp}"/>
+ <mkdir dir="${dist}"/>
+ </target>
+
+ <!-- package oa.war -->
+ <target name="package" depends="init">
+ <war warfile="${dist}/oa.war" webxml="web.xml">
+ <fileset dir="html"/>
+ </war>
+ </target>
+
+ <!-- clean temporary files -->
+ <target name="clean">
+ <delete dir="${tmp}"/>
+ </target>
+</project>
diff --git a/id.oa/html/AuthTemplate.jsp b/id.oa/html/AuthTemplate.jsp
new file mode 100644
index 000000000..1fa0d1ef8
--- /dev/null
+++ b/id.oa/html/AuthTemplate.jsp
@@ -0,0 +1,30 @@
+<html>
+<head>
+<title>MOA ID Auth Sample Login - customized</title>
+</head>
+<body>
+<h1>MOA ID Auth Sample Login - customized</h1>
+<form name="CustomizedForm"
+ action="<BKU>"
+ method="post">
+ <input type="hidden"
+ name="XMLRequest"
+ value="<XMLRequest>"/>
+ <input type="hidden"
+ name="DataURL"
+ value="<DataURL>"/>
+ <input type="submit" value="B&uuml;rgerkarte lesen"/>
+</form>
+<form name="CustomizedInfoForm"
+ action="<BKU>"
+ method="post">
+ <input type="hidden"
+ name="XMLRequest"
+ value="<CertInfoXMLRequest>"/>
+ <input type="hidden"
+ name="DataURL"
+ value="<CertInfoDataURL>"/>
+ Hier finden Sie weitere Informationen zur &Uuml;berpr&uuml;fung der Zertifikate.
+ <input type="submit" value="Weitere Info"/>
+</form></body>
+</html> \ No newline at end of file
diff --git a/id.oa/html/BKUSelectionTemplate.jsp b/id.oa/html/BKUSelectionTemplate.jsp
new file mode 100644
index 000000000..82c8518e9
--- /dev/null
+++ b/id.oa/html/BKUSelectionTemplate.jsp
@@ -0,0 +1,14 @@
+<html>
+<head>
+<title>BKU Auswahl - customized</title>
+</head>
+<body>
+<h1><font color="green">BKU Auswahl - customized</font></h1>
+<p>
+<form method="post" action="<StartAuth>">
+<BKUSelect>
+<input type="submit" value="Ausw&auml;hlen"/>
+</form>
+</p>
+</body>
+</html> \ No newline at end of file
diff --git a/id.oa/html/auth.jsp b/id.oa/html/auth.jsp
new file mode 100644
index 000000000..0b563a83e
--- /dev/null
+++ b/id.oa/html/auth.jsp
@@ -0,0 +1,48 @@
+<html>
+<head>
+<title>MOA ID Auth Sample Login</title>
+</head>
+<body>
+<% /** assumes moa-id-auth and oa in the same servlet container,
+ and moa-id-proxy on a different fixed location */
+ String authUrlPath =
+ request.getScheme() + "://"
+ + request.getServerName() + ":" + request.getServerPort()
+ + "/moa-id-auth/";
+ String proxyUrlPath = "http://10.16.126.28:9080/moa-id-proxy/";
+ String oaUrlPath =
+ request.getScheme() + "://"
+ + request.getServerName() + ":" + request.getServerPort()
+ + "/oa/";
+ String params =
+ "Target=gb&" +
+ "OA=" + proxyUrlPath + "index.jsp";
+ String urlStartAuth =
+ authUrlPath +
+ "StartAuthentication?" +
+ params;
+ String templateParam =
+ "&Template=" + oaUrlPath + "AuthTemplate.jsp";
+ String urlStartAuthCustom =
+ urlStartAuth +
+ templateParam;
+ String urlSelectBKU =
+ authUrlPath +
+ "SelectBKU?" +
+ params;
+ String urlSelectBKUCustom =
+ urlSelectBKU +
+ templateParam +
+ "&BKUSelectionTemplate=" + oaUrlPath + "BKUSelectionTemplate.jsp";
+%>
+<a href="<%=urlStartAuth%>">Log in to sample application</a>
+<br>
+<a href="<%=urlStartAuthCustom%>">Log in to sample application using custom form</a>
+<br>
+<a href="<%=urlSelectBKU%>">Choose BKU (HTMLComplete or HTMLSelect) and log in</a>
+<br>
+<a href="<%=urlSelectBKUCustom%>">Choose BKU (HTMLSelect) using custom form and log in</a>
+<br>
+<a href="<%=authUrlPath+"StartAuthentication"%>">Wrong parameters example</a>
+</body>
+</html> \ No newline at end of file
diff --git a/id.oa/html/chooseBKU.jsp b/id.oa/html/chooseBKU.jsp
new file mode 100644
index 000000000..0135b6fdf
--- /dev/null
+++ b/id.oa/html/chooseBKU.jsp
@@ -0,0 +1,19 @@
+<html>
+<head>
+<title>BKU Auswahl</title>
+</head>
+<body>
+<h1>BKU Auswahl</h1>
+<p>
+<form method="post" action="<%=request.getParameter("returnURI")%>">
+<select name="bkuURI">
+ <option value="http://localhost:3495/http-security-layer-request" selected>Lokale B&uuml;rgerkarte</option>
+ <option value="https://provider1.at:3496/http-security-layer-request">Provider eins</option>
+ <option value="https://provider2.at:3496/http-security-layer-request">Provider zwei</option>
+ <option value="https://10.16.126.28:3496/http-security-layer-request">B&uuml;rgerkarte Arbeitsplatz Paul Ivancsics</option>
+</select>
+<input type="submit" value="Ausw&auml;hlen"/>
+</form>
+</p>
+</body>
+</html> \ No newline at end of file
diff --git a/id.oa/html/form.jsp b/id.oa/html/form.jsp
new file mode 100644
index 000000000..d439fa84d
--- /dev/null
+++ b/id.oa/html/form.jsp
@@ -0,0 +1,20 @@
+<%@ page import="java.util.*" %>
+<html>
+<head>
+<title>Sample Online Application</title>
+</head>
+<body>
+<h1>Sample Form</h1>
+<p>
+<form action="form.jsp">
+<% String param1 = request.getParameter("param1");
+ if (param1 == null) param1 = ""; %>
+Input some text:
+<input type="text" name="param1" size="10"/>
+<br>Previous text input: <%=param1%><br>
+<input type="submit" value="Send"/>
+</form>
+</p>
+<p><a href="index.jsp">Back</a></p>
+</body>
+</html> \ No newline at end of file
diff --git a/id.oa/html/getBKUSelectTag.jsp b/id.oa/html/getBKUSelectTag.jsp
new file mode 100644
index 000000000..028dbd348
--- /dev/null
+++ b/id.oa/html/getBKUSelectTag.jsp
@@ -0,0 +1,6 @@
+<select name="bkuURI">
+ <option value="http://localhost:3495/http-security-layer-request" selected>Lokale B&uuml;rgerkarte</option>
+ <option value="https://provider1.at:3496/http-security-layer-request">Provider eins</option>
+ <option value="https://provider2.at:3496/http-security-layer-request">Provider zwei</option>
+ <option value="https://10.16.126.28:3496/http-security-layer-request">B&uuml;rgerkarte Arbeitsplatz Paul Ivancsics</option>
+</select>
diff --git a/id.oa/html/index.jsp b/id.oa/html/index.jsp
new file mode 100644
index 000000000..5111e5103
--- /dev/null
+++ b/id.oa/html/index.jsp
@@ -0,0 +1,56 @@
+<%@ page import="java.util.*,javax.servlet.http.*,sun.misc.BASE64Decoder" %>
+<html>
+<head>
+<title>Sample Online Application</title>
+</head>
+<body>
+<h1>Sample Online Application</h1>
+
+<p>Request headers:
+<table border="1">
+ <%
+ /* collect parameters from request */
+ for (Enumeration enum = request.getHeaderNames(); enum.hasMoreElements(); ) {
+ String key = (String) enum.nextElement();
+ String value = request.getHeader(key); %>
+ <tr><td><%=key%></td><td><%=value%></td></tr>
+ <% } %>
+</table>
+</p>
+
+<p>Request parameters:
+<table border="1">
+ <%
+ /* collect parameters from request */
+ for (Enumeration enum = request.getParameterNames(); enum.hasMoreElements(); ) {
+ String name = (String) enum.nextElement();
+ String value = request.getParameter(name); %>
+ <tr><td><%=name%></td><td><%=value%></td></tr>
+ <% } %>
+</table>
+</p>
+
+<p>Cookies:
+<table border="1">
+ <%
+ /* collect attributes from request */
+ Cookie[] cookies = request.getCookies();
+ if (cookies != null) {
+ for (int i = 0; i < cookies.length; i++) {
+ Cookie cookie = cookies[i]; %>
+ <tr><td><%=cookie.getName()%></td><td><%=cookie.getValue()%></td></tr>
+ <% }
+ } %>
+</table>
+</p>
+
+<% String authHeader = request.getHeader("Authorization");
+ if (authHeader != null) {
+ authHeader = authHeader.substring(authHeader.indexOf(" ")+1);
+ String decAuthHeader = new String(new BASE64Decoder().decodeBuffer(authHeader));
+%>
+<p>Basic authentication credentials: <%=decAuthHeader%></p>
+<% } %>
+<p><a href="form.jsp">Form sample</a></p>
+</body>
+</html> \ No newline at end of file
diff --git a/id.oa/html/stateful_login.jsp b/id.oa/html/stateful_login.jsp
new file mode 100644
index 000000000..eaede507f
--- /dev/null
+++ b/id.oa/html/stateful_login.jsp
@@ -0,0 +1,29 @@
+<%@ page import="javax.servlet.http.*" %>
+<%
+ /* check request's remote IP address - must be moa-id-proxy's address */
+ String remoteIPAddress = request.getRemoteAddr();
+ if (! "127.0.0.1".equals(remoteIPAddress)) { /* Substitute "127.0.0.1" for moa-id-proxy's IP address */
+ response.setStatus(403);
+ return;
+ }
+
+ /* store authentication data in cookies */
+ String fn = request.getParameter("FamilyName");
+ String gn = request.getParameter("GivenName");
+ /* set cookie domain and cookie path ! */
+ String cookieDomain = ".test.test"; /* Set this to the common domain of moa-id-proxy and of the online application */
+ String cookiePath = request.getContextPath(); /* Set this to the context path of the online application */
+
+ Cookie cfn = new Cookie("familyname", fn);
+ cfn.setDomain(cookieDomain);
+ cfn.setPath(cookiePath);
+ response.addCookie(cfn);
+
+ Cookie cgn = new Cookie("givenname", gn);
+ cgn.setDomain(cookieDomain);
+ cgn.setPath(cookiePath);
+ response.addCookie(cgn);
+
+ /* redirect to online application's start page */
+ response.sendRedirect("http://oa.test.test:8080/oa/index.jsp"); /* Substitute for URL in online application */
+%>
diff --git a/id.oa/web.xml b/id.oa/web.xml
new file mode 100644
index 000000000..13158fdaa
--- /dev/null
+++ b/id.oa/web.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http://java.sun.com/dtd/web-app_2_3.dtd'>
+
+<web-app>
+ <display-name>Sample OA</display-name>
+ <description>MOA Sample OA</description>
+</web-app>
+