nextcloud / nextcloud/user_saml

user_saml ignores HTTP-POST signon binding, always uses HTTP-Redirect

Open
#974 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage bug
Dominant language
PHP
Stars
104
Forks
85
Avg merge
1d 15h
Merged PRs (30d)
16

Description

How to use GitHub
  • Please use the 👍 reaction to show that you are affected by the same issue.
  • Please don't comment if you have no relevant information to add. It's just extra noise for everyone subscribed to this issue.
  • Subscribe to receive notifications on status change and new comments.

Steps to reproduce
  1. Configure user_saml to explicitly use HTTP-POST for SSO by running:
    occ config:app:set user_saml saml_saml20_signon_binding --value="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
    occ config:app:set user_saml saml_force_post --value="1"

  2. Confirm config:
    occ config:list user_saml

{
    "apps": {
        "user_saml": {
            "enabled": "yes",
            "general-allow_multiple_user_back_ends": "1",
            "installed_version": "6.6.0",
            "localGroupsCheckForMigration": "{\"dropAfter\":1725503566,\"groups\":{\"1\":\"test\\u7ec4\"}}",
            "saml_force_post": "1",
            "saml_saml20_logout_binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
            "saml_saml20_signon_binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
            "type": "saml",
            "types": "authentication"
        }
    }
}
  1. Run curl to test login:
    curl -v -L "https://cloud.example.com/index.php/apps/user_saml/saml/login"
Expected behaviour

The user_saml app should initiate SSO by sending a HTTP-POST form to the IdP (as configured).

Actual behaviour

It still uses a HTTP 303 See Other redirect with a GET URL (HTTP-Redirect binding), ignoring the saml_saml20_signon_binding and saml_force_post settings.

Server configuration

Web server: nginx 1.24

Database: MySQL 8.0

PHP version: 8.2.28

Nextcloud version: 30.0.10.1

List of activated apps

occ app:list

Enabled:
  - activity: 3.0.0
  - admin_audit: 1.20.0
  - announcementcenter: 7.1.1
  - app_api: 4.0.6
  - bruteforcesettings: 3.0.0
  - calendar: 5.2.2
  - checksum: 1.2.6
  - cloud_federation_api: 1.13.0
  - comments: 1.20.1
  - contacts: 7.0.6
  - contactsinteraction: 1.11.0
  - dav: 1.31.1
  - drawio: 3.0.9
  - external: 5.5.2
  - federatedfilesharing: 1.20.0
  - federation: 1.20.0
  - files: 2.2.0
  - files_accesscontrol: 1.20.1
  - files_automatedtagging: 1.20.0
  - files_downloadlimit: 3.0.0
  - files_fulltextsearch: 31.0.0
  - files_mindmap: 0.0.33
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_retention: 1.19.1
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - firstrunwizard: 3.0.0
  - fulltextsearch: 30.0.1
  - fulltextsearch_elasticsearch: 30.0.1
  - group_everyone: 0.1.17
  - groupfolders: 18.1.2
  - impersonate: 1.17.1
  - logreader: 3.0.0
  - lookup_server_connector: 1.18.0
  - nextcloud_announcements: 2.0.0
  - notifications: 3.0.0
  - oauth2: 1.18.1
  - onlyoffice: 9.8.0
  - password_policy: 2.0.0
  - passwords: 2025.4.10
  - privacy: 2.0.0
  - provisioning_api: 1.20.0
  - quota_warning: 1.21.0
  - related_resources: 1.5.0
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - support: 2.0.0
  - survey_client: 2.0.0
  - systemtags: 1.20.0
  - tasks: 0.16.1
  - text: 4.1.0
  - theming: 2.6.0
  - twofactor_backupcodes: 1.19.0
  - twofactor_totp: 12.0.0-dev
  - updatenotification: 1.20.0
  - user_saml: 6.6.0
  - user_status: 1.10.0
  - viewer: 3.0.0
  - webhook_listeners: 1.1.0-dev
  - workflowengine: 2.12.0
Nextcloud configuration

occ config:list

{
    "system": {
        "instanceid": "***REMOVED SENSITIVE VALUE***",
        "passwordsalt": "***REMOVED SENSITIVE VALUE***",
        "secret": "***REMOVED SENSITIVE VALUE***",
        "trusted_domains": [
            "cloud.example.com"
        ],
        "datadirectory": "***REMOVED SENSITIVE VALUE***",
        "dbtype": "mysql",
        "version": "30.0.10.1",
        "overwrite.cli.url": "https:\/\/cloud.example.com",
        "dbname": "***REMOVED SENSITIVE VALUE***",
        "dbhost": "***REMOVED SENSITIVE VALUE***",
        "dbport": "",
        "dbtableprefix": "oc_",
        "mysql.utf8mb4": true,
        "dbuser": "***REMOVED SENSITIVE VALUE***",
        "dbpassword": "***REMOVED SENSITIVE VALUE***",
        "installed": true,
        "default_language": "zh_CN",
        "memcache.local": "\\OC\\Memcache\\Redis",
        "memcache.distributed": "\\OC\\Memcache\\Memcached",
        "memcached_servers": [
            [
                "localhost",
                11211
            ]
        ],
        "maintenance": false,
        "filelocking.enabled": true,
        "memcache.locking": "\\OC\\Memcache\\Redis",
        "redis": {
            "host": "***REMOVED SENSITIVE VALUE***",
            "port": 6379
        },
        "mail_smtpmode": "smtp",
        "mail_sendmailmode": "smtp",
        "mail_from_address": "***REMOVED SENSITIVE VALUE***",
        "mail_domain": "***REMOVED SENSITIVE VALUE***",
        "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
        "mail_smtpport": "25",
        "twofactor_enforced": "true",
        "twofactor_enforced_groups": [],
        "twofactor_enforced_excluded_groups": [],
        "mail_smtpauthtype": "LOGIN",
        "mail_smtpauth": 1,
        "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
        "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
        "theme": "",
        "loglevel": 2,
        "updater.release.channel": "stable",
        "allow_local_remote_servers": true,
        "trashbin_retention_obligation": "auto,7",
        "ldapIgnoreNamingRules": false,
        "activity_use_cached_mountpoints": "true",
        "enabledPreviewProviders": [
            "OC\\Preview\\PNG",
            "OC\\Preview\\JPEG",
            "OC\\Preview\\GIF",
            "OC\\Preview\\HEIC",
            "OC\\Preview\\BMP",
            "OC\\Preview\\XBitmap",
            "OC\\Preview\\Movie",
            "OC\\Preview\\MKV",
            "OC\\Preview\\MP4",
            "OC\\Preview\\AVI",
            "OC\\Preview\\TXT"
        ],
        "proxy": "porxy.example.com",
        "app_install_overwrite": [
            "files_texteditor",
            "files_trackdownloads"
        ],
        "default_phone_region": "CN",
        "maintenance_window_start": 1,
        "defaultapp": "",
        "debug": true
    },
    "apps": {
        "activity": {
            "enable_email": "no",
            "enabled": "yes",
            "installed_version": "3.0.0",
            "types": "filesystem"
        },
        "admin_audit": {
            "enabled": "yes",
            "installed_version": "1.20.0",
            "types": "logging"
        },
        "announcementcenter": {
            "enabled": "yes",
            "installed_version": "7.1.1",
            "types": "logging"
        },
        "app_api": {
            "enabled": "yes",
            "installed_version": "4.0.6",
            "types": ""
        },
        "backgroundjob": {
            "lastjob": "3395"
        },
        "bruteforcesettings": {
            "enabled": "yes",
            "installed_version": "3.0.0",
            "types": ""
        },
        "calendar": {
            "enabled": "yes",
            "installed_version": "5.2.2",
            "types": ""
        },
        "checksum": {
            "enabled": "yes",
            "installed_version": "1.2.6",
            "types": "filesystem"
        },
        "circles": {
            "enabled": "no",
            "installed_version": "24.0.1",
            "loopback_tmp_scheme": "https",
            "maintenance_run": "0",
            "maintenance_update": "{\"maximum\":3,\"3\":1662126124,\"2\":1662126963,\"1\":1662127203}",
            "migration_22": "1",
            "migration_run": "0",
            "types": "filesystem,dav"
        },
        "cloud_federation_api": {
            "enabled": "yes",
            "installed_version": "1.13.0",
            "types": "filesystem"
        },
        "comments": {
            "enabled": "yes",
            "installed_version": "1.20.1",
            "types": "logging"
        },
        "contacts": {
            "enabled": "yes",
            "installed_version": "7.0.6",
            "types": "dav"
        },
        "contactsinteraction": {
            "enabled": "yes",
            "installed_version": "1.11.0",
            "types": "dav"
        },
        "core": {
            "backgroundjobs_mode": "cron",
            "enterpriseLogoChecked": "yes",
            "files_metadata_installed": "1",
            "installed.bundles": "[\"CoreBundle\"]",
            "installedat": "1585822201.5797",
            "lastcron": 1752414782,
            "lastupdateResult": "{\"version\":\"30.0.13.1\",\"versionstring\":\"Nextcloud 30.0.13\",\"url\":\"https:\\\/\\\/download.nextcloud.com\\\/server\\\/releases\\\/nextcloud-30.0.13.zip\",\"web\":\"https:\\\/\\\/docs.nextcloud.com\\\/server\\\/30\\\/admin_manual\\\/maintenance\\\/upgrade.html\",\"changes\":\"https:\\\/\\\/updates.nextcloud.com\\\/changelog_server\\\/?version=30.0.13\",\"autoupdater\":\"1\",\"eol\":\"0\"}",
            "lastupdatedat": 1752368462,
            "metadataGenerationDone": "true",
            "moveavatarsdone": "yes",
            "previewsCleanedUp": "1",
            "public_files": "files_sharing\/public.php",
            "public_webdav": "dav\/appinfo\/v1\/publicwebdav.php",
            "shareapi_allow_links": "yes",
            "shareapi_allow_resharing": "no",
            "shareapi_default_expire_date": "yes",
            "shareapi_default_internal_expire_date": "yes",
            "shareapi_default_permission_cancreate": "no",
            "shareapi_default_permission_canshare": "no",
            "shareapi_default_permission_canupdate": "no",
            "shareapi_default_permissions": "1",
            "shareapi_enable_link_password_by_default": "yes",
            "shareapi_enforce_links_password": "no",
            "shareapi_exclude_groups": "no",
            "shareapi_exclude_groups_list": "[\"\"]",
            "shareapi_restrict_user_enumeration_to_group": "yes",
            "shareapi_restrict_user_enumeration_to_phone": "yes",
            "theming.variables": "b678bdb23653e1e0b8dafc5f181edd91",
            "updater.secret.created": 1743250974,
            "vendor": "nextcloud",
            "files_metadata": {
                "blurhash": {
                    "value": null,
                    "type": "string",
                    "etag": "c68c68be2c207ebe8c78a82c299de015",
                    "indexed": false,
                    "editPermission": 0
                }
            },
            "oc.integritycheck.checker": []
        },
        "dashboard": {
            "enabled": "no",
            "installed_version": "7.0.0",
            "types": ""
        },
        "dav": {
            "buildCalendarReminderIndex": "yes",
            "buildCalendarSearchIndex": "yes",
            "builtSocialSearchIndex": "yes",
            "chunks_migrated": "1",
            "enabled": "yes",
            "installed_version": "1.31.1",
            "needs_system_address_book_sync": "no",
            "regeneratedBirthdayCalendarsForYearFix": "yes",
            "types": "filesystem"
        },
        "deck": {
            "enabled": "no",
            "installed_version": "1.14.4",
            "types": "dav"
        },
        "documentserver_community": {
            "enabled": "no",
            "installed_version": "0.1.12",
            "types": "filesystem"
        },
        "drawio": {
            "DrawioAutosave": "yes",
            "DrawioLang": "zh",
            "DrawioOffline": "no",
            "DrawioTheme": "kennedy",
            "DrawioUrl": "https:\/\/drawio.example.com",
            "enabled": "yes",
            "installed_version": "3.0.9",
            "types": "filesystem"
        },
        "emlviewer": {
            "enabled": "no",
            "installed_version": "1.0.11",
            "types": ""
        },
        "external": {
            "enabled": "yes",
            "installed_version": "5.5.2",
            "jwt_token_privkey_es256": "***REMOVED SENSITIVE VALUE***",
            "jwt_token_pubkey_es256": "-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOeVM1+O9necqL3TktHLUE+RZ\/jPV\nUSyZA+b5MHcSkuSRSqTuQsYYJS8CHnek1uAruQBCtxdvaKR3QLZa73SBwQ==\n-----END PUBLIC KEY-----\n",
            "types": ""
        },
        "extract": {
            "enabled": "no",
            "installed_version": "1.3.6",
            "types": ""
        },
        "federatedfilesharing": {
            "enabled": "yes",
            "installed_version": "1.20.0",
            "types": ""
        },
        "federation": {
            "enabled": "yes",
            "installed_version": "1.20.0",
            "types": "authentication"
        },
        "files": {
            "cronjob_scan_files": "500",
            "default_quota": "10 GB",
            "enabled": "yes",
            "installed_version": "2.2.0",
            "mimetype_version": "30.0.8.1",
            "types": "filesystem",
            "watermark_allGroups": "no",
            "watermark_allGroupsList": "",
            "watermark_allTags": "no",
            "watermark_allTagsList": "",
            "watermark_enabled": "yes",
            "watermark_linkAll": "yes",
            "watermark_linkRead": "no",
            "watermark_linkSecure": "no",
            "watermark_linkTags": "no",
            "watermark_linkTagsList": "",
            "watermark_shareAll": "yes",
            "watermark_shareRead": "no",
            "watermark_text": "{userId}"
        },
        "files_accesscontrol": {
            "enabled": "yes",
            "installed_version": "1.20.1",
            "types": "filesystem"
        },
        "files_automatedtagging": {
            "enabled": "yes",
            "installed_version": "1.20.0",
            "types": "filesystem"
        },
        "files_downloadactivity": {
            "enabled": "no",
            "installed_version": "1.18.1",
            "types": "filesystem"
        },
        "files_downloadlimit": {
            "enabled": "yes",
            "installed_version": "3.0.0",
            "types": ""
        },
        "files_fulltextsearch": {
            "enabled": "yes",
            "files_audio": "0",
            "files_encrypted": "0",
            "files_external": "0",
            "files_federated": "0",
            "files_group_folders": "1",
            "files_image": "0",
            "files_local": "1",
            "files_office": "1",
            "files_pdf": "1",
            "files_size": "20",
            "installed_version": "31.0.0",
            "types": "filesystem"
        },
        "files_mindmap": {
            "enabled": "yes",
            "installed_version": "0.0.33",
            "types": ""
        },
        "files_pdfviewer": {
            "enabled": "yes",
            "installed_version": "3.0.0",
            "types": ""
        },
        "files_reminders": {
            "enabled": "yes",
            "installed_version": "1.3.0",
            "types": ""
        },
        "files_retention": {
            "enabled": "yes",
            "installed_version": "1.19.1",
            "types": ""
        },
        "files_rightclick": {
            "enabled": "no",
            "installed_version": "1.6.0",
            "types": ""
        },
        "files_sharing": {
            "enabled": "yes",
            "installed_version": "1.22.0",
            "lookupServerUploadEnabled": "no",
            "types": "filesystem"
        },
        "files_texteditor": {
            "enabled": "no",
            "installed_version": "2.15.1",
            "types": ""
        },
        "files_trackdownloads": {
            "enabled": "no",
            "installed_version": "1.11.0",
            "types": "filesystem"
        },
        "files_trashbin": {
            "background_job_expire_trash_offset": 0,
            "enabled": "yes",
            "installed_version": "1.20.1",
            "types": "filesystem,dav"
        },
        "files_versions": {
            "enabled": "yes",
            "installed_version": "1.23.0",
            "types": "filesystem,dav"
        },
        "firstrunwizard": {
            "enabled": "yes",
            "installed_version": "3.0.0",
            "types": "logging"
        },
        "flowupload": {
            "enabled": "no",
            "installed_version": "1.1.3",
            "types": ""
        },
        "fulltextsearch": {
            "app_navigation": "1",
            "cron_err_reset": "1751850422",
            "enabled": "yes",
            "installed_version": "30.0.1",
            "migration_24": "1",
            "provider_indexed": "{\"files\":\"1\"}",
            "search_platform": "OCA\\FullTextSearch_Elasticsearch\\Platform\\ElasticSearchPlatform",
            "types": ""
        },
        "fulltextsearch_elasticsearch": {
            "analyzer_tokenizer": "standard",
            "elastic_host": "http:\/\/127.0.0.1:9200",
            "elastic_index": "nextcloud_fulltext_index",
            "enabled": "yes",
            "installed_version": "30.0.1",
            "types": ""
        },
        "group_everyone": {
            "enabled": "yes",
            "installed_version": "0.1.17",
            "types": "authentication"
        },
        "groupfolders": {
            "cron_last_folder_index": "1",
            "enabled": "yes",
            "installed_version": "18.1.2",
            "types": "filesystem,dav"
        },
        "impersonate": {
            "enabled": "yes",
            "installed_version": "1.17.1",
            "types": "prevent_group_restriction"
        },
        "integration_jira": {
            "enabled": "no",
            "installed_version": "1.3.0",
            "types": ""
        },
        "ldap_write_support": {
            "enabled": "no",
            "installed_version": "1.12.1",
            "types": ""
        },
        "logreader": {
            "enabled": "yes",
            "installed_version": "3.0.0",
            "types": "logging"
        },
        "lookup_server_connector": {
            "enabled": "yes",
            "installed_version": "1.18.0",
            "types": "authentication"
        },
        "mail": {
            "enabled": "no",
            "installed_version": "1.9.5",
            "types": ""
        },
        "nextcloud_announcements": {
            "enabled": "yes",
            "installed_version": "2.0.0",
            "notification_groups": "[\"admin\"]",
            "pub_date": "Thu, 24 Oct 2019 00:00:00 +0200",
            "types": "logging"
        },
        "notes": {
            "enabled": "no",
            "installed_version": "4.12.0",
            "types": ""
        },
        "notifications": {
            "enabled": "yes",
            "installed_version": "3.0.0",
            "types": "logging"
        },
        "oauth2": {
            "enabled": "yes",
            "installed_version": "1.18.1",
            "types": "authentication"
        },
        "ocdownloader": {
            "enabled": "no",
            "installed_version": "1.8.1",
            "types": ""
        },
        "onlyoffice": {
            "DocumentServerInternalUrl": "",
            "DocumentServerUrl": "https:\/\/office.example.com\/",
            "StorageUrl": "",
            "advanced": "false",
            "customizationChat": "true",
            "customizationCompactHeader": "true",
            "customizationFeedback": "true",
            "customizationForcesave": "false",
            "customizationHelp": "true",
            "customizationReviewDisplay": "original",
            "customizationTheme": "theme-classic-light",
            "customizationToolbarNoTabs": "true",
            "defFormats": "{\"csv\":\"true\",\"doc\":\"true\",\"docm\":\"false\",\"docx\":\"true\",\"docxf\":\"true\",\"oform\":\"true\",\"dotx\":\"false\",\"epub\":\"false\",\"html\":\"false\",\"odp\":\"false\",\"ods\":\"false\",\"odt\":\"false\",\"otp\":\"false\",\"ots\":\"false\",\"ott\":\"false\",\"pdf\":\"false\",\"potm\":\"false\",\"potx\":\"false\",\"ppsm\":\"false\",\"ppsx\":\"false\",\"ppt\":\"true\",\"pptm\":\"false\",\"pptx\":\"true\",\"rtf\":\"false\",\"txt\":\"false\",\"xls\":\"true\",\"xlsm\":\"false\",\"xlsx\":\"true\",\"xltm\":\"false\",\"xltx\":\"false\"}",
            "demo": "{\"available\":false,\"enabled\":false,\"start\":{\"date\":\"2021-09-10 03:35:08.551139\",\"timezone_type\":3,\"timezone\":\"UTC\"}}",
            "editFormats": "{\"csv\":\"true\",\"odp\":\"false\",\"ods\":\"false\",\"odt\":\"false\",\"rtf\":\"false\",\"txt\":\"false\"}",
            "enabled": "yes",
            "groups": "[]",
            "installed_version": "9.8.0",
            "jwt_header": "",
            "jwt_secret": "***REMOVED SENSITIVE VALUE***",
            "preview": "false",
            "sameTab": "false",
            "settings_error": "Server error: `GET https:\/\/office.example.com\/healthcheck` resulted in a `502 Bad Gateway` response:\n<html>\r\n<head><title>502 Bad Gateway<\/title><\/head>\r\n<body>\r\n<center><h1>502 Bad Gateway<\/h1><\/center>\r\n<hr><center>ngin (truncated...)\n",
            "types": "prevent_group_restriction",
            "verify_peer_off": "false",
            "versionHistory": "true"
        },
        "passman": {
            "enabled": "no",
            "installed_version": "2.4.12",
            "types": ""
        },
        "password_policy": {
            "enabled": "yes",
            "enforceNumericCharacters": "1",
            "enforceSpecialCharacters": "1",
            "enforceUpperLowerCase": "1",
            "installed_version": "2.0.0",
            "types": "authentication"
        },
        "passwords": {
            "SSEv1ServerKey": "***REMOVED SENSITIVE VALUE***",
            "cron\/php\/version\/id": "80228",
            "cron\/php\/version\/string": "8.2.28",
            "enabled": "yes",
            "installed_version": "2025.4.10",
            "migration\/customFields": "2020.12.2",
            "passwords\/localdb\/type": "hibp",
            "types": "",
            "web\/php\/version\/id": "80129",
            "web\/php\/version\/string": "8.1.29"
        },
        "photos": {
            "enabled": "no",
            "installed_version": "1.2.3",
            "types": ""
        },
        "privacy": {
            "enabled": "yes",
            "installed_version": "2.0.0",
            "types": ""
        },
        "provisioning_api": {
            "enabled": "yes",
            "installed_version": "1.20.0",
            "types": "prevent_group_restriction"
        },
        "quicknotes": {
            "enabled": "no",
            "installed_version": "0.8.30",
            "types": ""
        },
        "quota_warning": {
            "enabled": "yes",
            "installed_version": "1.21.0",
            "types": "filesystem"
        },
        "recommendations": {
            "enabled": "no",
            "installed_version": "0.6.0",
            "types": ""
        },
        "related_resources": {
            "enabled": "yes",
            "installed_version": "1.5.0",
            "types": ""
        },
        "riotchat": {
            "enabled": "no",
            "installed_version": "0.18.8",
            "types": ""
        },
        "serverinfo": {
            "cached_count_filecache": "773",
            "cached_count_storages": "6",
            "enabled": "yes",
            "installed_version": "2.0.0",
            "types": ""
        },
        "settings": {
            "appstore-fetcher-lastFailure": "1752368524",
            "enabled": "yes",
            "installed_version": "1.13.0",
            "types": ""
        },
        "sharebymail": {
            "enabled": "yes",
            "installed_version": "1.20.0",
            "types": "filesystem"
        },
        "spreed": {
            "enabled": "no",
            "installed_version": "20.1.6",
            "project_access_invalidated": "1",
            "signaling_token_privkey_es256": "***REMOVED SENSITIVE VALUE***",
            "signaling_token_pubkey_es256": "***REMOVED SENSITIVE VALUE***",
            "stun_servers": "***REMOVED SENSITIVE VALUE***",
            "types": "dav,prevent_group_restriction"
        },
        "support": {
            "SwitchUpdaterServerHasRun": "yes",
            "enabled": "yes",
            "installed_version": "2.0.0",
            "types": "session"
        },
        "survey_client": {
            "enabled": "yes",
            "installed_version": "2.0.0",
            "types": ""
        },
        "systemtags": {
            "enabled": "yes",
            "installed_version": "1.20.0",
            "types": "logging"
        },
        "tasks": {
            "enabled": "yes",
            "installed_version": "0.16.1",
            "types": ""
        },
        "text": {
            "enabled": "yes",
            "installed_version": "4.1.0",
            "types": "dav"
        },
        "theming": {
            "backgroundMime": "image\/png",
            "background_color": "#D70D0D",
            "cachebuster": "35",
            "enabled": "yes",
            "installed_version": "2.6.0",
            "logoDimensions": "308x322",
            "logoMime": "image\/png",
            "logoheaderMime": "image\/png",
            "name": "\u6d4b\u8bd5\u6613\u4e91\u76d8",
            "primary_color": "#D70D0D",
            "slogan": "***REMOVED SENSITIVE VALUE***",
            "types": "logging",
            "url": "***REMOVED SENSITIVE VALUE***"
        },
        "twofactor_backupcodes": {
            "enabled": "yes",
            "installed_version": "1.19.0",
            "types": ""
        },
        "twofactor_totp": {
            "enabled": "yes",
            "installed_version": "12.0.0-dev",
            "types": ""
        },
        "updatenotification": {
            "announcementcenter": "7.1.3",
            "bruteforcesettings": "2.2.0",
            "calendar": "5.3.5",
            "checksum": "1.2.6",
            "contacts": "7.1.5",
            "core": "30.0.13.1",
            "drawio": "3.0.9",
            "emlviewer": "1.0.7",
            "enabled": "yes",
            "external": "4.0.1",
            "extract": "1.3.6",
            "files_automatedtagging": "1.14.2",
            "files_downloadactivity": "1.16.0",
            "files_mindmap": "0.0.33",
            "files_retention": "1.19.1",
            "files_texteditor": "2.15.1",
            "group_everyone": "0.1.16",
            "groupfolders": "18.1.3",
            "impersonate": "1.11.1",
            "installed_version": "1.20.0",
            "notes": "4.1.1",
            "onlyoffice": "9.9.0",
            "passman": "2.4.4",
            "passwords": "2025.7.10",
            "quota_warning": "1.20.0",
            "spreed": "20.1.6",
            "tasks": "0.16.1",
            "twofactor_totp": "6.4.1",
            "types": "",
            "update_check_errors": 0,
            "user_saml": "6.5.0",
            "workflow_pdf_converter": "1.3.2"
        },
        "user_external": {
            "enabled": "no",
            "installed_version": "0.9.0",
            "types": "prelogin,authentication"
        },
        "user_ldap": {
            "background_sync_interval": "1800",
            "enabled": "no",
            "installed_version": "1.21.0",
            "s01_lastChange": "1631270118",
            "s01has_memberof_filter_support": "0",
            "s01home_folder_naming_rule": "",
            "s01last_jpegPhoto_lookup": "0",
            "s01ldap_agent_password": "***REMOVED SENSITIVE VALUE***",
            "s01ldap_attributes_for_group_search": "",
            "s01ldap_attributes_for_user_search": "",
            "s01ldap_backup_host": "",
            "s01ldap_backup_port": "",
            "s01ldap_base": "",
            "s01ldap_base_groups": "",
            "s01ldap_base_users": "",
            "s01ldap_cache_ttl": "600",
            "s01ldap_configuration_active": "0",
            "s01ldap_default_ppolicy_dn": "",
            "s01ldap_display_name": "displayName",
            "s01ldap_dn": "",
            "s01ldap_dynamic_group_member_url": "",
            "s01ldap_email_attr": "",
            "s01ldap_experienced_admin": "0",
            "s01ldap_expert_username_attr": "",
            "s01ldap_expert_uuid_group_attr": "",
            "s01ldap_expert_uuid_user_attr": "",
            "s01ldap_ext_storage_home_attribute": "",
            "s01ldap_gid_number": "gidNumber",
            "s01ldap_group_display_name": "cn",
            "s01ldap_group_filter": "",
            "s01ldap_group_filter_mode": "0",
            "s01ldap_group_member_assoc_attribute": "",
            "s01ldap_groupfilter_groups": "",
            "s01ldap_groupfilter_objectclass": "",
            "s01ldap_host": "",
            "s01ldap_login_filter": "",
            "s01ldap_login_filter_mode": "0",
            "s01ldap_loginfilter_attributes": "",
            "s01ldap_loginfilter_email": "0",
            "s01ldap_loginfilter_username": "1",
            "s01ldap_matching_rule_in_chain_state": "unknown",
            "s01ldap_nested_groups": "0",
            "s01ldap_override_main_server": "",
            "s01ldap_paging_size": "500",
            "s01ldap_port": "",
            "s01ldap_quota_attr": "",
            "s01ldap_quota_def": "",
            "s01ldap_tls": "0",
            "s01ldap_turn_off_cert_check": "0",
            "s01ldap_turn_on_pwd_change": "0",
            "s01ldap_user_avatar_rule": "default",
            "s01ldap_user_display_name_2": "",
            "s01ldap_user_filter_mode": "0",
            "s01ldap_userfilter_groups": "",
            "s01ldap_userfilter_objectclass": "",
            "s01ldap_userlist_filter": "",
            "s01use_memberof_to_detect_membership": "1",
            "types": "authentication"
        },
        "user_saml": {
            "enabled": "yes",
            "general-allow_multiple_user_back_ends": "1",
            "installed_version": "6.6.0",
            "localGroupsCheckForMigration": "{\"dropAfter\":1725503566,\"groups\":{\"1\":\"test\\u7ec4\"}}",
            "saml_force_post": "1",
            "saml_saml20_logout_binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
            "saml_saml20_signon_binding": "urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST",
            "type": "saml",
            "types": "authentication"
        },
        "user_status": {
            "enabled": "yes",
            "installed_version": "1.10.0",
            "types": ""
        },
        "viewer": {
            "enabled": "yes",
            "installed_version": "3.0.0",
            "types": ""
        },
        "w2g2": {
            "enabled": "no",
            "installed_version": "3.3.9",
            "types": ""
        },
        "weather_status": {
            "enabled": "no",
            "installed_version": "1.0.0",
            "types": ""
        },
        "webhook_listeners": {
            "enabled": "yes",
            "installed_version": "1.1.0-dev",
            "types": "filesystem"
        },
        "workflow_pdf_converter": {
            "enabled": "no",
            "installed_version": "1.8.0",
            "types": "filesystem"
        },
        "workflow_script": {
            "enabled": "no",
            "installed_version": "1.15.0",
            "types": "filesystem"
        },
        "workflowengine": {
            "enabled": "yes",
            "installed_version": "2.12.0",
            "types": "filesystem"
        }
    }
}
Browser

Browser name: Chrome
Browser version: 136
Operating system: Windows 10

Browser log

{"data":"...","code":"50000","msg":"Request method 'GET' not supported"}

Additional curl trace (follow redirects)

curl -v -L "https://cloud.example.com/index.php/apps/user_saml/saml/login"

...
< HTTP/1.1 303 See Other
< Location: https://tsso.example.com:1443/esc-sso/idp/profile/SAML2/POST/SLO?SAMLRequest=...
...
GET /esc-sso/idp/profile/SAML2/POST/SLO?SAMLRequest=... HTTP/1.1
...
< HTTP/1.1 200 OK
< content-type: application/json;charset=UTF-8
{"data":"...","code":"50000","msg":"Request method 'GET' not supported"}

Additional comments

Even after explicitly setting saml_saml20_signon_binding and saml_force_post the login process always falls back to a HTTP GET redirect.
Expected user_saml to generate a form POST to IdP instead.

The current SAML Identity Provider (IdP) only supports HTTP-POST bindings for SSO initiation. Therefore user_saml ignoring this setting leads to incompatibility.

Please help clarify if this is a bug or a misconfiguration.


Thank you! 🙌

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

Start at the user_saml SAML login endpoint used in the curl reproduction and trace how saml_saml20_signon_binding and saml_force_post are read. Reproduce the configured HTTP-POST case and compare it with the current 303 redirect behavior. Done means the configured binding initiates SSO with an HTTP-POST form, with coverage for the reported settings.

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
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.