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 @@
+
+