aboutsummaryrefslogtreecommitdiff
path: root/id/oa
diff options
context:
space:
mode:
Diffstat (limited to 'id/oa')
-rw-r--r--id/oa/src/main/webapp/WEB-INF/web.xml9
-rw-r--r--id/oa/src/main/webapp/auth.jsp48
-rw-r--r--id/oa/src/main/webapp/chooseBKU.jsp19
-rw-r--r--id/oa/src/main/webapp/form.jsp20
-rw-r--r--id/oa/src/main/webapp/getBKUSelectTag.jsp6
-rw-r--r--id/oa/src/main/webapp/index.jsp60
-rw-r--r--id/oa/src/main/webapp/stateful_login.jsp29
7 files changed, 191 insertions, 0 deletions
diff --git a/id/oa/src/main/webapp/WEB-INF/web.xml b/id/oa/src/main/webapp/WEB-INF/web.xml
new file mode 100644
index 000000000..13158fdaa
--- /dev/null
+++ b/id/oa/src/main/webapp/WEB-INF/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>
+
diff --git a/id/oa/src/main/webapp/auth.jsp b/id/oa/src/main/webapp/auth.jsp
new file mode 100644
index 000000000..0b563a83e
--- /dev/null
+++ b/id/oa/src/main/webapp/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/src/main/webapp/chooseBKU.jsp b/id/oa/src/main/webapp/chooseBKU.jsp
new file mode 100644
index 000000000..0135b6fdf
--- /dev/null
+++ b/id/oa/src/main/webapp/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/src/main/webapp/form.jsp b/id/oa/src/main/webapp/form.jsp
new file mode 100644
index 000000000..d439fa84d
--- /dev/null
+++ b/id/oa/src/main/webapp/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/src/main/webapp/getBKUSelectTag.jsp b/id/oa/src/main/webapp/getBKUSelectTag.jsp
new file mode 100644
index 000000000..028dbd348
--- /dev/null
+++ b/id/oa/src/main/webapp/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/src/main/webapp/index.jsp b/id/oa/src/main/webapp/index.jsp
new file mode 100644
index 000000000..35e49d743
--- /dev/null
+++ b/id/oa/src/main/webapp/index.jsp
@@ -0,0 +1,60 @@
+<%@ 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 headers = request.getHeaderNames(); headers.hasMoreElements(); ) {
+ String key = (String) headers.nextElement();
+ String value = request.getHeader(key); %>
+ <tr><td><%=key%></td><td><%=value%></td></tr>
+ <% } %>
+</table>
+</p>
+
+<% String query=request.getQueryString(); %>
+<p>QueryString: "<%=query%>"
+</p>
+
+<p>Request parameters:
+<table border="1">
+ <%
+ /* collect parameters from request */
+ for (Enumeration params = request.getParameterNames(); params.hasMoreElements(); ) {
+ String name = (String) params.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/src/main/webapp/stateful_login.jsp b/id/oa/src/main/webapp/stateful_login.jsp
new file mode 100644
index 000000000..eaede507f
--- /dev/null
+++ b/id/oa/src/main/webapp/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 */
+%>