Site Factory

Setting up single sign-on

Site Factory supports single sign-on (SSO) for websites running all supported versions of Drupal. Applications running the current Drupal version on Site Factory use Security Assertion Markup Language (SAML) for SSO, while Drupal 7 websites use OpenID.

Setting up SSO for websites running the current Drupal version

Applies to websites running the current Drupal version hosted on Site Factory. For SSO in Drupal 7 websites, see Specifying login authentication mode.

Setting up SSO for websites running the current Drupal version hosted on Site Factory enables users to sign in to those websites by using the actions menu in the Site Factory Management Console.

Using SSO requires a SAML service provider, either Cloud Platform or an external provider. Although you can use any SAML service provider compatible with your codebase running the current Drupal version, Site Factory directly supports the use of the SAML Authentication module (version 8.x-2.x or 8.x-3.x). Site Factory doesn’t recommend to use SAML Authentication module version 8.x-3.3.

To configure SSO for your Site Factory platform, select one of the following methods:

Important

  • Site Factory supports the use of the SAML Identity Provider (IdP) integrated into the Site Factory Management Console, or an external IdP, but not both. If you choose an external IdP, you cannot sign in to websites with the Log in option from a website’s actions menu.

  • If you do not use the SAML Authentication module to connect to your SAML service provider, you cannot use centralized role management.

  • If your SSO solution requires your users to sign in through an external Identity Provider (IdP), bypassing the Site Factory Management Console, Acquia recommends an Acquia Professional Services engagement.

Installing the SAML Authentication module

Complete the following steps to use the SAML Authentication module with SSO:

  1. For applications running the current Drupal version, download and add the following modules to your codebase:

  2. Add the modules from the previous step to your installation profile, along with the acsf_sso module packaged with the Site Factory Connector module.

  3. Commit your changes back to your repository.

You can now use SSO with your Site Factory-hosted websites.

Configuring authentication values

When installing the Site Factory SSO module or staging your websites for testing, Site Factory changes the samlauth.authentication configuration value to sign your users in to the appropriate staged or live websites.

Do not change the values for samlauth.authentication in active configuration from those set by Site Factory. For instance, ensure you do not import stale or incorrect values for samlauth.authentication from configuration files stored in your codebase when installing or staging a website.

Modifying samlauth.authentication in active configuration may cause sign-in attempts to fail, or to sign users in to an environment other than the one you intended.

SimpleSAMLphp and Site Factory

Implementing SSO with the simpleSAMLphp Authentication module for use with the acsf_sso module (packaged with the Site Factory Connector module), requires an Acquia Professional Services engagement.

During your Professional Services engagement, after Acquia provides you with the Service Provider (SP) data, you will perform the following actions:

  • Install the Service Provider (SP) metadata with your IdP.

  • Collaborate with Acquia to test your SimpleSAMLphp configuration.

  • If you do not use Cloud Platform as your IdP, ensure Acquia has access to and knowledge of your IdP.

  • Own your website’s custom code.

  • Alter the config.php file to use /mnt/gfs/mydocroot.env/files-private/sites.json instead of the default creds.json path.

  • Test any custom workflows not provided by the simpleSAMLphp Authentication module and the SimpleSAMLphp library.

  • Own the testing and validation of all Drupal configurations and workflows integrating with the simpleSAMLphp Authentication module.

  • Configure and activate the simpleSAMLphp Authentication module for your website.