nextcloud / nextcloud/user_saml
IDP-initiated Logout not working
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
- Log in with SSO/SAML
- Start a IDP-initiated Logout
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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