nextcloud / nextcloud/user_saml

IDP-initiated Logout not working

Open
#161 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
PHP
Stars
104
Forks
85
Avg merge
1d 15h
Merged PRs (30d)
16

Description

Login and sp-initiated logout seems working, although I can see some errors related with mcrypt in the log:
Function mcrypt_module_open() is deprecated at
/var/www/html/nextcloud/apps/user_saml/3rdparty/vendor/onelogin/php-saml/extlib/xmlseclibs/xmlseclibs.php#319

IDP-initiated Logout is not working.

How is affecting the mcrypt errors? is there some workaround, or is it going to be solved?

Thanks

Steps to reproduce
  1. Log in with SSO/SAML
  2. Start a IDP-initiated Logout
  3. Check logout is effective
Expected behaviour

Logout initiated from idp should result in a correct logout from the SP ( nextcloud ) server.

Actual behaviour

logout message is not processed correctly by user_saml at SP ( nextcloud ) server

Server configuration

Operating system:
CentOS Linux release 7.4.1708 (Core)

Web server:
httpd-2.4.6-67.el7.centos.2.x86_64

Database:
mariadb-server-5.5.56-2.el7.x86_64

PHP version:
php71w-mysqlnd-7.1.9-2.w7.x86_64
mod_php71w-7.1.9-2.w7.x86_64
php71w-imap-7.1.9-2.w7.x86_64
php71w-pecl-imagick-3.4.3-1.w7.x86_64
php71w-pdo-7.1.9-2.w7.x86_64
php71w-mcrypt-7.1.9-2.w7.x86_64
php71w-cli-7.1.9-2.w7.x86_64
php71w-mbstring-7.1.9-2.w7.x86_64
php71w-pspell-7.1.9-2.w7.x86_64
php71w-ldap-7.1.9-2.w7.x86_64
php71w-pear-1.10.4-1.w7.noarch
php71w-common-7.1.9-2.w7.x86_64
php71w-xml-7.1.9-2.w7.x86_64
php71w-gd-7.1.9-2.w7.x86_64
php71w-process-7.1.9-2.w7.x86_64

Nextcloud version: (see Nextcloud admin page)

  • version: 12.0.3.3

Where did you install Nextcloud from:
https://download.nextcloud.com/server/releases/nextcloud-12.0.3.zip

List of activated apps:

If you have access to your command line run e.g.:
sudo -u www-data php occ app:list
from within your Nextcloud installation folder

Enabled:

  • activity: 2.5.2
  • bruteforcesettings: 1.0.2
  • calendar: 1.5.5
  • comments: 1.2.0
  • dav: 1.3.0
  • federatedfilesharing: 1.2.0
  • federation: 1.2.0
  • files: 1.7.2
  • files_pdfviewer: 1.1.1
  • files_sharing: 1.4.0
  • files_texteditor: 2.4.1
  • files_trashbin: 1.2.0
  • files_versions: 1.5.0
  • files_videoplayer: 1.1.0
  • firstrunwizard: 2.1
  • gallery: 17.0.0
  • groupfolders: 1.1.0
  • logreader: 2.0.0
  • lookup_server_connector: 1.0.0
  • nextcloud_announcements: 1.1
  • notifications: 2.0.0
  • oauth2: 1.0.5
  • password_policy: 1.2.2
  • provisioning_api: 1.2.0
  • serverinfo: 1.2.0
  • sharebymail: 1.2.0
  • survey_client: 1.0.0
  • systemtags: 1.2.0
  • theming: 1.3.0
  • twofactor_backupcodes: 1.1.1
  • updatenotification: 1.2.0
  • user_saml: 1.4.0
  • workflowengine: 1.2.0
    Disabled:
  • admin_audit
  • encryption
  • files_external
  • user_external
  • user_ldap

Nextcloud configuration:

If you have access to your command line run e.g.:
sudo -u www-data php occ config:list system
from within your Nextcloud installation folder

or

Insert your config.php content here
Make sure to remove all sensitive content such as passwords. (e.g. database password, passwordsalt, secret, smtp password, …)

{
"system": {
"instanceid": "oceiqlv2uuy3",
"passwordsalt": "REMOVED SENSITIVE VALUE",
"secret": "REMOVED SENSITIVE VALUE",
"trusted_domains": [
"ibox.ific.uv.es",
"triki.ific.uv.es",
"wn158.ific.uv.es",
"kantele.ific.uv.es"
],
"log_type": "owncloud",
"logfile": "nextcloud.log",
"loglevel": "0",
"datadirectory": "/var/www/html/nextcloud/data",
"overwrite.cli.url": "http://ibox.ific.uv.es/nextcloud",
"dbtype": "mysql",
"version": "12.0.3.3",
"dbname": "nextcloud",
"dbhost": "localhost",
"dbport": "",
"dbtableprefix": "oc_",
"dbuser": "REMOVED SENSITIVE VALUE",
"dbpassword": "REMOVED SENSITIVE VALUE",
"installed": true
}
}

Client configuration

Browser:
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0

Operating system:
Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-93-generic x86_64)

Logs
Nextcloud log (data/owncloud.log)
Insert your Nextcloud log here

{"reqId":"WdIWtNeZC9@lWzos0mnQzQAAAA8","level":3,"time":"2017-10-02T10:36:36+00:00","remoteAddr":"147.156.52.141","user":"--","app":"PHP","method":"POST","url":"/nextcloud/index.php/apps/user_saml/saml/acs","message":"Function mcrypt_enc_get_iv_size() is deprecated at /var/www/html/nextcloud/apps/user_saml/3rdparty/vendor/onelogin/php-saml/extlib/xmlseclibs/xmlseclibs.php#320","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0","version":"12.0.3.3"}
{"reqId":"WdIWtNeZC9@lWzos0mnQzQAAAA8","level":3,"time":"2017-10-02T10:36:36+00:00","remoteAddr":"147.156.52.141","user":"--","app":"PHP","method":"POST","url":"/nextcloud/index.php/apps/user_saml/saml/acs","message":"Function mcrypt_generic_init() is deprecated at /var/www/html/nextcloud/apps/user_saml/3rdparty/vendor/onelogin/php-saml/extlib/xmlseclibs/xmlseclibs.php#325","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0","version":"12.0.3.3"}
{"reqId":"WdIWtNeZC9@lWzos0mnQzQAAAA8","level":3,"time":"2017-10-02T10:36:36+00:00","remoteAddr":"147.156.52.141","user":"--","app":"PHP","method":"POST","url":"/nextcloud/index.php/apps/user_saml/saml/acs","message":"Function mdecrypt_generic() is deprecated at /var/www/html/nextcloud/apps/user_saml/3rdparty/vendor/onelogin/php-saml/extlib/xmlseclibs/xmlseclibs.php#326","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0","version":"12.0.3.3"}
{"reqId":"WdIWtNeZC9@lWzos0mnQzQAAAA8","level":3,"time":"2017-10-02T10:36:36+00:00","remoteAddr":"147.156.52.141","user":"--","app":"PHP","method":"POST","url":"/nextcloud/index.php/apps/user_saml/saml/acs","message":"Function mcrypt_generic_deinit() is deprecated at /var/www/html/nextcloud/apps/user_saml/3rdparty/vendor/onelogin/php-saml/extlib/xmlseclibs/xmlseclibs.php#327","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0","version":"12.0.3.3"}
{"reqId":"WdIWtNeZC9@lWzos0mnQzQAAAA8","level":3,"time":"2017-10-02T10:36:36+00:00","remoteAddr":"147.156.52.141","user":"--","app":"PHP","method":"POST","url":"/nextcloud/index.php/apps/user_saml/saml/acs","message":"Function mcrypt_module_close() is deprecated at /var/www/html/nextcloud/apps/user_saml/3rdparty/vendor/onelogin/php-saml/extlib/xmlseclibs/xmlseclibs.php#328","userAgent":"Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:55.0) Gecko/20100101 Firefox/55.0","version":"12.0.3.3"}

Browser log
Insert your browser log here, this could for example include:

a) The javascript console log
b) The network log
c) ...

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the three listed SSO and logout steps on the reported Nextcloud 12.0.3.3 and inspect the user_saml SAML flow, starting with the referenced 3rdparty/vendor/onelogin/php-saml/extlib/xmlseclibs/xmlseclibs.php and the logged ACS requests. Done means an IDP-initiated logout correctly logs the user out of Nextcloud and the relationship between the mcrypt warnings and the failure is documented or resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
php
Domain
authentication
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.