server/core/Controller
Lukas Reschke a04feff9a7
Properly allow \OCP\Authentication\IApacheBackend to specify logout URL
Any `\OCP\Authentication\IApacheBackend` previously had to implement `getLogoutAttribute` which returns a string.
This string is directly injected into the logout `<a>` tag, so returning something like `href="foo"` would result
in `<a href="foo">`.

This is rather error prone and also in Nextcloud 12 broken as the logout entry has been moved with
054e161eb5 inside the navigation manager where one cannot simply inject attributes.

Thus this feature is broken in Nextcloud 12 which effectively leads to the bug described at nextcloud/user_saml#112,
people cannot logout anymore when using SAML using SLO. Basically in case of SAML you have a SLO url which redirects
you to the IdP and properly logs you out there as well.

Instead of monkey patching the Navigation manager I decided to instead change `\OCP\Authentication\IApacheBackend` to
use `\OCP\Authentication\IApacheBackend::getLogoutUrl` instead where it can return a string with the appropriate logout
URL. Since this functionality is only prominently used in the SAML plugin. Any custom app would need a small change but
I'm not aware of any and there's simply no way to fix this properly otherwise.

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-08-18 12:22:44 +02:00
..
AvatarController.php Fix AvatarController 2017-08-01 08:20:15 +02:00
ClientFlowLoginController.php Add tests for ClientFlowLoginController 2017-05-18 20:49:08 +02:00
ContactsMenuController.php Fix ContactsMenuController 2017-08-01 08:20:15 +02:00
CssController.php Automatic injection for CssController 2017-05-10 09:42:40 +02:00
JsController.php Automatic injection for JsController 2017-05-10 09:42:15 +02:00
LoginController.php Add metadata to \OCP\AppFramework\Http\Response::throttle 2017-07-27 14:17:45 +02:00
LostController.php Cleanup legacy user class from unused methods 2017-07-24 12:17:53 +02:00
OCJSController.php Move OC_Defaults to OCP\Defaults 2017-04-09 21:43:01 -05:00
OCSController.php Fix OCSController 2017-08-01 08:20:15 +02:00
PreviewController.php Handle more error cases 2017-05-02 13:43:48 +02:00
SetupController.php Fix public page css fallback loading 2017-02-01 18:03:51 +01:00
TwoFactorChallengeController.php Properly allow \OCP\Authentication\IApacheBackend to specify logout URL 2017-08-18 12:22:44 +02:00
UserController.php UserController does not require Defaults 2016-08-29 21:14:50 +02:00