diff options
author | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-10-11 14:00:05 +0200 |
---|---|---|
committer | Thomas Lenz <tlenz@iaik.tugraz.at> | 2013-10-11 14:00:05 +0200 |
commit | 550ba6452a44cd93066fc5317de626d21758901b (patch) | |
tree | cfe49f04d9c8c2c06e8e4353e5bd676e6e963530 /id/server | |
parent | 663ad546237fe9102c97e0eed2970e703d3034d9 (diff) | |
download | moa-id-spss-550ba6452a44cd93066fc5317de626d21758901b.tar.gz moa-id-spss-550ba6452a44cd93066fc5317de626d21758901b.tar.bz2 moa-id-spss-550ba6452a44cd93066fc5317de626d21758901b.zip |
-- Customizable BKUSelection Form and SendAssertion Form
-- OA specific Checkbox to disable SAML1
Diffstat (limited to 'id/server')
40 files changed, 1949 insertions, 669 deletions
diff --git a/id/server/auth/src/main/webapp/css/index.css b/id/server/auth/src/main/webapp/css/index.css index d8ad49bae..622f6c255 100644 --- a/id/server/auth/src/main/webapp/css/index.css +++ b/id/server/auth/src/main/webapp/css/index.css @@ -1,451 +1,451 @@ -@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;}
-}
+ @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/img/2.0/bg_footer.png b/id/server/auth/src/main/webapp/img/2.0/bg_footer.png Binary files differdeleted file mode 100644 index d8a430e0f..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/bg_footer.png +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/bg_header.png b/id/server/auth/src/main/webapp/img/2.0/bg_header.png Binary files differdeleted file mode 100644 index 190cf97ea..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/bg_header.png +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/bg_mainnav.png b/id/server/auth/src/main/webapp/img/2.0/bg_mainnav.png Binary files differdeleted file mode 100644 index efaf93582..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/bg_mainnav.png +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/bg_mainnav_left.png b/id/server/auth/src/main/webapp/img/2.0/bg_mainnav_left.png Binary files differdeleted file mode 100644 index 1dd281826..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/bg_mainnav_left.png +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/bg_mainnav_right.png b/id/server/auth/src/main/webapp/img/2.0/bg_mainnav_right.png Binary files differdeleted file mode 100644 index f598be094..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/bg_mainnav_right.png +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/bku_local.gif b/id/server/auth/src/main/webapp/img/2.0/bku_local.gif Binary files differdeleted file mode 100644 index 9bbf631c0..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/bku_local.gif +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/bku_mobile.gif b/id/server/auth/src/main/webapp/img/2.0/bku_mobile.gif Binary files differdeleted file mode 100644 index 97c8cee35..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/bku_mobile.gif +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/bku_online.gif b/id/server/auth/src/main/webapp/img/2.0/bku_online.gif Binary files differdeleted file mode 100644 index 03a54765a..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/bku_online.gif +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/checkbox_checked.png b/id/server/auth/src/main/webapp/img/2.0/checkbox_checked.png Binary files differdeleted file mode 100644 index 562fbc66f..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/checkbox_checked.png +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/checkbox_unchecked.gif b/id/server/auth/src/main/webapp/img/2.0/checkbox_unchecked.gif Binary files differdeleted file mode 100644 index c93a6ea06..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/checkbox_unchecked.gif +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/dsk.ico b/id/server/auth/src/main/webapp/img/2.0/dsk.ico Binary files differdeleted file mode 100644 index df7e8d31e..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/dsk.ico +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/logo.png b/id/server/auth/src/main/webapp/img/2.0/logo.png Binary files differdeleted file mode 100644 index dfb4351d0..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/logo.png +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/logo_digitalesOE.gif b/id/server/auth/src/main/webapp/img/2.0/logo_digitalesOE.gif Binary files differdeleted file mode 100644 index ff83cd82b..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/logo_digitalesOE.gif +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/logo_dsk_nav.png b/id/server/auth/src/main/webapp/img/2.0/logo_dsk_nav.png Binary files differdeleted file mode 100644 index 9b3e7055a..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/logo_dsk_nav.png +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/logo_dsk_szr_header.png b/id/server/auth/src/main/webapp/img/2.0/logo_dsk_szr_header.png Binary files differdeleted file mode 100644 index b4f8be6d8..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/logo_dsk_szr_header.png +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/std_handy.gif b/id/server/auth/src/main/webapp/img/2.0/std_handy.gif Binary files differdeleted file mode 100644 index 088ec0957..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/std_handy.gif +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/2.0/std_karte.gif b/id/server/auth/src/main/webapp/img/2.0/std_karte.gif Binary files differdeleted file mode 100644 index 1ec7afc2e..000000000 --- a/id/server/auth/src/main/webapp/img/2.0/std_karte.gif +++ /dev/null diff --git a/id/server/auth/src/main/webapp/img/mobile-bku.png b/id/server/auth/src/main/webapp/img/mobile-bku.png Binary files differnew file mode 100644 index 000000000..697514273 --- /dev/null +++ b/id/server/auth/src/main/webapp/img/mobile-bku.png diff --git a/id/server/auth/src/main/webapp/img/online-bku.png b/id/server/auth/src/main/webapp/img/online-bku.png Binary files differnew file mode 100644 index 000000000..d7d524999 --- /dev/null +++ b/id/server/auth/src/main/webapp/img/online-bku.png diff --git a/id/server/auth/src/main/webapp/img/valid-html5-blue.png b/id/server/auth/src/main/webapp/img/valid-html5-blue.png Binary files differnew file mode 100644 index 000000000..91ebe3e87 --- /dev/null +++ b/id/server/auth/src/main/webapp/img/valid-html5-blue.png diff --git a/id/server/auth/src/main/webapp/img/w3cvalidhtml5.jpg b/id/server/auth/src/main/webapp/img/w3cvalidhtml5.jpg Binary files differnew file mode 100644 index 000000000..2cd65412e --- /dev/null +++ b/id/server/auth/src/main/webapp/img/w3cvalidhtml5.jpg diff --git a/id/server/auth/src/main/webapp/template_handyBKU.html b/id/server/auth/src/main/webapp/template_handyBKU.html index 0ad73a6f3..91f7fad6f 100644 --- a/id/server/auth/src/main/webapp/template_handyBKU.html +++ b/id/server/auth/src/main/webapp/template_handyBKU.html @@ -19,13 +19,13 @@ <input type="hidden" name="PushInfobox" value="<PushInfobox>">
<!-- Angabe der Parameter für die Handy-BKU -->
- <input type="hidden" name="appletWidth" value="220">
- <input type="hidden" name="appletHeight" value="159">
+ <input type="hidden" name="appletWidth" value="<APPLETWIDTH>">
+ <input type="hidden" name="appletHeight" value="<APPLETHEIGHT>">
<!-- [OPTIONAL] Aendern Sie hier die Hintergrundfarbe der Handy-BKU -->
- <input type="hidden" name="backgroundColor" value="#DDDDDD">
+ <input type="hidden" name="backgroundColor" value="<COLOR>">
- <input type="hidden" name="redirecttarget" value="_parent">
+ <input type="hidden" name="redirecttarget" value="<REDIRECTTARGET>">
</form>
<form name="CustomizedInfoForm" action="<BKU>" method="post">
diff --git a/id/server/auth/src/main/webapp/template_onlineBKU.html b/id/server/auth/src/main/webapp/template_onlineBKU.html index 8f9fce8b4..534d3dc55 100644 --- a/id/server/auth/src/main/webapp/template_onlineBKU.html +++ b/id/server/auth/src/main/webapp/template_onlineBKU.html @@ -19,12 +19,12 @@ <input type="hidden" name="PushInfobox" value="<PushInfobox>">
<!-- Angabe der Parameter fuer die Online-BKU -->
- <input type="hidden" name="appletWidth" value="250">
- <input type="hidden" name="appletHeight" value="160">
+ <input type="hidden" name="appletWidth" value="<APPLETWIDTH>">
+ <input type="hidden" name="appletHeight" value="<APPLETHEIGHT>">
<!-- [OPTIONAL] Aendern Sie hier die Hintergrundfarbe der Online-BKU -->
<input type="hidden" name="appletBackgroundColor" value="<COLOR>">
- <input type="hidden" name="redirectTarget" value="_top">
+ <input type="hidden" name="redirectTarget" value="<REDIRECTTARGET>">
</form>
<form name="CustomizedInfoForm" action="<BKU>" method="post">
diff --git a/id/server/idserverlib/pom.xml b/id/server/idserverlib/pom.xml index 8f3dd9630..62752e9f4 100644 --- a/id/server/idserverlib/pom.xml +++ b/id/server/idserverlib/pom.xml @@ -31,12 +31,12 @@ <artifactId>moa-common</artifactId>
<type>jar</type>
</dependency>
-<!-- <dependency>
+ <dependency>
<groupId>MOA</groupId>
<artifactId>moa-common</artifactId>
<type>test-jar</type>
<scope>test</scope>
- </dependency> -->
+ </dependency>
<dependency>
<groupId>MOA.spss.server</groupId>
<artifactId>moa-spss-lib</artifactId>
diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java index 25f0ba1d3..84f85b3d6 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/AuthenticationServer.java @@ -49,6 +49,7 @@ import javax.servlet.http.HttpSession; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.TransformerException; +import org.apache.commons.lang.StringEscapeUtils; import org.apache.xpath.XPathAPI; import org.opensaml.saml2.metadata.RequestedAttribute; import org.opensaml.xml.util.Base64; @@ -212,7 +213,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { * @param templateMandteURL * URL providing an HTML template for the HTML form generated * (for signing in mandates mode) - * @param scheme + * @param req * determines the protocol used * @param sourceID * @return HTML form @@ -220,7 +221,7 @@ public class AuthenticationServer implements MOAIDAuthConstants { * @see GetIdentityLinkFormBuilder * @see InfoboxReadRequestBuilder */ - public String startAuthentication(AuthenticationSession session, String scheme) throws WrongParametersException, + public String startAuthentication(AuthenticationSession session, HttpServletRequest req) throws WrongParametersException, AuthenticationException, ConfigurationException, BuildException { if (session == null) { @@ -289,9 +290,15 @@ public class AuthenticationServer implements MOAIDAuthConstants { .buildDataURL(session.getAuthURL(), REQ_START_AUTHENTICATION, session.getSessionID()); + //get Applet Parameters + String appletwidth = req.getParameter(PARAM_APPLET_WIDTH); + String appletheigth = req.getParameter(PARAM_APPLET_HEIGTH); + appletheigth = StringEscapeUtils.escapeHtml(appletheigth); + appletwidth = StringEscapeUtils.escapeHtml(appletwidth); + String htmlForm = new GetIdentityLinkFormBuilder().build(template, session.getBkuURL(), infoboxReadRequest, dataURL, certInfoRequest, - certInfoDataURL, pushInfobox, oaParam); + certInfoDataURL, pushInfobox, oaParam, appletheigth, appletwidth); return htmlForm; } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java index c17b86c46..264a4f68b 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/MOAIDAuthConstants.java @@ -149,4 +149,7 @@ public interface MOAIDAuthConstants { public final static String EXT_SAML_MANDATE_REPRESENTATIONTEXT = "Vollmachtsvertreter"; public final static String EXT_SAML_MANDATE_CB_BASE_ID = "MandatorDomainIdentifier"; + public static final String PARAM_APPLET_HEIGTH = "heigth"; + public static final String PARAM_APPLET_WIDTH = "width"; + } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java index ceffd90dc..7753b4011 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilder.java @@ -27,9 +27,11 @@ package at.gv.egovernment.moa.id.auth.builder; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; +import java.util.Map; import at.gv.egovernment.moa.id.auth.exception.BuildException; import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; +import at.gv.egovernment.moa.id.util.FormBuildUtils; import at.gv.egovernment.moa.util.MiscUtil; /** @@ -55,9 +57,13 @@ public class GetIdentityLinkFormBuilder extends Builder { /** special tag in the HTML template to be substituted for the infoboxes to be pushed from the BKU */ private static final String PUSHINFOBOX_TAG = "<PushInfobox>"; /** special tag in the HTML template to be substituted for the BKU URL */ - private static final String COLOR_TAG = "<COLOR>"; /** private static int all contains the representation to replace all tags*/ private static final int ALL = -1; + + private static final String COLOR_TAG = "<COLOR>"; + private static final String REDIRECTTARGETTAG = "<REDIRECTTARGET>"; + private static final String APPLETWIDTH_TAG = "<APPLETWIDTH>"; + private static final String APPLETHEIGHT_TAG = "<APPLETHEIGHT>"; /** default HTML template */ private static final String DEFAULT_HTML_TEMPLATE = @@ -115,6 +121,8 @@ public class GetIdentityLinkFormBuilder extends Builder { * may be <code>null</code>, in this case the default URL will be used * @param dataURL DataURL to be sent as a parameter in the form * @param oaParam + * @param appletwidth + * @param appletheigth */ public String build( String htmlTemplate, @@ -123,7 +131,9 @@ public class GetIdentityLinkFormBuilder extends Builder { String dataURL, String certInfoXMLRequest, String certInfoDataURL, - String pushInfobox, OAAuthParameter oaParam) + String pushInfobox, OAAuthParameter oaParam, + String appletheigth, + String appletwidth) throws BuildException { String htmlForm = htmlTemplate == null ? DEFAULT_HTML_TEMPLATE : htmlTemplate; @@ -136,14 +146,24 @@ public class GetIdentityLinkFormBuilder extends Builder { htmlForm = replaceTag(htmlForm, CERTINFO_DATAURL_TAG, certInfoDataURL, true, ALL); if (oaParam != null) { - if (MiscUtil.isNotEmpty(oaParam.getBKUSelectionBackGroundColor())) - htmlForm = replaceTag(htmlForm, COLOR_TAG, oaParam.getBKUSelectionBackGroundColor(), false, ALL); - else - htmlForm = replaceTag(htmlForm, COLOR_TAG, "#DDDDDD", false, ALL); - - } else - htmlForm = replaceTag(htmlForm, COLOR_TAG, "#DDDDDD", false, ALL); + Map<String, String> map = oaParam.getFormCustomizaten(); + htmlForm = replaceTag(htmlForm, COLOR_TAG, map.get(FormBuildUtils.MAIN_BACKGROUNDCOLOR), false, ALL); + htmlForm = replaceTag(htmlForm, REDIRECTTARGETTAG, map.get(FormBuildUtils.REDIRECTTARGET), false, ALL); + + } else { + htmlForm = replaceTag(htmlForm, COLOR_TAG, FormBuildUtils.getDefaultMap().get(FormBuildUtils.MAIN_BACKGROUNDCOLOR), false, ALL); + htmlForm = replaceTag(htmlForm, REDIRECTTARGETTAG, FormBuildUtils.getDefaultMap().get(FormBuildUtils.REDIRECTTARGET), false, ALL); + } + + if (MiscUtil.isNotEmpty(appletheigth)) + htmlForm = replaceTag(htmlForm, APPLETHEIGHT_TAG, appletheigth, true, ALL); + else + htmlForm = replaceTag(htmlForm, APPLETHEIGHT_TAG, "160", true, ALL); + if (MiscUtil.isNotEmpty(appletwidth)) + htmlForm = replaceTag(htmlForm, APPLETWIDTH_TAG, appletwidth, true, ALL); + else + htmlForm = replaceTag(htmlForm, APPLETWIDTH_TAG, "250", true, ALL); return htmlForm; } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/LoginFormBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/LoginFormBuilder.java index 789651f16..729af48f7 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/LoginFormBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/LoginFormBuilder.java @@ -13,6 +13,7 @@ import org.apache.commons.io.IOUtils; import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; import at.gv.egovernment.moa.id.protocols.saml1.SAML1Protocol; +import at.gv.egovernment.moa.id.util.FormBuildUtils; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.MiscUtil; @@ -20,12 +21,7 @@ public class LoginFormBuilder { private static final String HTMLTEMPLATESDIR = "htmlTemplates/"; private static final String HTMLTEMPLATEFULL = "loginFormFull.html"; - - private static final String TEMPLATEBGCOLOR = "style=\"background-color: #COLOR#\""; - private static final String TEMPLATEVISIBLE = " display: none"; - private static final String TEMPLATEDISABLED = "disabled=\"true\""; - private static final String TEMPLATECHECKED = "checked=\"true\""; - + private static String AUTH_URL = "#AUTH_URL#"; private static String MODUL = "#MODUL#"; private static String ACTION = "#ACTION#"; @@ -35,11 +31,7 @@ public class LoginFormBuilder { private static String BKU_LOCAL = "#LOCAL#"; private static String CONTEXTPATH = "#CONTEXTPATH#"; private static String MOASESSIONID = "#SESSIONID#"; - private static String BACKGROUNDCOLOR = "#BACKGROUNDCOLOR#"; - private static String COLOR = "#COLOR#"; - private static String MANDATEVISIBLE = "#MANDATEVISIBLE#"; - private static String MANDATECHECKED = "#MANDATECHECKED#"; - + private static String SERVLET = CONTEXTPATH+"/GenerateIframeTemplate"; private static String getTemplate() { @@ -107,24 +99,8 @@ public class LoginFormBuilder { value = value.replace(CONTEXTPATH, contextpath); value = value.replace(MOASESSIONID, moaSessionID); - String bgcolor = oaParam.getBKUSelectionBackGroundColor(); - if (MiscUtil.isNotEmpty(bgcolor)) { - value = value.replace(BACKGROUNDCOLOR, TEMPLATEBGCOLOR); - value = value.replace(COLOR, bgcolor); - } else - value = value.replace(BACKGROUNDCOLOR, ""); - - if (oaParam.isShowMandateCheckBox()) - value = value.replace(MANDATEVISIBLE, ""); - else - value = value.replace(MANDATEVISIBLE, TEMPLATEVISIBLE); - - if (oaParam.isOnlyMandateAllowed()) { - value = value.replace(MANDATECHECKED, TEMPLATECHECKED + " " + TEMPLATEDISABLED); - - } else - value = value.replace(MANDATECHECKED, ""); - + value = FormBuildUtils.customiceLayoutBKUSelection(value, oaParam); + } return value; } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SendAssertionFormBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SendAssertionFormBuilder.java index cd8750ad0..1617ef796 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SendAssertionFormBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/SendAssertionFormBuilder.java @@ -13,6 +13,7 @@ import org.apache.commons.io.IOUtils; import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; import at.gv.egovernment.moa.id.protocols.saml1.SAML1Protocol; +import at.gv.egovernment.moa.id.util.FormBuildUtils; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.MiscUtil; @@ -97,13 +98,8 @@ public class SendAssertionFormBuilder { value = value.replace(OANAME, oaParam.getFriendlyName()); value = value.replace(CONTEXTPATH, contextpath); - String bgcolor = oaParam.getBKUSelectionBackGroundColor(); - if (MiscUtil.isNotEmpty(bgcolor)) { - value = value.replace(BACKGROUNDCOLOR, TEMPLATEBGCOLOR); - value = value.replace(COLOR, bgcolor); - } else - value = value.replace(BACKGROUNDCOLOR, ""); - + value = FormBuildUtils.customiceLayoutBKUSelection(value, oaParam); + } return value; } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java index c00aa38c5..3bc152ec8 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/builder/StartAuthenticationBuilder.java @@ -48,7 +48,7 @@ public class StartAuthenticationBuilder { //normal MOA-ID authentication Logger.debug("Starting normal MOA-ID authentication"); - String getIdentityLinkForm = AuthenticationServer.getInstance().startAuthentication(moasession, req.getScheme()); + String getIdentityLinkForm = AuthenticationServer.getInstance().startAuthentication(moasession, req); return getIdentityLinkForm; } diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java index cdd5cd384..98ef78d53 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/auth/servlet/GenerateIFrameTemplateServlet.java @@ -8,6 +8,8 @@ import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.commons.lang.StringEscapeUtils; + import at.gv.egovernment.moa.id.auth.MOAIDAuthInitializer; import at.gv.egovernment.moa.id.auth.builder.StartAuthenticationBuilder; import at.gv.egovernment.moa.id.auth.data.AuthenticationSession; @@ -53,6 +55,8 @@ public class GenerateIFrameTemplateServlet extends AuthServlet { String useMandate = req.getParameter(PARAM_USEMANDATE); String ccc = req.getParameter(PARAM_CCC); String moasessionid = req.getParameter(PARAM_SESSIONID); + + moasessionid = StringEscapeUtils.escapeHtml(moasessionid); AuthenticationSession moasession = null; diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java index e1f527040..3c4234114 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/auth/OAAuthParameter.java @@ -25,7 +25,9 @@ package at.gv.egovernment.moa.id.config.auth; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import at.gv.egovernment.moa.id.commons.db.dao.config.AuthComponentOA; import at.gv.egovernment.moa.id.commons.db.dao.config.BKUSelectionCustomizationType; @@ -41,6 +43,7 @@ import at.gv.egovernment.moa.id.commons.db.dao.config.TemplatesType; import at.gv.egovernment.moa.id.commons.db.dao.config.TransformsInfoType; import at.gv.egovernment.moa.id.config.ConfigurationUtils; import at.gv.egovernment.moa.id.config.OAParameter; +import at.gv.egovernment.moa.id.util.FormBuildUtils; import at.gv.egovernment.moa.logging.Logger; import at.gv.egovernment.moa.util.MiscUtil; import eu.stork.vidp.messages.builder.STORKMessagesBuilder; @@ -235,18 +238,6 @@ public String getIdentityLinkDomainIdentifierType() { return null; } -public String getBKUSelectionBackGroundColor() { - TemplatesType templates = oa_auth.getTemplates(); - if (templates != null) { - BKUSelectionCustomizationType bkuselection = templates.getBKUSelectionCustomization(); - if (bkuselection != null) { - if (MiscUtil.isNotEmpty(bkuselection.getBackGroundColor())) - return bkuselection.getBackGroundColor(); - } - } - return null; -} - public boolean isShowMandateCheckBox() { TemplatesType templates = oa_auth.getTemplates(); @@ -272,6 +263,51 @@ public boolean isOnlyMandateAllowed() { return false; } +public Map<String, String> getFormCustomizaten() { + TemplatesType templates = oa_auth.getTemplates(); + + Map<String, String> map = new HashMap<String, String>(); + map.putAll(FormBuildUtils.getDefaultMap()); + + if (templates != null) { + BKUSelectionCustomizationType bkuselection = templates.getBKUSelectionCustomization(); + if (bkuselection != null) { + if (MiscUtil.isNotEmpty(bkuselection.getBackGroundColor())) + map.put(FormBuildUtils.MAIN_BACKGROUNDCOLOR, bkuselection.getBackGroundColor()); + + if (MiscUtil.isNotEmpty(bkuselection.getButtonBackGroundColor())) + map.put(FormBuildUtils.BUTTON_BACKGROUNDCOLOR, bkuselection.getButtonBackGroundColor()); + + if (MiscUtil.isNotEmpty(bkuselection.getButtonBackGroundColorFocus())) + map.put(FormBuildUtils.BUTTON_BACKGROUNDCOLOR_FOCUS, bkuselection.getButtonBackGroundColorFocus()); + + if (MiscUtil.isNotEmpty(bkuselection.getButtonFontColor())) + map.put(FormBuildUtils.BUTTON_COLOR, bkuselection.getButtonFontColor()); + + if (MiscUtil.isNotEmpty(bkuselection.getFontType())) + map.put(FormBuildUtils.FONTFAMILY, bkuselection.getFontType()); + + if (MiscUtil.isNotEmpty(bkuselection.getFrontColor())) + map.put(FormBuildUtils.MAIN_COLOR, bkuselection.getFrontColor()); + + if (MiscUtil.isNotEmpty(bkuselection.getHeaderBackGroundColor())) + map.put(FormBuildUtils.HEADER_BACKGROUNDCOLOR, bkuselection.getHeaderBackGroundColor()); + + if (MiscUtil.isNotEmpty(bkuselection.getHeaderFrontColor())) + map.put(FormBuildUtils.HEADER_COLOR, bkuselection.getHeaderFrontColor()); + + if (MiscUtil.isNotEmpty(bkuselection.getHeaderText())) + map.put(FormBuildUtils.HEADER_TEXT, bkuselection.getHeaderText()); + + if (MiscUtil.isNotEmpty(bkuselection.getAppletRedirectTarget())) + map.put(FormBuildUtils.REDIRECTTARGET, bkuselection.getAppletRedirectTarget()); + + } + } + + return map; +} + /** * @return the qaaLevel */ diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java index c7ab2d4c4..7ef043abe 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/config/legacy/BuildFromLegacyConfig.java @@ -465,6 +465,7 @@ public class BuildFromLegacyConfig { oa_saml1.setProvideIdentityLink(oa.getProvideIdentityLink()); oa_saml1.setProvideStammzahl(oa.getProvideStammzahl()); oa_saml1.setUseCondition(oa.getUseCondition()); + oa_saml1.setIsActive(true); //OA_PVP2 OAPVP2 oa_pvp2 = new OAPVP2(); diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java index 9d163032e..21aedb50b 100644 --- a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/protocols/saml1/SAML1Protocol.java @@ -12,6 +12,7 @@ import at.gv.egovernment.moa.id.auth.exception.AuthenticationException; import at.gv.egovernment.moa.id.auth.exception.MOAIDException; import at.gv.egovernment.moa.id.auth.exception.WrongParametersException; import at.gv.egovernment.moa.id.auth.servlet.RedirectServlet; +import at.gv.egovernment.moa.id.commons.db.dao.config.OASAML1; import at.gv.egovernment.moa.id.config.auth.AuthConfigurationProvider; import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; import at.gv.egovernment.moa.id.moduls.IAction; @@ -84,9 +85,16 @@ public class SAML1Protocol implements IModulInfo, MOAIDAuthConstants { if (oaParam == null) throw new AuthenticationException("auth.00", new Object[] { oaURL }); + + OASAML1 saml1 = oaParam.getSAML1Parameter(); + if (saml1 == null || !(saml1.isIsActive() != null && saml1.isIsActive()) ) { + Logger.info("Online-Application " + oaURL + " can not use SAML1 for authentication."); + throw new AuthenticationException("auth.00", + new Object[] { oaURL }); + } config.setTarget(oaParam.getTarget()); - + request.getSession().setAttribute(PARAM_OA, oaURL); request.getSession().setAttribute(PARAM_TARGET, oaParam.getTarget()); return config; diff --git a/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/FormBuildUtils.java b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/FormBuildUtils.java new file mode 100644 index 000000000..533957cc8 --- /dev/null +++ b/id/server/idserverlib/src/main/java/at/gv/egovernment/moa/id/util/FormBuildUtils.java @@ -0,0 +1,82 @@ +package at.gv.egovernment.moa.id.util; + +import java.util.HashMap; +import java.util.Map; +import java.util.Set; + +import at.gv.egovernment.moa.id.config.auth.OAAuthParameter; + +public class FormBuildUtils { + + private static Map<String, String> defaultmap = null; + + public static String MAIN_BACKGROUNDCOLOR = "#MAIN_BACKGOUNDCOLOR#"; + public static String MAIN_COLOR = "#MAIN_COLOR#"; + public static String HEADER_BACKGROUNDCOLOR = "#HEADER_BACKGROUNDCOLOR#"; + public static String HEADER_COLOR = "#HEADER_COLOR#"; + public static String BUTTON_BACKGROUNDCOLOR = "#BUTTON_BACKGROUNDCOLOR#"; + public static String BUTTON_BACKGROUNDCOLOR_FOCUS = "#BUTTON_BACKGROUNDCOLOR_FOCUS#"; + public static String BUTTON_COLOR = "#BUTTON_COLOR#"; + public static String FONTFAMILY = "#FONTTYPE#"; + public static String HEADER_TEXT = "#HEADER_TEXT#"; + public static String REDIRECTTARGET = "#REDIRECTTARGET#"; + + private static String MANDATEVISIBLE = "#MANDATEVISIBLE#"; + private static String MANDATECHECKED = "#MANDATECHECKED#"; + private static final String TEMPLATEVISIBLE = " display: none"; + private static final String TEMPLATEDISABLED = "disabled=\"true\""; + private static final String TEMPLATECHECKED = "checked=\"true\""; + private static final String TEMPLATE_ARIACHECKED = "aria-checked="; + + + static { + if (defaultmap == null) { + defaultmap = new HashMap<String, String>(); + defaultmap.put(MAIN_BACKGROUNDCOLOR, "#F7F8F7"); + defaultmap.put(MAIN_COLOR, "#000000"); + + defaultmap.put(HEADER_BACKGROUNDCOLOR, "#C3D2E2"); + defaultmap.put(HEADER_COLOR, "#000000"); + defaultmap.put(HEADER_TEXT, "Login"); + + defaultmap.put(BUTTON_BACKGROUNDCOLOR, "#EBEBEB"); + defaultmap.put(BUTTON_BACKGROUNDCOLOR_FOCUS, "#EBEBEB"); + defaultmap.put(BUTTON_COLOR, "#000000"); + + defaultmap.put(FONTFAMILY, "Verdana, Geneva, Arial, sans-serif"); + + defaultmap.put(REDIRECTTARGET, "_top"); + } + } + + + public static String customiceLayoutBKUSelection(String value, OAAuthParameter oaParam) { + + if (oaParam.isShowMandateCheckBox()) + value = value.replace(MANDATEVISIBLE, ""); + else + value = value.replace(MANDATEVISIBLE, TEMPLATEVISIBLE); + + if (oaParam.isOnlyMandateAllowed()) { + value = value.replace(MANDATECHECKED, TEMPLATECHECKED + " " + + TEMPLATEDISABLED + " " + + TEMPLATE_ARIACHECKED + "\"true\""); + + } else + value = value.replace(MANDATECHECKED, TEMPLATE_ARIACHECKED + "\"false\""); + + Map<String, String> map = oaParam.getFormCustomizaten(); + Set<String> elements = map.keySet(); + for (String element: elements) { + value = value.replace(element, map.get(element)); + } + + return value; + } + + public static Map<String, String> getDefaultMap() { + return defaultmap; + } + + +} diff --git a/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html b/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html index 55290d05e..efc3e8d9d 100644 --- a/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html +++ b/id/server/idserverlib/src/main/resources/resources/templates/loginFormFull.html @@ -1,14 +1,572 @@ -<html> -<head> - <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> - <meta content="text/css" http-equiv="Content-Style-Type"> - <link rel="stylesheet" type="text/css" href="#CONTEXTPATH#/css/index.css"> - - <script type="text/javascript"> +<!DOCTYPE html> +<html> + <head> + <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> + + <!-- MOA-ID 2.x BKUSelection Layout CSS --> + <style type="text/css"> + @media screen and (min-width: 650px) { + + body { + margin:0; + padding:0; + color : #000; + background-color : #fff; + text-align: center; + background-color: #6B7B8B; + } + + #localBKU p { + font-size: 0.7em; + } + + #localBKU input{ + font-size: 0.7em; + border-radius: 5px; + } + + #bkuselectionarea button { + font-size: 0.85em; + border-radius: 7px; + margin-bottom: 25px; + } + + #mandateLogin { + font-size: 0.85em; + } + + #bku_header h2 { + font-size: 0.8em; + } + + + #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); + } + + #selectArea { + font-size: 15px; + padding-bottom: 65px; + } + + #leftcontent { + width: 300px; + margin-top: 30px; + } + + #bku_header { + height: 5%; + padding-bottom: 3px; + padding-top: 3px; + } + + #bkulogin { + overflow:hidden; + min-width: 190px; + min-height: 180px; + /*height: 260px;*/ + } + + h2#tabheader{ + font-size: 1.1em; + padding-left: 2%; + padding-right: 2%; + position: relative; + } + + .setAssertionButton_full { + background: #efefef; + cursor: pointer; + margin-top: 15px; + width: 100px; + height: 30px + } + + #leftbutton { + width: 30%; + float:left; + margin-left: 40px; + } + + #rightbutton { + width: 30%; + float:right; + margin-right: 45px; + text-align: right; + } + + button { + height: 25px; + width: 90px; + margin-bottom: 10px; + } + + #validation { + position: absolute; + bottom: 0px; + margin-left: 270px; + padding-bottom: 10px; + } + + } + + @media screen and (max-width: 205px) { + #localBKU p { + font-size: 0.6em; + } + + #localBKU input { + font-size: 0.6em; + min-width: 60px; + max-width: 65px; + min-height: 1.0em; + border-radius: 5px; + } + + #bkuselectionarea button { + font-size: 0.8em; + min-width: 65px; + min-height: 1.3em; + border-radius: 5px; + margin-bottom: 2% + } + + #mandateLogin { + font-size: 0.65em; + } + + #bku_header h2 { + font-size: 0.8em; + margin-top: -0.4em; + } + } + + @media screen and (max-width: 249px) and (min-width: 206px) { + #localBKU p { + font-size: 0.7em; + } + + #localBKU input { + font-size: 0.7em; + min-width: 70px; + max-width: 75px; + min-height: 0.95em; + border-radius: 6px; + } + + #bkuselectionarea button{ + font-size: 0.85em; + min-width: 70px; + min-height: 0.95em; + border-radius: 6px; + margin-bottom: 5% + } + + #mandateLogin { + font-size: 0.75em; + } + + #bku_header h2 { + font-size: 0.9em; + margin-top: -0.45em; + } + } + + @media screen and (max-width: 299px) and (min-width: 250px) { + #localBKU p { + font-size: 0.9em; + } + + #localBKU input { + font-size: 0.8em; + min-width: 70px; + max-width: 75px; + border-radius: 6px; + } + + #bkuselectionarea button { + font-size: 1.0em; + min-height: 1.05em; + border-radius: 7px; + margin-bottom: 10%; + } + + #mandateLogin { + font-size: 1em; + } + + #bku_header h2 { + font-size: 1.0em; + margin-top: -0.50em; + } + } + + @media screen and (max-width: 399px) and (min-width: 300px) { + #localBKU p { + font-size: 0.9em; + } + + #localBKU input { + font-size: 0.8em; + min-width: 70px; + max-width: 75px; + border-radius: 6px; + } + + #bkuselectionarea button { + font-size: 1.1em; + min-height: 1.2em; + border-radius: 8px; + margin-bottom: 10%; + } + + #mandateLogin { + font-size: 1em; + } + + #bku_header h2 { + font-size: 1.1em; + margin-top: -0.55em; + } + } + + @media screen and (max-width: 649px) and (min-width: 400px) { + #localBKU p { + font-size: 0.9em; + } + + #localBKU input { + font-size: 0.8em; + min-width: 70px; + max-width: 80px; + border-radius: 6px; + } + + #bkuselectionarea button { + font-size: 1.3em; + min-height: 1.3em; + border-radius: 10px; + margin-bottom: 10%; + } + + #mandateLogin { + font-size: 1.2em; + } + + #bku_header h2 { + font-size: 1.3em; + margin-top: -0.65em; + } + } + + + + @media screen and (max-width: 649px) { + + body { + margin:0; + padding:0; + color : #000; + text-align: center; + font-size: 100%; + background-color: #MAIN_BACKGOUNDCOLOR#; + } + + #page { + visibility: hidden; + margin-top: 0%; + } + + #page1 { + visibility: hidden; + } + + #main { + visibility: hidden; + } + + #validation { + visibility: hidden; + display: none; + } + + .OA_header { + margin-bottom: 0px; + margin-top: 0px; + font-size: 0pt; + visibility: hidden; + } + + #leftcontent { + visibility: visible; + margin-bottom: 0px; + text-align: left; + border:none; + min-width: 190px; + min-height: 190px; + vertical-align: middle; + + } + + #bku_header { + height: 10%; + min-height: 1.2em; + margin-top: 1%; + } + + h2#tabheader{ + padding-left: 2%; + padding-right: 2%; + padding-top: 1%; + position: relative; + top: 50%; + } + + #bkulogin { + min-width: 190px; + min-height: 150px; + } + + .setAssertionButton_full { + background: #efefef; + cursor: pointer; + margin-top: 15px; + width: 70px; + height: 25px; + } + + button { + height: 11%; + width: 70%; + } + } + + * { + margin: 0; + padding: 0; + border: 0; + font-family: "#FONTTYPE#"; + } + + #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; + } + + #mandateLogin { + padding-bottom: 2%; + padding-top: 2%; + height: 10%; + position: relative; + text-align: center; + } + + .verticalcenter { + vertical-align: middle; + } + + #mandateLogin div { + clear: both; + margin-top: -1%; + position: relative; + top: 50%; + } + + #bkuselectionarea { + position: relative; + display: block; + } + + #localBKU { + padding-left: 5%; + padding-right: 2%; + padding-bottom: 2%; + position: relative; + clear: both; + } + + #bkukarte { + float:left; + text-align:center; + width:40%; + min-height: 70px; + padding-left: 5%; + padding-top: 2%; + } + + #bkuhandy { + float:right; + text-align:center; + width:40%; + min-height: 90px; + padding-right: 5%; + padding-top: 2%; + } + + .bkuimage { + width: 90%; + height: auto; + } + + #mandate{ + text-align:center; + padding : 5px 5px 5px 5px; + } + + button, .sendButton { + background: #BUTTON_BACKGROUNDCOLOR#; + color: #BUTTON_COLOR#; + border:1px solid #000; + cursor: pointer; + box-shadow: 3px 3px 3px #222222; + } + + button:hover, button:focus, button:active, + .sendButton:hover , .sendButton:focus, .sendButton:active, + #mandateCheckBox:hover, #mandateCheckBox:focus, #mandateCheckBox:active { + background: #BUTTON_BACKGROUNDCOLOR_FOCUS#; + color: #BUTTON_COLOR#; + border:1px solid #000; + cursor: pointer; + box-shadow: -1px -1px 3px #222222; + } + + + input { + border:1px solid #000; + cursor: pointer; + } + + #installJava, #BrowserNOK { + clear:both; + font-size:0.8em; + padding:4px; + } + + .selectText{ + + } + + .selectTextHeader{ + + } + + .sendButton { + width: 30%; + margin-bottom: 1%; + } + + #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; + } + + .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; + } + + .hell { + background-color : #MAIN_BACKGOUNDCOLOR#; + color: #MAIN_COLOR#; + } + + .dunkel { + background-color: #HEADER_BACKGROUNDCOLOR#; + color: #HEADER_COLOR#; + } + + .main_header { + color: black; + font-size: 32pt; + position: absolute; + right: 10%; + top: 40px; + + } + + </style> + <!-- MOA-ID 2.x BKUSelection JavaScript fucnctions--> +<script type="text/javascript"> function isIE() { return (/MSIE (\d+\.\d+);/.test(navigator.userAgent)); } - function isFullscreen() { try { return ((top.innerWidth == screen.width) && (top.innerHeight == screen.height)); @@ -16,7 +574,6 @@ return false; } } - function isActivexEnabled() { var supported = null; try { @@ -26,23 +583,19 @@ } return supported; } - function isMetro() { if (!isIE()) return false; return !isActivexEnabled() && isFullscreen(); } - window.onload=function() { document.getElementById("localBKU").style.display="block"; return; } - function bkuOnlineClicked() { if (isMetro()) document.getElementById("metroDetected").style.display="block"; document.getElementById("localBKU").style.display="block"; - /* if (checkMandateSSO()) return; */ @@ -56,13 +609,10 @@ iFrameURL += "&MODUL=" + "#MODUL#"; iFrameURL += "&ACTION=" + "#ACTION#"; iFrameURL += "&MOASessionID=" + "#SESSIONID#"; - generateIFrame(iFrameURL); } - function bkuHandyClicked() { document.getElementById("localBKU").style.display="none"; - /* if (checkMandateSSO()) return; */ @@ -76,13 +626,10 @@ iFrameURL += "&MODUL=" + "#MODUL#"; iFrameURL += "&ACTION=" + "#ACTION#"; iFrameURL += "&MOASessionID=" + "#SESSIONID#"; - generateIFrame(iFrameURL); } - function storkClicked() { document.getElementById("localBKU").style.display="none"; - /* if (checkMandateSSO()) return; */ @@ -91,11 +638,9 @@ var ccc = "AT"; var countrySelection = document.getElementById("cccSelection"); - if (countrySelection != null) { ccc = document.getElementById("cccSelection").value; } - var iFrameURL = "#AUTH_URL#" + "?"; iFrameURL += "bkuURI=" + "#ONLINE#"; iFrameURL += "&useMandate=" + document.getElementById("useMandate").value; @@ -104,28 +649,28 @@ iFrameURL += "&MODUL=" + "#MODUL#"; iFrameURL += "&ACTION=" + "#ACTION#"; iFrameURL += "&MOASessionID=" + "#SESSIONID#"; - generateIFrame(iFrameURL); } - function generateIFrame(iFrameURL) { var el = document.getElementById("bkulogin"); + var width = el.clientWidth; + var heigth = el.clientHeight - 20; var parent = el.parentNode; - + + iFrameURL += "&heigth=" + heigth; + iFrameURL += "&width=" + width; + var iframe = document.createElement("iframe"); iframe.setAttribute("src", iFrameURL); - iframe.setAttribute("width", "220"); - iframe.setAttribute("height", "165"); + iframe.setAttribute("width", width); + iframe.setAttribute("height", el.clientHeight); iframe.setAttribute("frameborder", "0"); iframe.setAttribute("scrolling", "no"); iframe.setAttribute("title", "Login"); - parent.replaceChild(iframe, el); } - function setMandateSelection() { document.getElementById("moaidform").action = "#AUTH_URL#"; - document.getElementById("useMandate").value = "false"; var checkbox = document.getElementById("mandateCheckBox"); if (checkbox != null) { @@ -160,97 +705,127 @@ } } */ </script> -</head> - - -<body> - - <div id="page"> - - <div id="page1" class="case selected-case"> - - <h2 class="OA_header">Anmeldung an: #OAName#</h2> - - <div id="main"> - <div id="leftcontent"> - <h2 id="tabheader" class="dunkel"> - Login mit Bürgerkarte - </h2> - <div id="bkulogin" class="hell" #BACKGROUNDCOLOR#> - - <div id="mandateLogin" style="margin-bottom: 10px;#MANDATEVISIBLE#"> - <table style="margin-left: auto; margin-right: auto;"> - <tr> - <td><input tabindex="1" type="checkbox" name="Mandate" - style="vertical-align: middle; margin-right: 5px;" - id="mandateCheckBox" #MANDATECHECKED#></td> - <td><label for="mandateCheckBox">in Vertretung anmelden</label></td> - <td><a href="info_mandates.html" target="_blank" - class="infobutton" style="margin-left: 5px" tabindex="5">i</a></td> - </tr> - </table> - </div> - - <div id="bkukarte"> - <button name="bkuButton" type="button" onClick="bkuOnlineClicked();">KARTE</button> - </div> - - <div id="bkuhandy"> - <button name="bkuButton" type="button" onClick="bkuHandyClicked();">HANDY</button> - </div> - - <div id="localBKU"> - <hr> - <form method="get" id="moaidform" action="#AUTH_URL#"> - <input type="hidden" name="bkuURI" value="#LOCAL#"> - <input type="hidden" name="useMandate" id="useMandate"> - <input type="hidden" name="SSO" id="useSSO"> - <input type="hidden" name="CCC" id="ccc"> - <input type="hidden" name="MODUL" value="#MODUL#"> - <input type="hidden" name="ACTION" value="#ACTION#"> - <input type="hidden" name="MOASessionID" value="#SESSIONID#"> - <input type="submit" size="400" value="lokale BKU" class="sendButton" style="margin-top: 5px;"> - </form> - <p style="margin-bottom: 0px; margin-top: 3px;"> - <small>Alternativ können Sie eine lokal installierte BKU verwenden.</small> - </p> - </div> - -<!-- <div id="stork" align="center"> - <div id="leftcontent" style="margin-bottom:10px"> - <h2 id="tabheader" class="dunkel"> - Home Country Selection - </h2> - </div> - <p> - <select name="cccSelection" id="cccSelection" size="1" style="width: 120px; margin-right: 5px;" > - <option value="BE">België/Belgique</option> - <option value="EE">Eesti</option> - <option value="ES">España</option> - <option value="IS">Ísland</option> - <option value="IT">Italia</option> - <option value="LI">Liechtenstein</option> - <option value="LT">Lithuania</option> - <option value="PT">Portugal</option> - <option value="SI">Slovenija</option> - <option value="FI">Suomi</option> - <option value="SE">Sverige</option> - </select> - <button name="bkuButton" type="button" onClick="storkClicked();">Send</button> - <a href="info_stork.html" target="_blank" class="infobutton" style="color:#FFF">i</a> - </p> - </div> - </div> --> - - <div id="metroDetected" style="display:none"> - <p> - Anscheinend verwenden Sie Internet Explorer im Metro-Modus. Wählen Sie bitte "Auf dem Desktop anzeigen" aus den Optionen um die Karten-Anmeldung starten zu können. - </p> - </div> - - </div> - </div> - </div> - </div> -</body> -</html> + <title>Anmeldung mittels Bürgerkarte oder Handy-Signatur</title> + </head> + <body> + <div id="page" > + <div id="page1" class="case selected-case" role="main"> + <h2 class="OA_header" + role="heading">Anmeldung an: #OAName#</h2> + <div id="main"> + <div id="leftcontent" class="hell" role="application"> + <div id="bku_header" class="dunkel"> + <h2 id="tabheader" class="dunkel" role="heading">#HEADER_TEXT#</h2> + </div> + <div id="bkulogin" class="hell" role="form"> + <div id="mandateLogin" style="#MANDATEVISIBLE#"> + <div> + <input tabindex="1" + type="checkbox" + name="Mandate" + id="mandateCheckBox" + class="verticalcenter" + role="checkbox" + onClick='document.getElementById("mandateCheckBox").setAttribute("aria-checked", document.getElementById("mandateCheckBox").checked);' + #MANDATECHECKED#> + <label for="mandateCheckBox" + class="verticalcenter">in Vertretung anmelden</label> + <!--a href="info_mandates.html" + target="_blank" + class="infobutton verticalcenter" + tabindex="5">i</a--> + </div> + </div> + <div id="bkuselectionarea"> + <div id="bkukarte"> + <img class="bkuimage" + src="#CONTEXTPATH#/img/online-bku.png" + alt="OnlineBKU"/> + <button name="bkuButton" + type="button" + onClick="bkuOnlineClicked();" + tabindex="2" + role="button">KARTE + </button> + </div> + <div id="bkuhandy"> + <img class="bkuimage" + src="#CONTEXTPATH#/img/mobile-bku.png" + alt="HandyBKU"/> + <button name="bkuButton" + type="button" + onClick="bkuHandyClicked();" + tabindex="3" + role="button">HANDY + </button> + </div> + </div> + <div id="localBKU"> + <form method="get" id="moaidform" action="#AUTH_URL#" class="verticalcenter"> + <input type="hidden" name="bkuURI" value="#LOCAL#"> + <input type="hidden" name="useMandate" id="useMandate"> + <input type="hidden" name="SSO" id="useSSO"> + <input type="hidden" name="CCC" id="ccc"> + <input type="hidden" name="MODUL" value="#MODUL#"> + <input type="hidden" name="ACTION" value="#ACTION#"> + <input type="hidden" name="MOASessionID" value="#SESSIONID#"> + <input type="submit" + value="lokale BKU" + class="sendButton" + tabindex="4" + role="button"> + <p> + <small>Alternativ können Sie eine lokal installierte BKU verwenden.</small> + </p> + </form> + </div> + + <!-- <div id="stork" align="center"> + <div id="leftcontent" style="margin-bottom:10px"> + <h2 id="tabheader" class="dunkel"> + Home Country Selection + </h2> + </div> + <p> + <select name="cccSelection" id="cccSelection" size="1" style="width: 120px; margin-right: 5px;" > + <option value="BE">België/Belgique</option> + <option value="EE">Eesti</option> + <option value="ES">España</option> + <option value="IS">Ísland</option> + <option value="IT">Italia</option> + <option value="LI">Liechtenstein</option> + <option value="LT">Lithuania</option> + <option value="PT">Portugal</option> + <option value="SI">Slovenija</option> + <option value="FI">Suomi</option> + <option value="SE">Sverige</option> + </select> + <button name="bkuButton" type="button" onClick="storkClicked();">Send</button> + <a href="info_stork.html" target="_blank" class="infobutton" style="color:#FFF">i</a> + </p> + </div> + </div> --> + + <div id="metroDetected" style="display:none"> + <p>Anscheinend verwenden Sie Internet Explorer im Metro-Modus. Wählen Sie bitte "Auf dem Desktop anzeigen" aus den Optionen um die Karten-Anmeldung starten zu können. + </p> + </div> + </div> + </div> + </div> + </div> + <div id="validation"> + <a href="http://validator.w3.org/check?uri="> + <img style="border:0;width:88px;height:31px" + src="#CONTEXTPATH#/img/valid-html5-blue.png" + alt="HTML5 ist valide!" /> + </a> + <a href="http://jigsaw.w3.org/css-validator/"> + <img style="border:0;width:88px;height:31px" + src="http://jigsaw.w3.org/css-validator/images/vcss-blue" + alt="CSS ist valide!" /> + </a> + </div> + </div> + </body> +</html>
\ No newline at end of file diff --git a/id/server/idserverlib/src/main/resources/resources/templates/sendAssertionFormFull.html b/id/server/idserverlib/src/main/resources/resources/templates/sendAssertionFormFull.html index 1e5f4229c..cc715fa4f 100644 --- a/id/server/idserverlib/src/main/resources/resources/templates/sendAssertionFormFull.html +++ b/id/server/idserverlib/src/main/resources/resources/templates/sendAssertionFormFull.html @@ -1,47 +1,596 @@ +<!DOCTYPE html> <html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> - <meta content="text/css" http-equiv="Content-Style-Type"> - <link rel="stylesheet" type="text/css" href="#CONTEXTPATH#/css/index.css"> + <!-- MOA-ID 2.x BKUSelection Layout CSS --> + <style type="text/css"> + @media screen and (min-width: 650px) { + + body { + margin:0; + padding:0; + color : #000; + background-color : #fff; + text-align: center; + background-color: #6B7B8B; + } + + #localBKU p { + font-size: 0.7em; + } + + #localBKU input{ + font-size: 0.7em; + border-radius: 5px; + } + + #bkuselectionarea button { + font-size: 0.85em; + border-radius: 7px; + margin-bottom: 25px; + } + + #mandateLogin { + font-size: 0.85em; + } + + #bku_header h2 { + font-size: 0.8em; + } + + + #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 { + width: 300px; + margin-top: 30px; + padding-bottom: 15px; + margin-bottom: 25px; + text-align: left; + border: 1px solid rgb(0,0,0); + } + + #selectArea { + font-size: 15px; + padding-bottom: 65px; + } + + #selectArea h3 { + margin-bottom: 25px; + } + + #bku_header { + height: 5%; + padding-bottom: 3px; + padding-top: 3px; + } + + #bkulogin { + overflow:hidden; + min-width: 190px; + min-height: 180px; + /*height: 260px;*/ + } + + h2#tabheader{ + font-size: 1.1em; + padding-left: 2%; + padding-right: 2%; + position: relative; + } + + .setAssertionButton_full { + margin-top: 15px; + width: 100px; + height: 30px; + font-size: 1.3em; + min-height: 1.3em; + border-radius: 10px; + } + + #leftbutton { + width: 30%; + float:left; + margin-left: 40px; + } + + #rightbutton { + width: 30%; + float:right; + margin-right: 45px; + text-align: right; + } + + button { + height: 25px; + width: 90px; + margin-bottom: 10px; + } + + #validation { + position: absolute; + bottom: 0px; + margin-left: 270px; + padding-bottom: 10px; + } + + } + + @media screen and (max-width: 205px) { + #localBKU p { + font-size: 0.6em; + } + + #localBKU input { + font-size: 0.7em; + min-width: 70px; + min-height: 1.2em; + border-radius: 5px; + } + + #bkuselectionarea button, .setAssertionButton_full { + font-size: 0.8em; + min-width: 65px; + min-height: 1.3em; + border-radius: 5px; + margin-bottom: 2% + } + + #mandateLogin { + font-size: 0.65em; + } + + #bku_header h2, #selectArea h3 { + font-size: 0.8em; + margin-top: -0.4em; + } + } + + @media screen and (max-width: 249px) and (min-width: 206px) { + #localBKU p { + font-size: 0.7em; + } + + #localBKU input { + font-size: 0.85em; + min-width: 80px; + min-height: 0.95em; + border-radius: 6px; + } + + #bkuselectionarea button, .setAssertionButton_full { + font-size: 0.85em; + min-width: 70px; + min-height: 0.95em; + border-radius: 6px; + margin-bottom: 2% + } + + #mandateLogin { + font-size: 0.75em; + } + + #bku_header h2, #selectArea h3 { + font-size: 0.9em; + margin-top: -0.45em; + } + } + + @media screen and (max-width: 299px) and (min-width: 250px) { + #localBKU p { + font-size: 0.9em; + } + + #localBKU input { + font-size: 0.9em; + min-width: 100px; + border-radius: 6px; + } + + #bkuselectionarea button, .setAssertionButton_full { + font-size: 1.0em; + min-height: 1.05em; + border-radius: 7px; + margin-bottom: 5%; + } + + #mandateLogin { + font-size: 1em; + } + + #bku_header h2, #selectArea h3 { + font-size: 1.0em; + margin-top: -0.50em; + } + } + + @media screen and (max-width: 399px) and (min-width: 300px) { + #localBKU p { + font-size: 0.9em; + } + + #localBKU input { + font-size: 0.9em; + min-width: 100px; + border-radius: 6px; + } + + #bkuselectionarea button, .setAssertionButton_full { + font-size: 1.1em; + min-height: 1.2em; + border-radius: 8px; + margin-bottom: 5%; + } + + #mandateLogin { + font-size: 1em; + } + + #bku_header h2, #selectArea h3 { + font-size: 1.1em; + margin-top: -0.55em; + } + } + + @media screen and (max-width: 649px) and (min-width: 400px) { + #localBKU p { + font-size: 0.9em; + } + + #localBKU input { + font-size: 0.9em; + min-width: 100px; + border-radius: 6px; + } + + #bkuselectionarea button, .setAssertionButton_full { + font-size: 1.3em; + min-height: 1.3em; + border-radius: 10px; + margin-bottom: 5%; + } + + #mandateLogin { + font-size: 1.2em; + } + + #bku_header h2, #selectArea h3 { + font-size: 1.3em; + margin-top: -0.65em; + } + } + + + + @media screen and (max-width: 649px) { + + body { + margin:0; + padding:0; + color : #000; + text-align: center; + font-size: 100%; + background-color: #MAIN_BACKGOUNDCOLOR#; + } + + #page { + visibility: hidden; + margin-top: 0%; + } + + #page1 { + visibility: hidden; + } + + #main { + visibility: hidden; + } + + #validation { + visibility: hidden; + display: none; + } + + .OA_header { + margin-bottom: 0px; + margin-top: 0px; + font-size: 0pt; + visibility: hidden; + } + + #leftcontent { + visibility: visible; + margin-bottom: 0px; + text-align: left; + border:none; + min-width: 190px; + min-height: 190px; + vertical-align: middle; + + } + + #bku_header { + height: 10%; + min-height: 1.2em; + margin-top: 1%; + } + + h2#tabheader{ + padding-left: 2%; + padding-right: 2%; + padding-top: 1%; + position: relative; + top: 50%; + } + + #bkulogin { + min-width: 190px; + min-height: 150px; + } + + .setAssertionButton_full { + margin-top: 15px; + width: 70%; + height: 11%; + min-width: 60px; + min-height: 25px; + } + + #selectArea h3 { + margin-top: 2%; + } + + button { + height: 11%; + width: 70%; + } + } + + * { + margin: 0; + padding: 0; + border: 0; + font-family: #FONTTYPE#; + } + + #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; + } + + #mandateLogin { + padding-bottom: 2%; + padding-top: 2%; + height: 10%; + position: relative; + text-align: center; + } + + .verticalcenter { + vertical-align: middle; + } + + #mandateLogin > div { + clear: both; + margin-top: -1%; + position: relative; + top: 50%; + } + + #bkuselectionarea { + position: relative; + display: block; + } + + #localBKU { + padding-left: 5%; + padding-right: 2%; + padding-bottom: 2%; + position: relative; + clear: both; + } + + #bkukarte { + float:left; + text-align:center; + width:40%; + min-height: 70px; + padding-left: 5%; + padding-top: 2%; + } + + #bkuhandy { + float:right; + text-align:center; + width:40%; + min-height: 90px; + padding-right: 5%; + padding-top: 2%; + } + + .bkuimage { + width: 90%; + height: auto; + } + + #mandate{ + text-align:center; + padding : 5px 5px 5px 5px; + } + + button, .sendButton { + background: #BUTTON_BACKGROUNDCOLOR#; + color: #BUTTON_COLOR#; + border:1px solid #000; + cursor: pointer; + box-shadow: 3px 3px 3px #222222; + } + + button:hover, button:focus, button:active, + .sendButton:hover , .sendButton:focus, .sendButton:active, + #mandateCheckBox:hover, #mandateCheckBox:focus, #mandateCheckBox:active { + background: #BUTTON_BACKGROUNDCOLOR_FOCUS#; + color: #BUTTON_COLOR#; + border:1px solid #000; + cursor: pointer; + box-shadow: -1px -1px 3px #222222; + } + + #installJava, #BrowserNOK { + clear:both; + font-size:0.8em; + padding:4px; + } + + .selectText{ + + } + + .selectTextHeader{ + + } + + #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; + } + + .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; + } + + .hell { + background-color : #MAIN_BACKGOUNDCOLOR#; + color: #MAIN_COLOR#; + } + + .dunkel { + background-color: #HEADER_BACKGROUNDCOLOR#; + color: #HEADER_COLOR#; + } + + .main_header { + color: black; + font-size: 32pt; + position: absolute; + right: 10%; + top: 40px; + + } + + </style> + + + <title>Anmeldung an Online-Applikation</title> </head> <body> <div id="page"> - <div id="page1" class="case selected-case"> + <div id="page1" class="case selected-case" role="main"> <!-- <h2 class="OA_header">Anmeldung an: #OAName#</h2> --> - <div id="main" class="full"> - <div id="leftcontent" class="full"> - <h2 id="tabheader" class="dunkel full"> - Anmeldeinformationen: - - </h2> + <div id="main"> + <div id="leftcontent" class="hell"> + <div id="bku_header" class="dunkel"> + <h2 id="tabheader" class="dunkel" role="heading"> + Anmeldeinformationen: + </h2> + </div> + + <div id="selectArea" class="hell" role="application"> + <h3>Anmeldung an: #OAName#</h3> - <div id="selectArea" class="hell full" #BACKGROUNDCOLOR#> - <b>Anmeldung an:</b> - <p>#OAName#</p> - - <!-- <div class="hell"> --> - <div id="leftbutton" class="full"> + <div id="leftbutton"> <form method="post" id="moaidform_yes" action="#URL#"> <input type="hidden" name="value" value="true"> <input type="hidden" name="mod" value="#MODUL#"> <input type="hidden" name="action" value="#ACTION#"> <input type="hidden" name="identifier" value="#ID#"> - <input type="submit" size="400" value="Ja" class="setAssertionButton_full"> + <input type="submit" value="Ja" class="setAssertionButton_full sendButton" role="button"> </form> </div> - <div id="rightbutton" class="full"> + <div id="rightbutton"> <form method="post" id="moaidform_no" action="#URL#"> <input type="hidden" name="value" value="false"> <input type="hidden" name="mod" value="#MODUL#"> <input type="hidden" name="action" value="#ACTION#"> <input type="hidden" name="identifier" value="#ID#"> - <input type="submit" size="400" value="Nein" class="setAssertionButton_full"> + <input type="submit" value="Nein" class="setAssertionButton_full sendButton" role="button"> </form> </div> @@ -49,6 +598,18 @@ </div> </div> </div> + <div id="validation"> + <a href="http://validator.w3.org/check?uri="> + <img style="border:0;width:88px;height:31px" + src="#CONTEXTPATH#/img/valid-html5-blue.png" + alt="HTML5 ist valide!" /> + </a> + <a href="http://jigsaw.w3.org/css-validator/"> + <img style="border:0;width:88px;height:31px" + src="http://jigsaw.w3.org/css-validator/images/vcss-blue" + alt="CSS ist valide!" /> + </a> + </div> </div> </body> </html> diff --git a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilderTest.java b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilderTest.java index 28f7a8504..33139a2d6 100644 --- a/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilderTest.java +++ b/id/server/idserverlib/src/test/java/test/at/gv/egovernment/moa/id/auth/builder/GetIdentityLinkFormBuilderTest.java @@ -77,7 +77,7 @@ public class GetIdentityLinkFormBuilderTest extends TestCase { String dataURL = "https://1.2.3.4/auth/VerifyIdentityLink?MOASessionID=1234567"; String infoRequest = new CertInfoVerifyXMLSignatureRequestBuilder().build(); String infoDataURL = "https://1.2.3.4/auth/StartAuthentication?Target=gb&OA=https://oa.gv.at/"; - String form = new GetIdentityLinkFormBuilder().build(null, null, xmlRequest, dataURL, infoRequest, infoDataURL, null, null); + String form = new GetIdentityLinkFormBuilder().build(null, null, xmlRequest, dataURL, infoRequest, infoDataURL, null, null, null, null); String formShould = MessageFormat.format( FORM, new Object[] { BKU, xmlRequest, dataURL, infoRequest, infoDataURL }); assertEquals(formShould, form); @@ -88,7 +88,7 @@ public class GetIdentityLinkFormBuilderTest extends TestCase { String infoRequest = new CertInfoVerifyXMLSignatureRequestBuilder().build(); String infoDataURL = "https://1.2.3.4/auth/StartAuthentication?Target=gb&OA=https://oa.gv.at/"; String bkuURL = "http://bku.at/"; - String form = new GetIdentityLinkFormBuilder().build(null, bkuURL, xmlRequest, dataURL, infoRequest, infoDataURL, null, null); + String form = new GetIdentityLinkFormBuilder().build(null, bkuURL, xmlRequest, dataURL, infoRequest, infoDataURL, null, null, null, null); String formShould = MessageFormat.format( FORM, new Object[] { bkuURL, xmlRequest, dataURL, infoRequest, infoDataURL }); assertEquals(formShould, form); diff --git a/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd b/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd index 20251d3bb..085f187ff 100644 --- a/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd +++ b/id/server/moa-id-commons/src/main/resources/config/moaid_config_2.0.xsd @@ -451,7 +451,7 @@ <xsd:sequence> <xsd:element name="Template" type="TemplateType" minOccurs="0" maxOccurs="3"/> <xsd:element name="AditionalAuthBlockText" type="xsd:string" minOccurs="0"/> - <xsd:element name="BKUSelectionCustomization" type="BKUSelectionCustomizationType" minOccurs="0" maxOccurs="1"/> + <xsd:element name="BKUSelectionCustomization" type="BKUSelectionCustomizationType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="TemplateType"> @@ -860,6 +860,7 @@ <xsd:element name="OA_SAML1"> <xsd:complexType> <xsd:sequence> + <xsd:element name="isActive" type="xsd:boolean" default="false" minOccurs="0" maxOccurs="1"/> <xsd:element name="provideStammzahl" type="xsd:boolean" default="false" minOccurs="1" maxOccurs="1"/> <xsd:element name="provideAUTHBlock" type="xsd:boolean" default="false" minOccurs="1" maxOccurs="1"/> <xsd:element name="provideIdentityLink" type="xsd:boolean" default="false" minOccurs="1" maxOccurs="1"/> @@ -937,6 +938,7 @@ <xsd:element name="phone" type="xsd:string" minOccurs="1" maxOccurs="1"/> <xsd:element name="username" type="xsd:string" minOccurs="1" maxOccurs="1"/> <xsd:element name="password" type="xsd:string" minOccurs="1" maxOccurs="1"/> + <xsd:element name="password_salt" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="userRequestTokken" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="isActive" type="xsd:boolean" default="true" minOccurs="1" maxOccurs="1"/> <xsd:element name="isAdmin" type="xsd:boolean" default="true" minOccurs="1" maxOccurs="1"/> @@ -951,9 +953,18 @@ </xsd:complexType> <xsd:complexType name="BKUSelectionCustomizationType"> <xsd:sequence> + <xsd:element name="FontType" type="xsd:string" minOccurs="0" maxOccurs="1"/> <xsd:element name="BackGroundColor" type="xsd:string" minOccurs="0" maxOccurs="1"/> - <xsd:element name="MandateLoginButton" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="true"/> - <xsd:element name="OnlyMandateLoginAllowed" type="xsd:boolean" minOccurs="0" maxOccurs="1" default="false" /> + <xsd:element name="FrontColor" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="HeaderBackGroundColor" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="HeaderFrontColor" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="HeaderText" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ButtonBackGroundColor" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ButtonBackGroundColorFocus" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="ButtonFontColor" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="AppletRedirectTarget" type="xsd:string" minOccurs="0" maxOccurs="1"/> + <xsd:element name="MandateLoginButton" type="xsd:boolean" default="true" minOccurs="0" maxOccurs="1"/> + <xsd:element name="OnlyMandateLoginAllowed" type="xsd:boolean" default="false" minOccurs="0" maxOccurs="1"/> </xsd:sequence> - </xsd:complexType> + </xsd:complexType> </xsd:schema> |