From 9b389d90eb7df9699a11e51410a2c6097dffe66b Mon Sep 17 00:00:00 2001 From: Xavier Guimard Date: Fri, 15 Sep 2017 12:31:42 +0000 Subject: [PATCH] OIDC Consents display (#826) TODO: Ajax to remove a consent --- .../site/htdocs/static/languages/ar.json | 1 + .../site/htdocs/static/languages/en.json | 1 + .../site/htdocs/static/languages/fr.json | 1 + .../site/htdocs/static/languages/it.json | 1 + .../site/htdocs/static/languages/vi.json | 1 + .../lib/Lemonldap/NG/Portal/Main/Display.pm | 13 +++++++++++++ .../lib/Lemonldap/NG/Portal/Main/Menu.pm | 4 ++++ .../site/htdocs/static/languages/ar.json | 1 + .../site/htdocs/static/languages/de.json | 1 + .../site/htdocs/static/languages/en.json | 1 + .../site/htdocs/static/languages/es.json | 1 + .../site/htdocs/static/languages/fr.json | 1 + .../site/htdocs/static/languages/it.json | 1 + .../site/htdocs/static/languages/nl.json | 1 + .../site/htdocs/static/languages/pt.json | 1 + .../site/htdocs/static/languages/ro.json | 1 + .../site/htdocs/static/languages/vi.json | 1 + .../site/templates/bootstrap/menu.tpl | 1 + 18 files changed, 33 insertions(+) diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/ar.json b/lemonldap-ng-manager/site/htdocs/static/languages/ar.json index 03c4754ca..3ebd13328 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/ar.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/ar.json @@ -567,6 +567,7 @@ "portalDisplayChangePassword": "تغيير كلمة المرور", "portalDisplayLoginHistory": "سجل تسجيل الدخول", "portalDisplayLogout": "تسجيل الخروج", +"portalDisplayOidcConsents": "OIDC Consents", "portalDisplayRegister": "تسجيل حساب جديد", "portalDisplayResetPassword": "إعادة تعيين كلمة المرور", "portalErrorOnExpiredSession": "عرض الخطأ في الجلسة المنتهية صلحيتها", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/en.json b/lemonldap-ng-manager/site/htdocs/static/languages/en.json index 71859ada4..d635fbb08 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/en.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/en.json @@ -568,6 +568,7 @@ "portalDisplayLoginHistory": "Login History", "portalDisplayLogout": "Logout", "portalDisplayRegister": "Register new account", +"portalDisplayOidcConsents": "OIDC Consents", "portalDisplayResetPassword": "Reset password", "portalErrorOnExpiredSession": "Show error on expired session", "portalErrorOnMailNotFound": "Show error on mail not found", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/fr.json b/lemonldap-ng-manager/site/htdocs/static/languages/fr.json index bb964cdb3..0905f4f38 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/fr.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/fr.json @@ -568,6 +568,7 @@ "portalDisplayLoginHistory": "Historique des connexions", "portalDisplayLogout": "Déconnexion", "portalDisplayRegister": "Création d'un nouveau compte", +"portalDisplayOidcConsents": "Accords OIDC", "portalDisplayResetPassword": "Réinitialisation de mot de passe", "portalErrorOnExpiredSession": "Affiche une erreur si la session est expirée", "portalErrorOnMailNotFound": "Affiche une erreur si le mail n'est pas trouvé", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/it.json b/lemonldap-ng-manager/site/htdocs/static/languages/it.json index 062bd0d12..b7e378f7a 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/it.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/it.json @@ -568,6 +568,7 @@ "portalDisplayLoginHistory": "Cronologia login", "portalDisplayLogout": "Logout", "portalDisplayRegister": "Registra nuovo account", +"portalDisplayOidcConsents": "OIDC Consents", "portalDisplayResetPassword": "Reimposta password", "portalErrorOnExpiredSession": "Mostra errore nella sessione scaduta", "portalErrorOnMailNotFound": "Mostra errore sulla posta non trovata", diff --git a/lemonldap-ng-manager/site/htdocs/static/languages/vi.json b/lemonldap-ng-manager/site/htdocs/static/languages/vi.json index f1fdc256f..a09830ae8 100644 --- a/lemonldap-ng-manager/site/htdocs/static/languages/vi.json +++ b/lemonldap-ng-manager/site/htdocs/static/languages/vi.json @@ -568,6 +568,7 @@ "portalDisplayLoginHistory": "Lịch sử đăng nhập", "portalDisplayLogout": "Đăng xuất", "portalDisplayRegister": "Đăng ký tài khoản mới", +"portalDisplayOidcConsents": "OIDC Consents", "portalDisplayResetPassword": "Đặt lại mật khẩu", "portalErrorOnExpiredSession": "Show error on expired session", "portalErrorOnMailNotFound": "Show error on mail not found", diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm index 6059459b1..1731aed6b 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Display.pm @@ -461,4 +461,17 @@ sub mkSessionArray { return $tmp; } +sub mkOidcConsent { + my ( $self, $session ) = @_; + my $tmp .= + '' + . ''; + + # TODO: add JS to remove consent + $tmp .= "" + foreach ( split /,/, $session->{_oidcConnectedRP} ); + $tmp .= '
$_
'; + return $tmp; +} + 1; diff --git a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Menu.pm b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Menu.pm index 90402d40f..c2d1f003e 100644 --- a/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Menu.pm +++ b/lemonldap-ng-portal/lib/Lemonldap/NG/Portal/Main/Menu.pm @@ -126,6 +126,10 @@ sub displayModules { $req->{sessionInfo}->{_loginHistory}->{failedLogin}, "", 0, 1 ); } + elsif ( $module->[0] eq 'OidcConsents' ) { + $moduleHash->{'OIDC_CONSENTS'} = + $self->p->mkOidcConsent( $req->sessionInfo ); + } push @$displayModules, $moduleHash; } } diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/ar.json b/lemonldap-ng-portal/site/htdocs/static/languages/ar.json index ddfa92a39..1b0790729 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/ar.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/ar.json @@ -180,6 +180,7 @@ "resetPwd":"إعادة تعيين كلمة المرور الخاصة بي", "rightsReloadNeedsLogout": " إعادة تحميل الحقوق تحتاج إلى تسجيل الخروج وتسجيل الدخول مرة أخرى", "selectIdP":"اختر موفر الهوية الخاص بك", +"service":"Service", "sendPwd":"أرسل لي كلمة مرور جديدة", "serverError":"يحدث خطأ في الخادم", "serviceProvidedBy":"الخدمة المقدمة من قبل", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/de.json b/lemonldap-ng-portal/site/htdocs/static/languages/de.json index 70ae31a8e..c9a1c3294 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/de.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/de.json @@ -180,6 +180,7 @@ "resetPwd":"Reset my password", "rightsReloadNeedsLogout": "Rights reloads need to logout and login again", "selectIdP":"Select your Identity Provider", +"service":"Service", "sendPwd":"Send me a new password", "serverError":"Error occurs on the server", "serviceProvidedBy":"Service provided by", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/en.json b/lemonldap-ng-portal/site/htdocs/static/languages/en.json index 153b9e904..1b61d4223 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/en.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/en.json @@ -180,6 +180,7 @@ "resetPwd":"Reset my password", "rightsReloadNeedsLogout": "Rights reloads need to logout and login again", "selectIdP":"Select your Identity Provider", +"service":"Service", "sendPwd":"Send me a new password", "serverError":"Error occurs on the server", "serviceProvidedBy":"Service provided by", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/es.json b/lemonldap-ng-portal/site/htdocs/static/languages/es.json index 51d2efd2f..8b0537174 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/es.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/es.json @@ -180,6 +180,7 @@ "resetPwd":"Reset my password", "rightsReloadNeedsLogout": "Rights reloads need to logout and login again", "selectIdP":"Select your Identity Provider", +"service":"Service", "sendPwd":"Send me a new password", "serverError":"Error occurs on the server", "serviceProvidedBy":"Service provided by", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/fr.json b/lemonldap-ng-portal/site/htdocs/static/languages/fr.json index 239be46be..1e195e86d 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/fr.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/fr.json @@ -180,6 +180,7 @@ "resetPwd":"Réinitialiser mon mot de passe", "rightsReloadNeedsLogout": "Le rechargement des droits nécessite une déconnexion", "selectIdP":"Choisissez votre fournisseur d'identité", +"service":"Service", "sendPwd":"Envoyez-moi un nouveau mot de passe", "serverError":"Une erreur est survenue sur le serveur", "serviceProvidedBy":"Ce service est fourni par", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/it.json b/lemonldap-ng-portal/site/htdocs/static/languages/it.json index a5e94a4c6..604369186 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/it.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/it.json @@ -180,6 +180,7 @@ "resetPwd":"Reimpostare la password", "rightsReloadNeedsLogout": "Le ricariche dei diritti necessitano di disconnettersi e di riconnettersi", "selectIdP":"Seleziona il tuo provider di identità", +"service":"Service", "sendPwd":"Inviami una nuova password", "serverError":"Un, errore si verifica sul server", "serviceProvidedBy":"Servizio offerto da", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/nl.json b/lemonldap-ng-portal/site/htdocs/static/languages/nl.json index 5c5c459c0..9d5ea341f 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/nl.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/nl.json @@ -180,6 +180,7 @@ "resetPwd":"Reset my password", "rightsReloadNeedsLogout": "Rights reloads need to logout and login again", "selectIdP":"Select your Identity Provider", +"service":"Service", "sendPwd":"Send me a new password", "serverError":"Error occurs on the server", "serviceProvidedBy":"Service provided by", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/pt.json b/lemonldap-ng-portal/site/htdocs/static/languages/pt.json index 99040cbca..7bf09d5df 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/pt.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/pt.json @@ -180,6 +180,7 @@ "resetPwd":"Reset my password", "rightsReloadNeedsLogout": "Rights reloads need to logout and login again", "selectIdP":"Select your Identity Provider", +"service":"Service", "sendPwd":"Send me a new password", "serverError":"Error occurs on the server", "serviceProvidedBy":"Service provided by", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/ro.json b/lemonldap-ng-portal/site/htdocs/static/languages/ro.json index ce04a90ca..8f01c24a6 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/ro.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/ro.json @@ -180,6 +180,7 @@ "resetPwd":"Reset my password", "rightsReloadNeedsLogout": "Rights reloads need to logout and login again", "selectIdP":"Select your Identity Provider", +"service":"Service", "sendPwd":"Send me a new password", "serverError":"Error occurs on the server", "serviceProvidedBy":"Service provided by", diff --git a/lemonldap-ng-portal/site/htdocs/static/languages/vi.json b/lemonldap-ng-portal/site/htdocs/static/languages/vi.json index 7347c28fd..9a3665392 100644 --- a/lemonldap-ng-portal/site/htdocs/static/languages/vi.json +++ b/lemonldap-ng-portal/site/htdocs/static/languages/vi.json @@ -180,6 +180,7 @@ "resetPwd":"Đặt lại mật khẩu của tôi", "rightsReloadNeedsLogout": "Tải lại quyền cần đăng xuất và đăng nhập lại", "selectIdP":"Chọn bộ cung cấp danh tính của bạn", +"service":"Service", "sendPwd":"Gửi cho tôi một mật khẩu mới", "serverError":"Lỗi xảy ra trên máy chủ", "serviceProvidedBy":"Dịch vụ được cung cấp bởi", diff --git a/lemonldap-ng-portal/site/templates/bootstrap/menu.tpl b/lemonldap-ng-portal/site/templates/bootstrap/menu.tpl index e75dbf39d..903997c9b 100644 --- a/lemonldap-ng-portal/site/templates/bootstrap/menu.tpl +++ b/lemonldap-ng-portal/site/templates/bootstrap/menu.tpl @@ -211,6 +211,7 @@

OpenID-Connect Consents

+