It seems that when you initially install an ACSF site, if and only if the ACSF SSO module is enabled when the site is installed (i.e. as part of the install profile), ACSF will create all of the necessary connections to support SSO. If you instead enable ACSF SSO after the site is already installed, it fails to create these connections.

This will manifest as an error like this when you try to log in to a Drupal site via SSO from the ACSF web UI:

OneLogin_Saml2_Error encountered while processing SAML authentication response: SAML Response not found, Only supported HTTP_POST Binding

This is an incredibly hard problem to troubleshoot. It would be much more developer friendly if the ACSF SSO module could proactively warn (via the status report or status message) that the necessary bindings don't exist.

Edit: there may be some confounding factors here, because several folks (myself included) have verified that at least in some cases, you can simply enable the acsf_sso module after creating a site and the configuration will be correctly populated. Perhaps there was a problem related to configuration management, i.e. an empty samlauth.settings was created (as opposed to _no_ samlauth.settings), and this prevent it from being correctly populated.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Dane Powell created an issue. See original summary.

Dane Powell’s picture

Title: Obscure errors is ACSF SSO is not enabled at install time » Obscure errors if ACSF SSO is not enabled at install time
japerry’s picture

Status: Active » Needs review
FileSize
1.61 KB

When trying to install locally, ACSF will cause the installer to fail. This patch moves the ACSF error to be a warning, and does a check on the creds file before trying to set config.

nagba’s picture

Opened a DG ticket for this issue.

Dane Powell’s picture

It appears that another workaround for this is to define a config split that installs ACSF remotely, and apply the Drupal core patch to install sites from existing config. This will cause the ACSF module to be properly enabled at install time and avoid the error.

Also it might be that you don't need the ACSF SSO module enabled at install time, but just the base ACSF connector.

Dane Powell’s picture

Status: Needs review » Needs work

@japerry that seems like a useful patch but it doesn't look like it's going to solve this problem, maybe it should be a separate issue? (e.g. "Can't enable ACSF on local sites")

Dane Powell’s picture

Issue summary: View changes
kevinquillen’s picture

Version: 8.x-1.38 » 8.x-2.66

This issue is still present in the 2.6 version of the module.

I've resorted to having a factory hook on the site creation process to uninstall and then enable acsf_sso module to try and mitigate this. It does not have an effect. Enabling acsf_sso is part of the install profile, which is not working upon site creation either (SSO just says access denied).

The only two things that seem to work on a newly created site:

  • Click Log In, see "Access Denied" on site, go back to Site Factory, click Log In again, and it works
  • Uninstall and reinstall acsf_sso a handful of times, eventually the settings "take" and it works.
robertshell22’s picture

Incorrect patch file

robertshell22’s picture

Re-rolled #3 for the 8.x-2.69 version.