mirror of
https://github.com/YunoHost-Apps/wallabag2_ynh.git
synced 2024-10-01 13:35:06 +02:00
* Refactoring, backup/restore, multi-instance * Use dedicated system user, backup before upgrade * Set directory rights (fixes #31), point to localhost (fixes #29), use up-to-date php-fpm.conf * Install dependencies when restoring * Set Wallabag URL in internal settings * Fix upgrade, use more forthcoming helpers * fix #32, use latest mysql helpers * Small fixes (redundant file, up-to-date check_process, syntax correction on app.src)
60 lines
2.1 KiB
Diff
60 lines
2.1 KiB
Diff
diff --git a/app/config/security.yml b/app/config/security.yml
|
|
index b07b509..62f2550 100644
|
|
--- a/app/config/security.yml
|
|
+++ b/app/config/security.yml
|
|
@@ -60,7 +60,7 @@ security:
|
|
|
|
logout:
|
|
path: /logout
|
|
- target: /
|
|
+ success_handler: yunohost.logout_success_handler
|
|
|
|
access_control:
|
|
- { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
|
|
diff --git a/app/config/services.yml b/app/config/services.yml
|
|
index 8a09fde..ee63e06 100644
|
|
--- a/app/config/services.yml
|
|
+++ b/app/config/services.yml
|
|
@@ -37,6 +37,9 @@ services:
|
|
tags:
|
|
- { name: kernel.event_listener, event: security.interactive_login, method: onInteractiveLogin }
|
|
|
|
+ yunohost.logout_success_handler:
|
|
+ class: Wallabag\YunoHostBundle\Security\LogoutSuccessHandler
|
|
+
|
|
yunohost.ldap:
|
|
class: Symfony\Component\Ldap\LdapClient
|
|
arguments: ["localhost"]
|
|
diff --git a/src/Wallabag/YunoHostBundle/Security/LogoutSuccessHandler.php b/src/Wallabag/YunoHostBundle/Security/LogoutSuccessHandler.php
|
|
new file mode 100644
|
|
index 0000000..b326824
|
|
--- /dev/null
|
|
+++ b/src/Wallabag/YunoHostBundle/Security/LogoutSuccessHandler.php
|
|
@@ -0,0 +1,27 @@
|
|
+<?php
|
|
+
|
|
+namespace Wallabag\YunoHostBundle\Security;
|
|
+
|
|
+use Symfony\Component\HttpFoundation\Request;
|
|
+use Symfony\Component\HttpFoundation\RedirectResponse;
|
|
+use Symfony\Component\Security\Http\Logout\LogoutSuccessHandlerInterface;
|
|
+
|
|
+/**
|
|
+ * Redirects to the SSO logout URL in case of a successful logout.
|
|
+ *
|
|
+ * @see http://api.symfony.com/3.1/Symfony/Component/Security/Http/Logout/LogoutSuccessHandlerInterface.html
|
|
+ */
|
|
+class LogoutSuccessHandler implements LogoutSuccessHandlerInterface
|
|
+{
|
|
+ /**
|
|
+ * {@inheritdoc}
|
|
+ */
|
|
+ public function onLogoutSuccess(Request $request)
|
|
+ {
|
|
+ // Retrieve the current SSO logout URL
|
|
+ $main_domain = exec('cat /etc/yunohost/current_host');
|
|
+ $url = 'https://' . $main_domain . '/yunohost/sso/?action=logout';
|
|
+
|
|
+ return new RedirectResponse($url);
|
|
+ }
|
|
+}
|