diff --git a/lemonldap-ng-portal/MANIFEST b/lemonldap-ng-portal/MANIFEST index 1a614da97..54ddbb48f 100644 --- a/lemonldap-ng-portal/MANIFEST +++ b/lemonldap-ng-portal/MANIFEST @@ -284,6 +284,9 @@ site/templates/bootstrap/redirect.tpl site/templates/bootstrap/register.tpl site/templates/bootstrap/removeOther.tpl site/templates/bootstrap/samlRedirectToIdp.tpl +site/templates/bootstrap/samlSpLogout.tpl +site/templates/bootstrap/samlSpsLogout.tpl +site/templates/bootstrap/samlSpSoapLogout.tpl site/templates/bootstrap/sessionArray.tpl site/templates/bootstrap/simpleInfo.tpl site/templates/bootstrap/sslform.tpl diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm index 0226d3789..222042600 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Lib/SAML.pm @@ -2517,12 +2517,14 @@ sub sendLogoutRequestToProvider { # Redirect user to response URL my $slo_url = $logout->msg_url; - $info .= - qq'$providerName'; - + # Create iFrame + $info .= $self->loadTemplate( + 'samlSpLogout', + params => { + url => $slo_url, + name => $providerName, + } + ); } # HTTP-POST @@ -2548,12 +2550,13 @@ sub sendLogoutRequestToProvider { my $slo_url = $portal . '/saml/relaySingleLogoutPOST?relay=' . $relayID; # Create iFrame - $info .= - qq'$providerName'; - + $info .= $self->loadTemplate( + 'samlSpLogout', + params => { + url => $slo_url, + name => $providerName, + } + ); } # HTTP-SOAP @@ -2585,12 +2588,13 @@ sub sendLogoutRequestToProvider { $portal . '/saml/relaySingleLogoutSOAP?relay=' . $relayID; # Display information to the user - $info .= '' - . '' . '' . '' - . $providerName . '' . ''; - + $info .= $self->loadTemplate( + 'samlSpSoapLogout', + params => { + imgUrl => $slo_url, + name => $providerName, + } + ); } # Send the request directly @@ -2654,18 +2658,11 @@ sub sendLogoutRequestToProviders { my ( $self, $req, $logout, $relayState ) = @_; my $server = $self->lassoServer; my $providersCount = 0; - my $info = ''; + my $content = ''; # Reset providerID into Lasso::Logout object $self->resetProviderIdIndex($logout); - # Header of the block which will be displayed to the user, if needed. - #TODO: Replace this - $info .= '

' - - #. $self->msg(Lemonldap::NG::Portal::Simple::PM_SAML_SPLOGOUT) . '

' - . ''; - # Foreach SP found in session, get it from configuration, and send the # appropriate logout request (HTTP,POST,SOAP). while ( my $providerID = $self->getNextProviderId($logout) ) { @@ -2682,16 +2679,17 @@ sub sendLogoutRequestToProviders { # Add information if necessary if ($rinfo) { - $info .= $rinfo; + $content .= $rinfo; } } - # End of information block to be displayed to the user. - $info .= '
'; - # Print some information to the user. - $req->info($info) if $providersCount; + $req->info( + $self->loadTemplate( + 'samlSpsLogout', params => { content => $content } + ) + ) if $providersCount; return $providersCount; } diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/ar.json b/lemonldap-ng-portal/site/htdocs/static/languages/ar.json index 1b0790729..bf5310c5b 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/ar.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/ar.json @@ -138,6 +138,7 @@ "logout":"تسجيل الخروج", "logoutConfirm":"هل تريد تسجيل الخروج؟", "logoutFromOtherApp":"تسجيل الخروج من التطبيقات الأخرى ...", +"logoutFromSP":"Logout from service providers...", "mail":"البريد", "mailSent2":"تم إرسال رسالة إلى عنوان بريدك الإلكتروني.", "maintenanceMode":"هذا التطبيق في صيانة، يرجى محاولة الاتصال في وقت لاحق", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/de.json b/lemonldap-ng-portal/site/htdocs/static/languages/de.json index c9a1c3294..23c64c77f 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/de.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/de.json @@ -138,6 +138,7 @@ "logout":"Logout", "logoutConfirm":"Do you want to logout?", "logoutFromOtherApp":"Logout from other applications...", +"logoutFromSP":"Logout from service providers...", "mail":"Mail", "mailSent2":"A message has been sent to your mail address.", "maintenanceMode":"This application is in maintenance, please try to connect later", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/en.json b/lemonldap-ng-portal/site/htdocs/static/languages/en.json index 1b61d4223..bfc4f1a13 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/en.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/en.json @@ -138,6 +138,7 @@ "logout":"Logout", "logoutConfirm":"Do you want to logout?", "logoutFromOtherApp":"Logout from other applications...", +"logoutFromSP":"Logout from service providers...", "mail":"Mail", "mailSent2":"A message has been sent to your mail address.", "maintenanceMode":"This application is in maintenance, please try to connect later", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/es.json b/lemonldap-ng-portal/site/htdocs/static/languages/es.json index 8b0537174..12f099dda 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/es.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/es.json @@ -138,6 +138,7 @@ "logout":"Logout", "logoutConfirm":"Do you want to logout?", "logoutFromOtherApp":"Logout from other applications...", +"logoutFromSP":"Logout from service providers...", "mail":"Mail", "mailSent2":"A message has been sent to your mail address.", "maintenanceMode":"This application is in maintenance, please try to connect later", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/fr.json b/lemonldap-ng-portal/site/htdocs/static/languages/fr.json index 1e195e86d..87b1b72f1 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/fr.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/fr.json @@ -138,6 +138,7 @@ "logout":"Déconnexion", "logoutConfirm":"Souhaitez-vous vous déconnecter ?", "logoutFromOtherApp":"Déconnexion des autres applications...", +"logoutFromSP":"Déconnexion des services...", "mail":"Adresse mail", "mailSent2":"Un message a été envoyé à votre adresse mail.", "maintenanceMode":"Cette application est en maintenance, merci de réessayer plus tard", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/it.json b/lemonldap-ng-portal/site/htdocs/static/languages/it.json index 604369186..60114653a 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/it.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/it.json @@ -138,6 +138,7 @@ "logout":"Logout", "logoutConfirm":"Vuoi uscire?", "logoutFromOtherApp":"Disconnetti da altre applicazioni ...", +"logoutFromSP":"Logout from service providers...", "mail":"Mail", "mailSent2":"Vi é stato inviato un messaggio via mail", "maintenanceMode":"Questa applicazione è in manutenzione, prova a connetterti più tardi", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/nl.json b/lemonldap-ng-portal/site/htdocs/static/languages/nl.json index 9d5ea341f..4d6e67ba8 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/nl.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/nl.json @@ -138,6 +138,7 @@ "logout":"Logout", "logoutConfirm":"Do you want to logout?", "logoutFromOtherApp":"Logout from other applications...", +"logoutFromSP":"Logout from service providers...", "mail":"Mail", "mailSent2":"A message has been sent to your mail address.", "maintenanceMode":"This application is in maintenance, please try to connect later", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/pt.json b/lemonldap-ng-portal/site/htdocs/static/languages/pt.json index 7bf09d5df..5aefdbd62 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/pt.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/pt.json @@ -138,6 +138,7 @@ "logout":"Logout", "logoutConfirm":"Do you want to logout?", "logoutFromOtherApp":"Logout from other applications...", +"logoutFromSP":"Logout from service providers...", "mail":"Mail", "mailSent2":"A message has been sent to your mail address.", "maintenanceMode":"This application is in maintenance, please try to connect later", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/ro.json b/lemonldap-ng-portal/site/htdocs/static/languages/ro.json index 8f01c24a6..9b9d13f59 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/ro.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/ro.json @@ -138,6 +138,7 @@ "logout":"Logout", "logoutConfirm":"Do you want to logout?", "logoutFromOtherApp":"Logout from other applications...", +"logoutFromSP":"Logout from service providers...", "mail":"Mail", "mailSent2":"A message has been sent to your mail address.", "maintenanceMode":"This application is in maintenance, please try to connect later", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/vi.json b/lemonldap-ng-portal/site/htdocs/static/languages/vi.json index 9a3665392..b4fa6666f 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/vi.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/vi.json @@ -138,6 +138,7 @@ "logout":"Đăng xuất", "logoutConfirm":"Bạn có muốn đăng xuất?", "logoutFromOtherApp":"Đăng xuất khỏi các ứng dụng khác ...", +"logoutFromSP":"Logout from service providers...", "mail":"Thư", "mailSent2":"Một tin nhắn đã được gửi đến địa chỉ thư của bạn.", "maintenanceMode":"Ứng dụng này đang trong quá trình bảo trì, hãy thử kết nối sau", diff --git a/lemonldap-ng-portal/site/templates/bootstrap/samlSpLogout.tpl b/lemonldap-ng-portal/site/templates/bootstrap/samlSpLogout.tpl new file mode 100644 index 000000000..e5bd14350 --- /dev/null +++ b/lemonldap-ng-portal/site/templates/bootstrap/samlSpLogout.tpl @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/lemonldap-ng-portal/site/templates/bootstrap/samlSpSoapLogout.tpl b/lemonldap-ng-portal/site/templates/bootstrap/samlSpSoapLogout.tpl new file mode 100644 index 000000000..62a44ff0a --- /dev/null +++ b/lemonldap-ng-portal/site/templates/bootstrap/samlSpSoapLogout.tpl @@ -0,0 +1,8 @@ + + + " width="10px" height="10px" /> + + + + + diff --git a/lemonldap-ng-portal/site/templates/bootstrap/samlSpsLogout.tpl b/lemonldap-ng-portal/site/templates/bootstrap/samlSpsLogout.tpl new file mode 100644 index 000000000..8366a934c --- /dev/null +++ b/lemonldap-ng-portal/site/templates/bootstrap/samlSpsLogout.tpl @@ -0,0 +1,4 @@ +

+ + +