nextcloud / nextcloud/user_saml
Overwritehost in config.php conflicts with SSO Redirect
Nobody has claimed this yet.
- Dominant language
- PHP
- Stars
- 104
- Forks
- 85
- Avg merge
- 1d 15h
- Merged PRs (30d)
- 16
Description
Steps to reproduce
- define overwritehost domain in config.php from nextcloud
- configure IdP on different subdomain than nextcloud
- the redirect to the IdP from the user_saml plugin uses the defined overwritehost domain and NOT the correct subdomain of the IdP
Expected behaviour
Normally when I click on the Button of the IdP/SSO Service (option for multiple backends, the same with just the SSO Service if I deactivate that option) I should be redirected to the IdP Service.
Actual behaviour
Instead the plugin uses the overwritehost domain from the nextcloud settings. When I correct the domain in the adress bar and hit enter, the redirect continues normally and everything works fine. Sadly I can not test the configuration without setting the overwritehost variable because then my setup (reverse proxy etc.) is not working.
Server configuration
Operating system: Linux 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64
Web server: Apache/2.4.29 (Ubuntu) (fpm-fcgi)
Database: pgsql PostgreSQL 10.12 (Ubuntu 10.12-0ubuntu0.18.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit
PHP version: 7.2.24-0ubuntu0.18.04.3
Modules loaded: Core, date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, sodium, session, standard, cgi-fcgi, json, PDO, xml, bz2, calendar, ctype, curl, dom, mbstring, fileinfo, ftp, gd, gettext, gmp, iconv, imap, intl, redis, ldap, exif, pdo_pgsql, pgsql, Phar, posix, readline, shmop, SimpleXML, smbclient, soap, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, wddx, xmlreader, xmlwriter, xsl, zip, libsmbclient, Zend OPcache
Nextcloud version: 18.0.3
Where did you install Nextcloud from:
List of activated apps:
Enabled:
- accessibility: 1.4.0
- apporder: 0.9.0
- calendar: 2.0.2
- checksum: 0.4.4
- cloud_federation_api: 1.1.0
- comments: 1.8.0
- contacts: 3.2.0
- dav: 1.14.0
- dicomviewer: 1.2.1
- drawio: 0.9.5
- event_update_notification: 1.0.1
- external: 3.5.0
- extract: 1.2.3
- federatedfilesharing: 1.8.0
- federation: 1.8.0
- files: 1.13.1
- files_external: 1.9.0
- files_pdfviewer: 1.7.0
- files_rightclick: 0.15.2
- files_sharing: 1.10.1
- files_trashbin: 1.8.0
- files_versions: 1.11.0
- files_videoplayer: 1.7.0
- firstrunwizard: 2.7.0
- impersonate: 1.5.0
- issuetemplate: 0.6.0
- logreader: 2.3.0
- lookup_server_connector: 1.6.0
- metadata: 0.11.1
- music: 0.13.2
- nextcloud_announcements: 1.7.0
- notes: 3.2.0
- notifications: 2.6.0
- oauth2: 1.6.0
- password_policy: 1.8.0
- photos: 1.0.0
- polls: 1.3.0
- privacy: 1.2.0
- provisioning_api: 1.8.0
- recommendations: 0.6.0
- serverinfo: 1.8.0
- settings: 1.0.0
- sharebymail: 1.8.0
- spreed: 8.0.5
- support: 1.1.0
- survey_client: 1.6.0
- systemtags: 1.8.0
- tasks: 0.12.1
- text: 2.0.0
- theming: 1.9.0
- twofactor_backupcodes: 1.7.0
- updatenotification: 1.8.0
- user_ldap: 1.8.0
- user_saml: 3.0.1
- viewer: 1.2.0
- workflowengine: 2.0.0
Disabled:
- activity
- admin_audit
- encryption
- mail
Nextcloud configuration:
"passwordsalt": "***REMOVED SENSITIVE VALUE***",
"secret": "***REMOVED SENSITIVE VALUE***",
"trusted_domains": [
"localhost",
"192.168.47.129",
"XXXX.cloud",
"nextcloud"
],
"datadirectory": "***REMOVED SENSITIVE VALUE***",
"dbtype": "pgsql",
"version": "18.0.3.00",
"dbname": "***REMOVED SENSITIVE VALUE***",
"dbhost": "***REMOVED SENSITIVE VALUE***",
"dbport": "",
"dbtableprefix": "oc_",
"dbuser": "***REMOVED SENSITIVE VALUE***",
"dbpassword": "***REMOVED SENSITIVE VALUE***",
"installed": true,
"instanceid": "***REMOVED SENSITIVE VALUE***",
"mail_smtpmode": "smtp",
"remember_login_cookie_lifetime": "1800",
"log_rotate_size": "10485760",
"simpleSignUpLink.shown": "false",
"memcache.local": "\\OC\\Memcache\\Redis",
"filelocking.enabled": true,
"memcache.distributed": "\\OC\\Memcache\\Redis",
"memcache.locking": "\\OC\\Memcache\\Redis",
"redis": {
"host": "***REMOVED SENSITIVE VALUE***",
"port": 0,
"timeout": 0.5,
"dbindex": 0,
"password": "***REMOVED SENSITIVE VALUE***"
},
"htaccess.RewriteBase": "\/",
"maintenance": false,
"overwrite.cli.url": "https:\/\/XXXX.cloud",
"ldapIgnoreNamingRules": false,
"ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
"overwritehost": "XXXX.cloud",
"overwriteprotocol": "https",
"mail_from_address": "***REMOVED SENSITIVE VALUE***",
"mail_sendmailmode": "smtp",
"mail_domain": "***REMOVED SENSITIVE VALUE***",
"mail_smtphost": "***REMOVED SENSITIVE VALUE***",
"mail_smtpport": "25",
"loglevel": 2,
"app_install_overwrite": [
"polls",
"dicomviewer",
"drawio",
]
}
Client configuration
Browser:
All Browsers (Firefox, Edge, Chrome)
Operating system:
Windows 10
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
Start by reproducing the SSO redirect with overwritehost configured in config.php and the IdP on a different subdomain; inspect how the user_saml plugin constructs that redirect. Done means the redirect preserves the IdP subdomain while reverse-proxy behavior continues to work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- authentication
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100