nextcloud/lib/public
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
..
Activity Add a flag to allow checking if SVGs are okay 2017-06-20 12:40:45 +02:00
App Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
AppFramework Remove explicit type hints for Controller 2017-08-01 17:32:03 +02:00
Authentication Properly allow \OCP\Authentication\IApacheBackend to specify logout URL 2017-08-18 12:22:44 +02:00
BackgroundJob Add |null to PHPDoc 2017-08-01 08:20:15 +02:00
Capabilities Add public capabilities API 2017-06-30 11:08:04 +02:00
Command Update with robin 2016-07-21 18:13:58 +02:00
Comments Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
Console Fix others 2016-07-21 18:13:57 +02:00
Contacts Some phpstorm inspection fixes 2017-07-22 21:10:16 +02:00
DB/QueryBuilder Add a method to compare empty strings with an expression 2017-08-02 09:50:41 +02:00
Diagnostics Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
Encryption Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
Federation Document that it throws 2017-08-14 22:20:57 +02:00
Files Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
GlobalScale add new config switched for the global scale architecture 2017-05-29 18:19:28 +02:00
Http/Client Update with robin 2016-07-21 18:13:58 +02:00
L10N Use symfony/translation for L10N plurals 2017-08-07 19:53:36 +02:00
LDAP @since 9.2.0 to @since 11.0.0 2016-11-15 18:51:52 +01:00
Lock Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
Lockdown phpdoc 2016-11-16 15:24:28 +01:00
Mail Stricter phan config fixes 2017-08-01 08:20:13 +02:00
Migration Allow to check the schema in pre and post as well 2017-07-05 13:01:19 +02:00
Notification @since 9.2.0 to @since 11.0.0 2016-11-15 18:51:52 +01:00
OCS provide public discovery service to discover OCS end-points on another server 2017-04-11 15:03:59 +02:00
Preview Fix others 2016-07-21 18:13:57 +02:00
RichObjectStrings Add circle as well 2017-05-09 10:45:10 +02:00
Route Update with robin 2016-07-21 18:13:58 +02:00
Search Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
Security Some phpstorm inspection fixes 2017-07-22 21:10:16 +02:00
Session/Exceptions Fix others 2016-07-21 18:13:57 +02:00
Settings We're on 13 now… 2017-06-26 11:03:41 +02:00
Share Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
SystemTag Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
WorkflowEngine Validate the operation 2016-08-19 12:23:05 +02:00
API.php Fix others 2016-07-21 18:13:57 +02:00
App.php Fix others 2016-07-21 18:13:57 +02:00
AutoloadNotAllowedException.php Fix others 2016-07-21 18:13:57 +02:00
BackgroundJob.php Removed depreacted functions (since 6.0) 2016-10-29 14:27:12 +02:00
Config.php Update with robin 2016-07-21 18:13:58 +02:00
Constants.php Fix others 2016-07-21 18:13:57 +02:00
Contacts.php Fix others 2016-07-21 18:13:57 +02:00
DB.php Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
Defaults.php Logo claim is not used anymore 2017-08-02 23:08:45 +02:00
Files.php Some phpstorm inspection fixes 2017-07-22 21:10:16 +02:00
GroupInterface.php Adding group display name support 2016-12-22 18:34:45 +01:00
IAddressBook.php Fix others 2016-07-21 18:13:57 +02:00
IAppConfig.php Filter out sensitive appconfig values 2017-01-11 11:42:36 +01:00
IAvatar.php Update with robin 2016-07-21 18:13:58 +02:00
IAvatarManager.php Fix others 2016-07-21 18:13:57 +02:00
ICache.php Fix others 2016-07-21 18:13:57 +02:00
ICacheFactory.php Update with robin 2016-07-21 18:13:58 +02:00
ICertificate.php Update with robin 2016-07-21 18:13:58 +02:00
ICertificateManager.php Update with robin 2016-07-21 18:13:58 +02:00
IConfig.php Update with robin 2016-07-21 18:13:58 +02:00
IContainer.php Don't do a recursive search 2017-03-22 10:44:13 +01:00
IDateTimeFormatter.php Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
IDateTimeZone.php Fix others 2016-07-21 18:13:57 +02:00
IDBConnection.php Start migrations 2017-07-05 13:01:19 +02:00
IEventSource.php Update with robin 2016-07-21 18:13:58 +02:00
IGroup.php Take IUser instead of User 2017-08-01 08:20:15 +02:00
IGroupManager.php Take IUser instead of User 2017-08-01 08:20:15 +02:00
IHelper.php Fix others 2016-07-21 18:13:57 +02:00
IImage.php Fix others 2016-07-21 18:13:57 +02:00
IL10N.php Move \OC_L10N_String to proper \OC\L10N\L10NString 2017-07-24 20:17:20 +02:00
ILogger.php Add proper PHPDoc 2017-08-01 08:20:15 +02:00
Image.php Fix others 2016-07-21 18:13:57 +02:00
IMemcache.php Update with robin 2016-07-21 18:13:58 +02:00
IMemcacheTTL.php Update with robin 2016-07-21 18:13:58 +02:00
INavigationManager.php Fix others 2016-07-21 18:13:57 +02:00
IPreview.php Add PHPDoc 2017-05-02 13:43:47 +02:00
IRequest.php Fix detection of the new iOS app 2017-02-10 10:10:21 +01:00
ISearch.php Fix others 2016-07-21 18:13:57 +02:00
IServerContainer.php Do proper DI 2017-04-11 15:04:01 +02:00
ISession.php Fix others 2016-07-21 18:13:57 +02:00
ITagManager.php Fix others 2016-07-21 18:13:57 +02:00
ITags.php Fix others 2016-07-21 18:13:57 +02:00
ITempManager.php Update with robin 2016-07-21 18:13:58 +02:00
IURLGenerator.php Make cache and scss caching depend on the baseUrl 2017-06-15 12:46:24 +02:00
IUser.php Update with robin 2016-07-21 18:13:58 +02:00
IUserBackend.php Fix others 2016-07-21 18:13:57 +02:00
IUserManager.php UserManager can now count disabled users 2017-04-29 00:59:09 -03:00
IUserSession.php Update with robin 2016-07-21 18:13:58 +02:00
JSON.php Suppress deprecated function in \OCP\JSON 2017-08-01 08:20:15 +02:00
PreConditionNotMetException.php Fix others 2016-07-21 18:13:57 +02:00
Response.php Replace wrong PHPDocs 2017-08-01 08:20:16 +02:00
SabrePluginEvent.php Fix others 2016-07-21 18:13:57 +02:00
SabrePluginException.php Fix others 2016-07-21 18:13:57 +02:00
Share.php Cleanup unused methods 2017-08-15 14:29:26 +02:00
Share_Backend.php Fix others 2016-07-21 18:13:57 +02:00
Share_Backend_Collection.php Fix others 2016-07-21 18:13:57 +02:00
Share_Backend_File_Dependent.php Fix others 2016-07-21 18:13:57 +02:00
Template.php Fix template functions 2017-08-01 08:20:16 +02:00
User.php Properly suppress 2017-08-01 08:20:16 +02:00
UserInterface.php Fix comments 2017-07-25 08:57:58 +02:00
Util.php Fix \OCP\Util 2017-08-01 08:20:15 +02:00