nextcloud/lib/public
Lukas Reschke 245080e647
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-30 14:42:46 +02:00
..
Activity Add a flag to allow checking if SVGs are okay 2017-07-07 11:16:37 +02:00
App Don't use a generic exception 2017-03-20 10:33:16 +01:00
AppFramework Remove unused use statements 2017-04-22 19:23:31 -05:00
Authentication Properly allow \OCP\Authentication\IApacheBackend to specify logout URL 2017-08-30 14:42:46 +02:00
BackgroundJob Add duration of last job execution to the table 2017-04-25 17:39:58 +02:00
Capabilities Fix others 2016-07-21 18:13:57 +02:00
Command Update with robin 2016-07-21 18:13:58 +02:00
Comments Allow getting the unread comment count for an entire folder at once 2017-03-30 12:48:24 +02:00
Console Fix others 2016-07-21 18:13:57 +02:00
Contacts Don't show contacts an entry for themselves 2017-04-25 20:47:17 +02:00
DB/QueryBuilder Add a method to compare empty strings with an expression 2017-08-03 16:41:03 +02:00
Diagnostics Fix missing conflict resolutions 2017-04-26 17:05:59 +02:00
Encryption create new encryption keys on password reset and backup the old one 2017-01-10 17:04:32 +01:00
Federation Document that it throws 2017-08-16 13:57:45 +02:00
Files allow apps to set custom mount types 2017-04-28 09:38:21 +02:00
GlobalScale add new config switched for the global scale architecture 2017-06-02 11:00:08 +02:00
Http/Client Update with robin 2016-07-21 18:13:58 +02:00
L10N Don't force the use of Accept-Language anymore 2017-04-07 11:10:04 +02:00
LDAP @since 9.2.0 to @since 11.0.0 2016-11-15 18:51:52 +01:00
Lock Update with robin 2016-07-21 18:13:58 +02:00
Lockdown phpdoc 2016-11-16 15:24:28 +01:00
Mail Add meta information to emails for better customisation 2017-08-28 17:33:35 +02:00
Migration Fix others 2016-07-21 18:13:57 +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 Fix others 2016-07-21 18:13:57 +02:00
Security Increase device password entropy. Use lower- and upper-case characters and digits, but exclude ambiguous characters. The number of digits has also been increased to 25. 2017-05-08 14:04:40 +02:00
Session/Exceptions Fix others 2016-07-21 18:13:57 +02:00
Settings Allow apps to specify an icon with the sections via the API 2017-01-19 10:42:21 +01:00
Share Adjust docs and make !$currentAccess simpler 2017-04-13 12:58:52 +02:00
SystemTag Remove unused use statements 2017-04-22 19:23:31 -05: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 Update with robin 2016-07-21 18:13:58 +02:00
Defaults.php Add function to request SVG or regular fallback image 2017-05-08 14:51:55 +02:00
Files.php Update with robin 2016-07-21 18:13:58 +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
IDBConnection.php @since 9.2.0 to @since 11.0.0 2016-11-15 18:51:52 +01:00
IDateTimeFormatter.php Fix others 2016-07-21 18:13:57 +02:00
IDateTimeZone.php Fix others 2016-07-21 18:13:57 +02:00
IEventSource.php Update with robin 2016-07-21 18:13:58 +02:00
IGroup.php IGroup::getDisplayName is available version 12, not 11 (9.2) 2017-05-04 12:06:03 +02:00
IGroupManager.php Update with robin 2016-07-21 18:13:58 +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 Fix IL10N phpdoc 2016-08-16 20:24:50 +02:00
ILogger.php Change cron wording to background jobs 2017-05-16 21:12:28 +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-07-02 14:03:35 +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
Image.php Fix others 2016-07-21 18:13:57 +02:00
JSON.php Fix others 2016-07-21 18:13:57 +02:00
PreConditionNotMetException.php Fix others 2016-07-21 18:13:57 +02:00
Response.php Update with robin 2016-07-21 18:13:58 +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 Adjust tests and DI for Share.php 2016-11-02 23:26:49 +01: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 others 2016-07-21 18:13:57 +02:00
User.php Remove deprecated OC_User::isLoggedIn 2017-03-02 22:59:39 +01:00
UserInterface.php Fix others 2016-07-21 18:13:57 +02:00
Util.php Use SystemConfig instead of AllConfig for DB stuff 2017-03-19 15:53:49 -06:00