aboutsummaryrefslogtreecommitdiff
path: root/id/server/auth/src/main/webapp
diff options
context:
space:
mode:
authorThomas Lenz <thomas.lenz@egiz.gv.at>2014-03-25 22:02:54 +0100
committerThomas Lenz <thomas.lenz@egiz.gv.at>2014-03-25 22:02:54 +0100
commitfc189a2e69c7468c12621b7d4a3c94343d1a672c (patch)
tree89d9e08195bf3c708115ded47a8e588c6e4acbb0 /id/server/auth/src/main/webapp
parent242a22849402a13e585fada9d055a85f1c6d1ee8 (diff)
parent1b47a1e5f5787a3d1681cdee8b8bc1ec7a5cd9c9 (diff)
downloadmoa-id-spss-fc189a2e69c7468c12621b7d4a3c94343d1a672c.tar.gz
moa-id-spss-fc189a2e69c7468c12621b7d4a3c94343d1a672c.tar.bz2
moa-id-spss-fc189a2e69c7468c12621b7d4a3c94343d1a672c.zip
merge
Diffstat (limited to 'id/server/auth/src/main/webapp')
-rw-r--r--id/server/auth/src/main/webapp/BKAuswahl-MOA-Template-Howto.pdfbin193669 -> 0 bytes
-rw-r--r--id/server/auth/src/main/webapp/Blockdiagramm.pngbin0 -> 84989 bytes
-rw-r--r--id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml32
-rw-r--r--id/server/auth/src/main/webapp/anmeldeablauf.pngbin0 -> 51580 bytes
-rw-r--r--id/server/auth/src/main/webapp/common/LogoBKA.pngbin0 -> 8062 bytes
-rw-r--r--id/server/auth/src/main/webapp/common/LogoEGIZ.pngbin0 -> 77395 bytes
-rw-r--r--id/server/auth/src/main/webapp/common/MOA.css617
-rw-r--r--id/server/auth/src/main/webapp/css/index.css451
-rw-r--r--id/server/auth/src/main/webapp/iframeHandyBKU.html58
-rw-r--r--id/server/auth/src/main/webapp/iframeOnlineBKU.html67
-rw-r--r--id/server/auth/src/main/webapp/index.html116
-rw-r--r--id/server/auth/src/main/webapp/message-auth.jsp20
12 files changed, 750 insertions, 611 deletions
diff --git a/id/server/auth/src/main/webapp/BKAuswahl-MOA-Template-Howto.pdf b/id/server/auth/src/main/webapp/BKAuswahl-MOA-Template-Howto.pdf
deleted file mode 100644
index 857fcc1dd..000000000
--- a/id/server/auth/src/main/webapp/BKAuswahl-MOA-Template-Howto.pdf
+++ /dev/null
Binary files differ
diff --git a/id/server/auth/src/main/webapp/Blockdiagramm.png b/id/server/auth/src/main/webapp/Blockdiagramm.png
new file mode 100644
index 000000000..f5bdb9e3a
--- /dev/null
+++ b/id/server/auth/src/main/webapp/Blockdiagramm.png
Binary files differ
diff --git a/id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml b/id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml
index 2f17c7d98..6f451ec79 100644
--- a/id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml
+++ b/id/server/auth/src/main/webapp/WEB-INF/urlrewrite.xml
@@ -52,7 +52,37 @@
<to type="forward">/dispatcher?mod=id_pvp2x&amp;action=Soap</to>
</rule>
- <rule match-type="regex">
+ <rule match-type="regex">
+ <from>^/stork2/StartAuthentication$</from>
+ <to type="forward">/dispatcher?mod=id_stork2&amp;action=AuthenticationRequest&amp;%{query-string}</to>
+ </rule>
+ <rule match-type="regex">
+ <from>^/stork2/ResumeAuthentication$</from>
+ <to type="forward">/dispatcher?mod=id_stork2&amp;action=AttributeCollector&amp;%{query-string}</to>
+ </rule>
+ <rule match-type="regex">
+ <from>^/stork2/CompleteAuthentication$</from>
+ <to type="forward">/dispatcher?mod=id_stork2&amp;action=ConsentEvaluator&amp;%{query-string}</to>
+ </rule>
+ <rule match-type="regex">
+ <from>^/stork2/SendPEPSAuthnRequest$</from>
+ <to type="forward">/dispatcher?mod=id_stork2&amp;action=AuthenticationRequest&amp;%{query-string}</to>
+ </rule>
+ <rule match-type="regex">
+ <from>^/stork2/ServiceProvider$</from>
+ <to type="forward">/dispatcher?mod=id_stork2&amp;action=AuthenticationRequest&amp;%{query-string}</to>
+ </rule>
+ <rule match-type="regex">
+ <from>^/stork2/SendPEPSAuthnRequest$</from>
+ <to type="forward">/dispatcher?mod=id_stork2&amp;action=AuthenticationRequest&amp;%{query-string}</to>
+ </rule>
+ <rule match-type="regex">
+ <from>^/stork2/RetrieveMandate$</from>
+ <to type="forward">/dispatcher?mod=id_stork2&amp;action=MandateRetrievalRequest&amp;%{query-string}</to>
+ </rule>
+
+
+ <rule match-type="regex">
<from>^/oauth2/auth\\?(.*)$</from>
<to type="forward">/dispatcher?mod=id_oauth20&amp;action=AUTH&amp;%{query-string}</to>
</rule>
diff --git a/id/server/auth/src/main/webapp/anmeldeablauf.png b/id/server/auth/src/main/webapp/anmeldeablauf.png
new file mode 100644
index 000000000..a6af21c5f
--- /dev/null
+++ b/id/server/auth/src/main/webapp/anmeldeablauf.png
Binary files differ
diff --git a/id/server/auth/src/main/webapp/common/LogoBKA.png b/id/server/auth/src/main/webapp/common/LogoBKA.png
new file mode 100644
index 000000000..6a92647fd
--- /dev/null
+++ b/id/server/auth/src/main/webapp/common/LogoBKA.png
Binary files differ
diff --git a/id/server/auth/src/main/webapp/common/LogoEGIZ.png b/id/server/auth/src/main/webapp/common/LogoEGIZ.png
new file mode 100644
index 000000000..39f05d131
--- /dev/null
+++ b/id/server/auth/src/main/webapp/common/LogoEGIZ.png
Binary files differ
diff --git a/id/server/auth/src/main/webapp/common/MOA.css b/id/server/auth/src/main/webapp/common/MOA.css
new file mode 100644
index 000000000..b7a2b9280
--- /dev/null
+++ b/id/server/auth/src/main/webapp/common/MOA.css
@@ -0,0 +1,617 @@
+body
+{
+ font-family: "Times New Roman", Times, serif;
+ font-size: medium;
+ font-weight: normal;
+ margin-left: 2.5em;
+ margin-right: 2.5em;
+ background-color: white;
+ text: #000000;
+ link: #990000;
+ vlink: #666666;
+ alink: #cc9966;
+}
+
+
+
+p
+{
+ margin-top: 0pt;
+ margin-bottom: 0.5em;
+ text-align: justify
+}
+
+pre
+{
+ font-family: "Courier New", monospace;
+ font-size: 90%;
+ background-color: #cccccc;
+ color: #000000;
+ margin-left:1.5%;
+ margin-right:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ border: #008000 none;
+}
+
+hr
+{
+ color: #000080;
+ background-color: #000080;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+table.fixedWidth
+{
+ width: 97%;
+ margin-left:1.5%;
+ margin-right:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+
+table.varWidth
+{
+ margin-left:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+th
+{
+ text-align: left;
+}
+
+h1
+{
+ color: #000000;
+ text-align: left;
+ font-size: 167%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h2
+{
+ color: #000000;
+ font-size: 150%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h3
+{
+ color: #000000;
+ font-size: 133%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h4
+{
+ color: #000000;
+ font-size: 116%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h5
+{
+ color: #000000;
+ font-size: 100%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+h6
+{
+ color: #000000;
+ font-size: 83%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ background-color:#999;
+}
+
+code
+{
+ font-family: "Courier New", Courier, monospace;
+ font-size: 90%;
+ color: #000000
+}
+
+dd
+{
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+ text-align: justify
+
+}
+
+dt
+{
+ margin-top: 0.8em;
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000080
+}
+
+ol
+{
+ margin-top: 0.5em;
+ margin-bottom: 0.5em
+}
+
+ol.alpha
+{
+ list-style-type: lower-alpha
+}
+
+li
+{
+ margin-top: 0.25em;
+ margin-bottom: 0.25em;
+ text-align: justify
+}
+
+a:hover
+{
+ color: #990000
+}
+
+
+.title
+{
+ text-align: left;
+ font-size: 200%;
+ color: #000000;
+ font-family: Arial, Helvetica, sans-serif;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em;
+ background-color:#999;
+}
+
+.subtitle
+{
+ text-align: left;
+ font-size: 133%;
+ color: #000000;
+ font-family: Arial, Helvetica, sans-serif;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em
+}
+
+.glossaryTerm
+{
+ font-style: italic;
+ color: #006699
+}
+
+.example
+{
+ font-family: "Courier New", monospace;
+ background-color: #CCFFFF;
+ color: #000000;
+ margin: 0pt 0pt;
+ border: #008000 none
+}
+
+.schema
+{
+ font-family: "Courier New", monospace;
+ background-color: #FFFFCC;
+ color: #000000;
+ margin: 0pt 0pt;
+ border: #008000 none
+}
+
+.documentinfo
+{
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 100%;
+}
+
+.ol-contents
+{
+ font-size: 100%;
+ margin-top: 0.0em;
+ margin-bottom: 0.0em;
+}
+
+.li-contents
+{
+ font-size: 100%;
+ margin-top: 0.0em;
+ margin-bottom: 0.0em;
+}
+
+.logoTitle
+{
+ text-align: center;
+ font-size: 200%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+.logoTable
+{
+ margin-bottom: 0px;
+ margin-left: 0px
+}
+
+.superscript
+{
+ vertical-align: super;
+ font-size: 66%;
+}
+
+.term
+{
+ font-style: italic;
+}
+
+.comment
+{
+ color: #000000;
+ background: #ffff00;
+ font-style: italic
+}
+
+.addedErrata12
+{
+ color: #FF0000;
+ background-color: #FFEEEE;
+ text-decoration: underline
+}
+
+.deletedErrata12
+{
+ color: #999999;
+ background-color: #EEEEEE;
+ text-decoration: line-through
+}
+
+.added12
+{
+ color: #FF0000;
+ text-decoration: underline
+; background-color: #F8F0FF
+}
+
+.deleted12
+{
+ color: #999999;
+ text-decoration: line-through
+; background-color: #f8f0ff
+}
+
+.rfc2119Keyword
+{
+ font-variant: small-caps;
+ font-style: normal;
+}
+
+.remark { font-style: italic}
+
+li.faq
+{
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+
+.faq-question
+{
+ color: #000080;
+ font-size: 100%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ margin-bottom: 0.4em;
+}
+
+
+/*body
+{
+ font-family: "Times New Roman", Times, serif;
+ font-size: medium;
+ font-weight: normal;
+ margin-left: 2.5em;
+ margin-right: 2.5em;
+}
+
+p
+{
+ margin-top: 0pt;
+ margin-bottom: 0.5em;
+ text-align: justify
+}
+
+pre
+{
+ font-family: "Courier New", monospace;
+ font-size: 90%;
+ background-color: #cccccc;
+ color: #000000;
+ margin-left:1.5%;
+ margin-right:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+ border: #008000 none;
+}
+
+hr
+{
+ color: #000080;
+ background-color: #000080;
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+table.fixedWidth
+{
+ width: 97%;
+ margin-left:1.5%;
+ margin-right:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+
+table.varWidth
+{
+ margin-left:1.5%;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+
+th
+{
+ text-align: left;
+}
+
+h1
+{
+ color: #000080;
+ text-align: left;
+ font-size: 167%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h2
+{
+ color: #000080;
+ font-size: 150%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h3
+{
+ color: #000080;
+ font-size: 133%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h4
+{
+ color: #000080;
+ font-size: 116%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h5
+{
+ color: #000080;
+ font-size: 100%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+h6
+{
+ color: #000080;
+ font-size: 83%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal
+}
+
+code
+{
+ font-family: "Courier New", Courier, monospace;
+ font-size: 90%;
+ color: #000000
+}
+
+dd
+{
+ margin-top: 0.8em;
+ margin-bottom: 0.8em;
+ text-align: justify
+
+}
+
+dt
+{
+ margin-top: 0.8em;
+ font-family: Arial, Helvetica, sans-serif;
+ color: #000080
+}
+
+ol
+{
+ margin-top: 0.5em;
+ margin-bottom: 0.5em
+}
+
+ol.alpha
+{
+ list-style-type: lower-alpha
+}
+
+li
+{
+ margin-top: 0.25em;
+ margin-bottom: 0.25em;
+ text-align: justify
+}
+
+a:hover
+{
+ color: #990000
+}
+
+
+.title
+{
+ text-align: left;
+ font-size: 167%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em
+}
+
+.subtitle
+{
+ text-align: left;
+ font-size: 133%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+ margin-top: 0.4em;
+ margin-bottom: 0.4em
+}
+
+.glossaryTerm
+{
+ font-style: italic;
+ color: #006699
+}
+
+.example
+{
+ font-family: "Courier New", monospace;
+ background-color: #CCFFFF;
+ color: #000000;
+ margin: 0pt 0pt;
+ border: #008000 none
+}
+
+.schema
+{
+ font-family: "Courier New", monospace;
+ background-color: #FFFFCC;
+ color: #000000;
+ margin: 0pt 0pt;
+ border: #008000 none
+}
+
+.documentinfo
+{
+ font-family: Arial, Helvetica, sans-serif;
+ font-size: 100%;
+}
+
+.ol-contents
+{
+ font-size: 100%;
+ margin-top: 0.0em;
+ margin-bottom: 0.0em;
+}
+
+.li-contents
+{
+ font-size: 100%;
+ margin-top: 0.0em;
+ margin-bottom: 0.0em;
+}
+
+.logoTitle
+{
+ text-align: center;
+ font-size: 133%;
+ color: #000080;
+ font-family: Arial, Helvetica, sans-serif;
+}
+
+.logoTable
+{
+ margin-bottom: 0px;
+ margin-left: 0px
+}
+
+.superscript
+{
+ vertical-align: super;
+ font-size: 66%;
+}
+
+.term
+{
+ font-style: italic;
+}
+
+.comment
+{
+ color: #000000;
+ background: #ffff00;
+ font-style: italic
+}
+
+.addedErrata12
+{
+ color: #FF0000;
+ background-color: #FFEEEE;
+ text-decoration: underline
+}
+
+.deletedErrata12
+{
+ color: #999999;
+ background-color: #EEEEEE;
+ text-decoration: line-through
+}
+
+.added12
+{
+ color: #FF0000;
+ text-decoration: underline
+; background-color: #F8F0FF
+}
+
+.deleted12
+{
+ color: #999999;
+ text-decoration: line-through
+; background-color: #f8f0ff
+}
+
+.rfc2119Keyword
+{
+ font-variant: small-caps;
+ font-style: normal;
+}
+
+.remark { font-style: italic}
+
+li.faq
+{
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+
+.faq-question
+{
+ color: #000080;
+ font-size: 100%;
+ font-family: Arial, Helvetica, sans-serif;
+ font-weight: normal;
+ margin-bottom: 0.4em;
+}
+*/ \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/css/index.css b/id/server/auth/src/main/webapp/css/index.css
deleted file mode 100644
index 622f6c255..000000000
--- a/id/server/auth/src/main/webapp/css/index.css
+++ /dev/null
@@ -1,451 +0,0 @@
- @charset "utf-8";
-
- @media screen and (min-width: 650px) {
-
- body {
- margin:0;
- padding:0;
- color : #000;
- background-color : #fff;
- font-family : Verdana, Geneva, Arial, sans-serif;
- font-size:76%;
- text-align: center;
- background-color: #6B7B8B;
- }
-
- #page {
- display: block;
- border: 2px solid rgb(0,0,0);
- width: 650px;
- height: 440px;
- margin: 0 auto;
- margin-top: 5%;
- position: relative;
- border-radius: 25px;
- background: rgb(255,255,255);
- }
-
- #page1 {
- text-align: center;
- }
-
- #main {
- /* clear:both; */
- position:relative;
- margin: 0 auto;
- width: 250px;
- text-align: center;
- }
-
- .OA_header {
- /* background-color: white;*/
- font-size: 20pt;
- margin-bottom: 25px;
- margin-top: 25px;
- }
-
- #leftcontent {
- /*float:left; */
- width:250px;
- margin-bottom: 25px;
- text-align: left;
- border: 1px solid rgb(0,0,0);
- }
-
- h2#tabheader.full {
- padding:5px;
- font-size:20px;
- color:#fff;
- border-bottom:2px solid #fff;
- }
-
- #selectArea.full {
- font-size: 15px;
- padding-bottom: 65px;
- }
-
- #leftcontent.full {
- width: 400px;
- margin-top: 30px;
- }
-
- #main.full {
- width: 400px;
- }
-
- .setAssertionButton_full {
- background: #efefef;
- cursor: pointer;
- margin-top: 15px;
- width: 100px;
- height: 30px
- }
-
- #leftbutton.full {
- width: 30%;
- float:left;
- margin-left: 40px;
- }
-
- #rightbutton.full {
- width: 30%;
- float:right;
- margin-right: 45px;
- text-align: right;
- }
-
- }
-
- @media screen and (max-width: 649px) {
-
- body {
- margin:0;
- padding:0;
- color : #000;
- background-color : #fff;
- font-family : Verdana, Geneva, Arial, sans-serif;
- font-size:76%;
- text-align: center;
- background-color: #FFFFFF;
- }
-
- #page {
- visibility: hidden;
- margin-top: 0%;
-
- }
-
- #page1 {
- visibility: hidden;
- }
-
- #main {
- visibility: hidden;
- }
-
- .OA_header {
- margin-bottom: 0px;
- margin-top: 0px;
- font-size: 0pt;
- visibility: hidden;
- }
-
- #leftcontent {
- visibility: visible;
- margin-bottom: 0px;
- text-align: left;
- border:none;
- width:250px;
- }
-
- .setAssertionButton_full {
- background: #efefef;
- cursor: pointer;
- margin-top: 15px;
- width: 70px;
- height: 25px;
- }
- }
-
- * {
- margin:0;
- padding:0;
- border:0;
- }
-
-
- /* skiplink */
-
- #skiplinks {
- position:relative;
- }
-
- p#skiplinks a {
-
- position: absolute;
- top: -999em;
- left: -999em;
- height: 0;
- width: 0;
- overflow: hidden;
- }
-
- p#skiplinks a:focus,
- p#skiplinks a:hover,
- p#skiplinks a:active {
- height: auto;
- width:auto;
- left: 0;
- top: 0;
- padding: 4px;
- position: absolute;
- overflow: visible;
- text-decoration: none;
- z-index: 100;
- }
-
- /*layout */
-
- #wrapper {
- min-width:746px;
- max-width:1258px;
- padding: 0 10px;
- }
-
- #banner {
- width:100%;
- min-height:100px;
- padding-top:20px;
- position:relative;
- }
-
- #bannerleft {
- float:left;
- }
-
- #bannerleft h1 {
- font-size:2em;
- padding-top:10px;
- }
-
- #bannerright {
- float:right;
- }
-
- /* left */
-
- .iframebkuselection {
- text-align: center;
- padding-bottom: 25px;
- background-color : #DDDDDD;
- }
-
- h2#tabheader, h2#contentheader {
- padding-bottom: 2px;
- padding-right: 2px;
- padding-top: 2px;
- padding-left: 5px;
- font-size:1.1em;
- color:#fff;
- border-bottom:2px solid #fff;
- }
-
- #selectArea {
- padding-top: 10px;
- padding-bottom: 55px;
- padding-left: 10px;
- }
-
- .setAssertionButton {
- background: #efefef;
- cursor: pointer;
- margin-top: 15px;
- width: 70px;
- height: 25px;
- }
-
- #leftbutton {
- width: 35%;
- float:left;
- margin-left: 15px;
- }
-
- #rightbutton {
- width: 35%;
- float:right;
- margin-right: 25px;
- text-align: right;
- }
-
- #stork {
- margin-bottom: 10px;
- margin-top: 5px;
- }
-
- #bkulogin {
- overflow:hidden;
- width:250px;
- padding-top: 10px;
- }
-
- #bkukarte {
- float:left;
- background: url(../img/karte.gif) no-repeat top center;
- padding: 90px 10px 10px 10px;
- text-align:center;
- width:40%;
- }
-
- #bkuhandy {
- float:right;
- background: url(../img/handy.gif) no-repeat top center;
- padding: 90px 10px 10px 10px;
- text-align:center;
- width:40%;
- }
-
- #mandate{
- text-align:center;
- padding : 5px 5px 5px 5px;
- }
-
- button {
- background: #efefef;
- border:1px solid #000;
- cursor: pointer;
- }
-
- input {
- background: #efefef;
- border:1px solid #000;
- cursor: pointer;
- }
-
- #installJava, #BrowserNOK {
- clear:both;
- font-size:0.8em;
- padding:4px;
- }
-
- #localBKU {
- padding:4px;
- }
-
- .selectText{
-
- }
-
- .selectTextHeader{
-
- }
-
- .sendButton {
- background-color: DarkGray;
- border-style: solid;
- border-width: 1px;
- border-color: black;
- }
-
-
- #tab {
- margin-top:2px;
- padding:2px;
- clear:both;
- }
-
- #leftcontent a {
- text-decoration:none;
- color: #000;
- /* display:block;*/
- padding:4px;
- }
-
- #leftcontent a:hover, #leftcontent a:focus, #leftcontent a:active {
- text-decoration:underline;
- color: #000;
- }
-
- #navlist {
- margin-top:20px;
- }
-
- #navlist ul {
- list-style: none;
- margin-left: 0;
- }
-
- #navlist li {
- border-bottom:1px solid #fff;
- }
-
- iframe {
- width:250px;
- height: 180px
- }
-
- /* right */
-
- #rightcontent {
- float:right;
- width:220px;
- }
-
- #centercontent {
- width:auto;
- margin: 0 230px;
- }
-
- /* center */
-
- #content {
- padding:20px;
- }
-
- #content a {
- text-decoration:underline;
- color: #000;
- }
-
- #content a:hover, #content a:focus, #content a:active {
- text-decoration:underline;
- color: #000;
- }
-
- p {
- margin-bottom:1em;
- }
-
- .lightblock{
- text-align : left;
- padding : 5px 5px 5px 5px;
- }
-
-
- #mandateLogin {
- vertical-align: middle;
- }
-
-
- .infobutton {
- background-color: #005a00;
- color: white;
- font-family: serif;
- text-decoration: none;
- padding-top: 2px;
- padding-right: 4px;
- padding-bottom: 2px;
- padding-left: 4px;
- font-weight: bold;
- }
-
-
- /* [OPTIONAL] Geben Sie hier die Farbe fuer den hellen Hintergrund an */
- .hell {
- background-color : #DDDDDD;
- }
-
- /* [OPTIONAL] Geben Sie hier die Farbe fuer den dunklen Hintergrund an */
- .dunkel {
- background-color: #A02D2D;
- }
-
- /* [OPTIONAL] Geben Sie hier die Farbe fuer Links an */
- #leftcontent a, #content a {
- color: white;
- }
-
- .main_header {
- color: black;
- font-size: 32pt;
- position: absolute;
- right: 10%;
- top: 40px;
-
- }
-
- @media print {
- #wrapper { width:100%;}
- #banner {width:640px;}
- #rightcontent {display: none;}
- #centercontent {width:400px; margin-right:0;}
- }
diff --git a/id/server/auth/src/main/webapp/iframeHandyBKU.html b/id/server/auth/src/main/webapp/iframeHandyBKU.html
deleted file mode 100644
index b5936679f..000000000
--- a/id/server/auth/src/main/webapp/iframeHandyBKU.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="de">
- <head>
- <title>iFrame Handy BKU</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta http-equiv="CACHE-CONTROL" content="NO-CACHE">
- <meta http-equiv="PRAGMA" content="NO-CACHE">
- <script type="text/javascript">
- // [MUSS] Geben Sie hier die URL zum Aufruf von MOA-ID an
- // z.B.: https://yoururl.at/moa-id-auth/StartAuthentication?Target=IT&OA=https://youronlineapplication.at
- var MOA_ID_STARTAUTHENTICATION = "https://localhost:8443/moa-id-auth/StartAuthentication?Target=ZU&OA=https://localhost:8443/TestMOAID_OA/LoginServletExample";
-
- // [MUSS] Geben Sie hier die URL zum MOA-ID Template fuer die Handy Signatur an -->
- <!-- z.B.: value="https://yoururl.at/moa-id-auth/template_handyBKU.html"-->
- var URL_TO_HANDYSIGNATUR_TEMPLATE = "https://localhost:8443/moa-id-auth/template_handyBKU.html";
-
-
- window.onload=function() {
-
- document.getElementById('moaidform').action = MOA_ID_STARTAUTHENTICATION;
- document.getElementById('Template').value = URL_TO_HANDYSIGNATUR_TEMPLATE;
-
- var useMandate = gup("useMandate");
-
- if (useMandate == "true")
- document.getElementById('useMandate').value = "true";
- else
- document.getElementById('useMandate').value = "false";
-
-
- document.moaidform.submit();
- return;
- }
-
- function gup(name) {
- name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
- var regexS = "[\\?&]"+name+"=([^&#]*)";
- var regex = new RegExp( regexS );
- var results = regex.exec( window.location.href );
- if( results == null )
- return "";
- else
- return results[1];
- }
-
- </script>
- </head>
- <body>
- Bitte warten...
- <form name="moaidform" method="post" id="moaidform">
- <input type="hidden" name="Template" id="Template">
- <!-- <input type="hidden" name="bkuURI" value="https://www.handy-signatur.at/mobile/https-security-layer-request/default.aspx"> -->
- <input type="hidden" name="bkuURI" value="https://test1.a-trust.at/https-security-layer-request/default.aspx">
- <input type="hidden" name="useMandate" id="useMandate">
- </form>
- <hr>
- </body>
-</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/iframeOnlineBKU.html b/id/server/auth/src/main/webapp/iframeOnlineBKU.html
deleted file mode 100644
index 0b6e7d71f..000000000
--- a/id/server/auth/src/main/webapp/iframeOnlineBKU.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="de">
- <head>
- <title>iFrame Online BKU</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta http-equiv="CACHE-CONTROL" content="NO-CACHE">
- <meta http-equiv="PRAGMA" content="NO-CACHE">
- <script type="text/javascript">
- // [MUSS] Geben Sie hier die URL zum Aufruf von MOA-ID an
- // z.B.: https://yoururl.at/moa-id-auth/StartAuthentication?Target=IT&OA=https://youronlineapplication.at
- //var MOA_ID_STARTAUTHENTICATION = "https://localhost:8443/moa-id-auth/StartAuthentication?Target=ZU&OA=https://localhost:8443/TestMOAID_OA/LoginServletExample?locale=de&test=123";
- // OA URL encoded (um parameter in OA URL zu uebergeben)
- var MOA_ID_STARTAUTHENTICATION = "https://localhost:8443/moa-id-auth/StartAuthentication?Target=ZU&OA=https%3A%2F%2Flocalhost%3A8443%2FTestMOAID_OA%2FLoginServletExample%3Flocale%3Dde%26test%3D123";
-
-
- // [MUSS] Geben Sie hier die URL zum MOA-ID Template fuer die Online BKU an
- // z.B.: "https://yoururl.at/moa-id-auth/template_onlineBKU.html"
- var URL_TO_ONLINEBKU_TEMPLATE = "https://localhost:8443/moa-id-auth/template_onlineBKU.html";
-
- // [MUSS] Geben Sie hier die URL zur Online BKU an
- // z.B.: value="https://yoururl.at/bkuonline/https-security-layer-request"
- // Hinweis: Diese URL muss auch bei den vertrauenswürdigen BKUs in der MOA-ID Konfiguration angegeben werden (siehe Element MOA-IDConfiguration/TrustedBKUs/BKUURL)
- var URL_TO_ONLINEBKU = "https://localhost:8444/bkuonline/https-security-layer-request";
-
- window.onload=function() {
- document.getElementById('moaidform').action = MOA_ID_STARTAUTHENTICATION;
- document.getElementById('Template').value = URL_TO_ONLINEBKU_TEMPLATE;
- document.getElementById('bkuURI').value = URL_TO_ONLINEBKU;
-
- var useMandate = gup("useMandate");
-
- if (useMandate == "true")
- document.getElementById('useMandate').value = "true";
- else
- document.getElementById('useMandate').value = "false";
-
- var ccc = gup("ccc");
- if (ccc != null)
- document.getElementById('ccc').value = ccc;
-
- document.moaidform.submit();
- return;
- }
-
- function gup(name) {
- name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
- var regexS = "[\\?&]"+name+"=([^&#]*)";
- var regex = new RegExp( regexS );
- var results = regex.exec( window.location.href );
- if( results == null )
- return "";
- else
- return results[1];
- }
- </script>
- </head>
- <body>
- Bitte warten...
- <form method="POST" name="moaidform" id="moaidform">
- <input type="hidden" name="Template" id="Template">
- <input type="hidden" name="bkuURI" id="bkuURI">
- <input type="hidden" name="useMandate" id="useMandate">
- <input type="hidden" name="CCC" id="ccc">
- </form>
- <hr>
- </body>
-</html> \ No newline at end of file
diff --git a/id/server/auth/src/main/webapp/index.html b/id/server/auth/src/main/webapp/index.html
index eee3cd69a..05605388c 100644
--- a/id/server/auth/src/main/webapp/index.html
+++ b/id/server/auth/src/main/webapp/index.html
@@ -1,14 +1,102 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html lang="de">
- <head>
- <!-- [OPTIONAL] Aendern Sie hier den Titel der Seite -->
- <title>
- MOA-ID 2.0 Mainpage
- </title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <meta http-equiv="Content-Style-Type" content="text/css">
-
- </head>
- <body>
- </body>
-</html> \ No newline at end of file
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" >
+ <title>MOA-ID 2.0 RC1</title>
+ <link rel="stylesheet" href="./common/MOA.css" type="text/css">
+</head>
+<body link="#990000">
+ <table class="logoTable" width="100%" border="0" cellspacing="0" cellpadding="10">
+ <tr>
+ <td align="center" class="logoTitle" width="267"><img src="./common/LogoBKA.png" alt="Logo BKA" width="267" height="37" align="left"></td>
+ <td align="center" class="logoTitle">&nbsp;</td>
+ <td align="center" class="logoTitle" width="123"><img src="./common/LogoEGIZ.png" alt="Logo EGIZ" width="230" height="81" align="right"></td>
+ </tr>
+ </table>
+ <hr/>
+ <p class="title"><a href="../index.html">MOA-ID 2.0 RC1 </a></p>
+ <hr/>
+ <h1>Inhalt</h1>
+ <ol>
+ <li><a href="#allgemeines">Allgemeines</a>
+ <ol>
+ <li><a href="#allgemeines_service">Externe Services</a></li>
+ </ol>
+ </li>
+ <li><a href="#ss">MOA-ID-Auth </a>
+ <ol>
+ <li><a href="#ablauf">Ablauf einer Anmeldung</a></li>
+ </ol>
+ </li>
+ <li><a href="#sp">MOA-ID-Configuration</a></li>
+ </ol>
+<hr/>
+ <h1><a name="allgemeines"></a>1 Allgemeines</h1>
+ <p> Das Module MOA-ID-Auth kann von Anwendungen zur Identifizierung und Authentifizierung im Rahmen eines Anmeldeprozesses an einer Online-Applikation verwendet werden. Die Konfiguration des Modules MOA-ID-Auth erfolgt mit Hilfe des Zusatzmodules MOA-ID-Configuration welches eine web-basierte Konfigurationsschnittstelle zur Verf&uuml;gung stellt.</p>
+ <p>Das nachfolgende Blockdiagramm zeigt Struktur von MOA-ID und gibt eine kurze Beschreibung der einzelnen Komponenten.</p>
+ <p><img src="Blockdiagramm.png" alt="Architektur MOA-ID" width="1000" height="678"></p>
+ <p>&nbsp;</p>
+<p>MOA-ID besteht aus folgenden Kernkomponenten:</p>
+ <ol>
+ <li><u>CORE LOGIC</u>: Diese Komponente ist die zentrale Logik zur Steuerung der einzelnen Prozesse innerhalb MOA-ID 2.x.</li>
+ <li><u>Protocol Adapter</u>: Stellt die in MOA-ID 2.x unterst&uuml;tzten Authentifizierungsprotokolle f&uuml;r die Anbindung von Service Providern zur Verf&uuml;gung.</li>
+ <li><u>Auth Sources</u>: Stellt die von MOA-ID 2.x unterst&uuml;tzte Identifikationsmechanismen zur Verf&uuml;gung. Dies sind die &ouml;sterreichische B&uuml;rgerkarte oder Handy-Signatur sowie die Anmeldung ausl&auml;ndischer Personen mit Hilfe des STORK Protokoll.</li>
+ <li><u>Template Generator</u>: Der Template Generator erzeugt f&uuml;r Service Provider die entsprechenden Login-Masken f&uuml;r die Integration in die eigene Web-Applikation.</li>
+ <li><u>SSO Module</u>: Das Single Sign-On (SSO) Modul verwaltet die zus&auml;tzlichen Operationen die sich aus der Umsetzung von SSO ergeben. Dies umfasst im Besonderen das SSO Session-Management.</li>
+ <li><u>Statistic Module</u>: Dieses Modul dient zur Generierung von anonymisierten Statistikdaten aus den Anmeldeinformationen. </li>
+ <li><u>Monitoring &amp; Testing Module</u>: Dieses Modul implementiert Methoden mit deren Hilfe einzelne funktionale Bereiche aus MOA-ID-Auth getestet werden k&ouml;nnen. Somit dient dieses Modul als Schnittstellte zu einem externen Monitoring-Service.</li>
+ <li><u>Configuration</u><u> Modul</u>: Dieses Modul stellt die Schnittstelle zur MOA-ID-Auth Konfiguration dar welche in einer Datenbank abgelegt wird. </li>
+ <li><u>Konfigurationstool</u>: Oberfl&auml;che, mit deren Hilfe MOA-ID konfiguriert werden kann. Dies umfasst sowohl allgemeine Konfigurationsteile als auch die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Online-Applikationen. Service Provider k&ouml;nnen sich am Konfigurationstool mittels B&uuml;rgerkarte oder Handy-Signatur anmelden und ihre Online-Applikationen verwalten.</li>
+ </ol>
+ <h2><a name="allgemeines_service" id="allgemeines_service"></a>1.1 Externe Services</h2>
+<p>F&uuml;r die Anmeldung in Vertretung und die Anmeldung ausl&auml;ndischer Personen werden zus&auml;tzliche externe Services verwendet.</p>
+ <h3><a name="allgemeines_service_ovs" id="allgemeines_service2"></a>1.1.1 Online-Vollmachten</h3>
+<p>Ab der MOA-ID Release 1.5.0 werden Online-Vollmachten (f&uuml;r Anwendungen aus dem &ouml;ffentlichen Bereich) unterst&uuml;tzt. Hierzu werden diese Vollmachten &uuml;ber eine Online-Vollmachten-Service ausgew&auml;hlt. Der Zugang zu diesem Online-Vollmachten Service ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
+ <h3><a name="allgemeines_service_szrgw" id="allgemeines_service3"></a>1.1.2 Ausl&auml;ndische B&uuml;rger</h3>
+ <p> Ab der MOA-ID Release 1.4.7 ist es m&ouml;glich, dass sich auch ausl&auml;ndische B&uuml;rger mittels MOA-ID einloggen k&ouml;nnen. Hierzu wird eine Verbindung zu einem sogenannten Stammzahlenregister-Gateway aufgebaut, dass basierend auf den Zertifikatsdaten des ausl&auml;ndischen B&uuml;rgers eine Eintragung im Erg&auml;nzungsregister f&uuml;r nat&uuml;rliche Personen gem&auml;&szlig; E-Government Gesetz &sect;6(5) vornimmt. Somit ist es m&ouml;glich, dass eine Personenbindung ausgestellt werden kann, die in weitere Folge an MOA-ID weitergeleitet wird. Der Zugang zu diesem Stammzahlenregister-Gateway ist &uuml;ber eine Client-Server Authentifizierung abgesichert. Als Client-Zertifikate werden Zertifikate der Firmen A-Trust bzw. A-CERT, die mit der Verwaltungs- oder Dienstleistereigenschaft versehen sind, akzeptiert. </p>
+<h1><a name="moaidauth" id="moaidauth"></a>2 MOA-ID-Auth</h1>
+<p>Das Modul MOA-ID-Auth dient der Identifizierung und Authentifizierung im Rahmen eines Anmeldevorgangs an einer Online-Applikation. Die Identifizierung und Authentifizierung erfolgt mit B&uuml;rgerkartem, Handy-Signatur oder f&uuml;r aus&auml;ndische Personen mittels STORK.</p>
+<p>Die Funktionalit&auml;t und der Aufbau der Schnittstellen des Modules MOA-ID-Auth in Richtung Online-Applikation wird im Kapitel Protokolle beschriebe.
+<p>F&uuml;r den Betrieb von MOA-ID-Auth ist der Einsatz von MOA-Signaturpr&uuml;fung (MOA-SP) erforderlich.</p>
+<h2><a name="ablauf" id="ablauf"></a> 2.1 Ablauf einer Anmeldung</h2>
+<p>Die nachfolgende Grafik beschreibt den Ablauf eines Abmeldevorgangs an einer Online-Applikation mit Hilfe von MOA-ID-Auth unter Verwendung der B&uuml;rgerkarte oder der Handy-Signatur.</p>
+<p><img src="anmeldeablauf.png" width="947" height="881" alt="Sequenzdiagramm eines Anmeldevorgangs mit MOA-ID-Auth"></p>
+<p>&nbsp;</p>
+<ol>
+ <li>Der Benutzer verbindet sich zu einem Web-Portal (Service Provider) &uuml;ber das die Online-Applikation erreichtbar ist. Nach der Bet&auml;tigung eines Login-Buttons wird der Anmeldevorgang ausgel&ouml;st.</li>
+ <li>Der Benutzer wird zur Identifizierung und Authentifizierung an MOA-ID-Auth weitergeleitet. </li>
+ <li>MOA-ID-Auth validiert die Authentifizierungsanfrage des Service Providers</li>
+ <li>MOA-ID-Auth bietet dem Benutzer eine Auswahl von verf&uuml;gbaren Authentifizierungsmethoden (B&uuml;rgerkarte, Handy-Signatur, STORK) an.</li>
+ <li>Der Benutzer w&auml;hlt die gew&uuml;nschte Authentifizierungsmethode und sendet diese an MOA-ID-Auth.</li>
+ <li>MOA-ID-AUTH erzeugt eine HTML-Seite mit einem &lt;InfoboxReadRequest&gt; zum Auslesen der Personenbindung. Diese HTML-Seite wird an den Browser geschickt.</li>
+ <li>Der Browser schickt den &lt;InfoboxReadRequest&gt; an die ausgew&auml;hlte Bürgerkartenumgebung unter Verwendung des Security-Layer. Die Bürgerkartenumgebung liest die Personenbindung von der B&uuml;rgerkarte und sendet diese an MOA-ID-AUTH. MOA-ID-Auth prüft die Signatur der Personenbindung durch einen Aufruf von MOA-SP.</li>
+ <li>MOA-ID-AUTH erstellt den AUTH-Block. Der AUTH-Block enth&auml;lt Vor- und Nachname aus der Personenbindung, URL von MOA-ID-AUTH, URL und Gesch&auml;ftsbereich der Online-Applikation oder im Falle einer SSO Anmeldung die URL und den Gesch&auml;ftsbereich der MOA-ID-Auth Instanz, die aktuelle Zeit, das aktuelle Datum und einen Zufallswert f&uuml;r diesen Anmeldevorgang. Anschlie&szlig;end wird eine XML Antwortseite, die das Kommando zum Signieren (&lt;CreateXMLSignatureRequest&gt;) des generierten AUTH-Blocks enth&auml;lt, an die ausgew&auml;hlte Bürgerkartenumgebung, unter Verwendung des Security-Layers, gesendet.</li>
+ <li>Der Request wird von der Bürgerkartenumgebung verarbeitet. Die signierten Daten werden an MOA-ID-AUTH zur&uuml;ckgesendet.</li>
+ <li>MOA-ID-Auth &uuml;berpr&uuml;ft den signierten AUTH-Block und generiert Information f&uuml;r weitere Anmeldungen mittels Single Sign-On.</li>
+ <li>MOA-ID-Auth generiert die Anmeldedaten (Assertion) welche folgende Information enthalten:
+ <ul>
+ <li>die bereichsspezifischen Personenkennzeichen (bPK / wbPK)</li>
+ <li>Vorname, Nachname und Geburtsdatum (optional)</li>
+ <li>den signierten AUTH-Block (optional)</li>
+ <li>die Personenbindung (optional)</li>
+ <li>das Zertifikat mit dem die Signatur erzeugt wurde (optional)</li>
+ <li>informationen zum Vertreten im Falle einer Anmeldung in Vertretung (optional)</li>
+ <li>die elektronische Vollmacht im Falle einer Anmeldung in Vertretung (optional)</li>
+ <li>informationen aus dem STORK Protokoll im Falle einer Anmeldung mittels STORK (optional)</li>
+ </ul>
+ </li>
+ <li> MOA-ID-Auth sendet die Anmeldedaten an den Service-Provider und setzt im Browser des Benutzers ein SSO Session-Tokken welches f&uuml;r weitere Anmeldevorg&auml;nge verwendet werden kann.</li>
+ <li>Die Anmeldedaten werden vom Service-Provider verarbeitet und der Benutzer wird vom Service-Provider an die Online-Applikation weitergeleitet. </li>
+</ol>
+<h1><a name="config" id="config"></a>3 MOA-ID-Configuration </h1>
+<p>Das Modul MOA-ID-Configuration stellt eine web-basierte Benutzerschnittstelle zur Konfiguration des Moduls MOA-ID-Auth zur Verf&uuml;gung, wobei sich die Konfiguration in zwei Teilbereiche unterteilt ist. Eine detailierte Aufstellung der einzelnen Konfigurationspunkte befindet sich im Kapitel <a href="../config/config.html">Konfiguration</a>.</p>
+<ol>
+ <li>Allgemeine Konfiguration<br>
+ In diesem Bereich sind alle Basiseinstellungen der MOA-ID-Auth Instanz hinterlegt. Beispiele hierf&uuml;r sind Single Sign-On, unterst&uuml;tze Authentifizierungsprotokolle, Informationen zu MOA-ID-Auth, URLs zu externen Services, ... Eine &Auml;nderung der Basiseinstellung erfordert besondere Benutzerrechte am Konfigurationstool.</li>
+ <li>Online-Applikationen<br>
+ In diesem Abschnitt erfolgt die Konfiguration der einzelnen bei MOA-ID-Auth registrierten Service-Provider. Hierbei handelt es sich um authentifizierungsprotkollspezifische Einstellungen, Bereich des Service-Providers (&ouml;ffentlich / Privatwirtschaftlich), Konfiguration der BKU Auswahl, .... Wobei sich die Konfigurationsm&ouml;glichkeiten je nachdem welche Benutzerrechten vergeben sind, unterscheiden k&ouml;nnen.</li>
+</ol>
+<p>Zus&auml;tzlich unterst&uuml;tzt das Module MOA-ID-Configuration auch eine einfache Bentzerverwaltung mit Rechtevergabe mit deren Hilfe die Verwaltung von Online-Applikatioen an den jeweiligen Service-Provider ausgelagert werden kann. Die Anmeldung am Konfigurationstool erfolgt mittels B&uuml;rgerkarte, Handy-Signature oder STORK, wobei optional auch eine Anmeldung mittels Benutzername und Passwort zur Verf&uuml;gung steht.</p>
+<p>&nbsp;</p>
+</body>
+</html>
diff --git a/id/server/auth/src/main/webapp/message-auth.jsp b/id/server/auth/src/main/webapp/message-auth.jsp
deleted file mode 100644
index 0c28c1ba7..000000000
--- a/id/server/auth/src/main/webapp/message-auth.jsp
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<%@ page contentType="text/html; charset=UTF-8" %>
-<html>
-<head>
-<title>MOA-ID AUTH</title>
-</head>
-<% String message = (String)request.getAttribute("Message");
-%>
-
-<body>
-<h1>MOA-ID AUTH</h1>
-
-<% if (message != null) { %>
-<p>
-<%= message%><br>
-</p>
-<% } %>
-
-</body>
-</html> \ No newline at end of file