Drupal (SP-initiated) Integration Guide
Introduction
Use this guide to enable Multi-Factor Authentication and Single Sign-on (SSO) access via SAML to Drupal.
Notice
These instructions apply to Linux instances of Drupal only
Prerequisites
1. On the Drupal host server, SimpleSAMLphp must be installed and configured – review the readme for information
2. Create a New Realm for the Drupal integration with the SecureAuth IdP Web Admin
3. Configure the following tabs on the Web Admin before configuring the Post Authentication tab:
Overview – the description of the realm and SMTP connections must be defined
Data – an enterprise directory must be integrated with SecureAuth IdP
Workflow – the way in which users will access this application must be defined
Multi-Factor Methods – the Multi-Factor Authentication methods that will be used to access this page (if any) must be defined
SecureAuth IdP Configuration Steps
Data
![]() |
1. In the Profile Fields section, map the directory field that contains the user's Drupal ID to the SecureAuth IdP Property
For example, use the Email 1 Property if this Property is not currently used
Warning
Click Save once the configuration is complete and before leaving the Data page to avoid losing changes
Post Authentication
Post Authentication
![]() |
2. In the Post Authentication section, select SAML 2.0 (SP Initiated) Assertion from the Authenticate User Redirect dropdown
The uneditable Authorized/SAML20SPInit.aspx URL populates the Redirect To field – this content will append to the domain name and realm number on the address bar
Notice
A customized post authentication page can be uploaded, but is not required
User ID Mapping
![]() |
3. Select the SecureAuth IdP Property corresponding to the directory Field that contains the Drupal username
For this example, select Email 1 from the User ID Mapping dropdown
4. Select urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified from the Name ID Format dropdown (default)
5. Select False from the Encode to Base64 dropdown
SAML Assertion / WS Federation
![]() |
6. Set the SAML Consumer URL to https://drupalserver/simplesaml/module.php/saml/sp/saml2-acs.php/default-sp
This is the setting made in Drupal Configuration Step 5 below
7. Set the WSFed/SAML Issuer to https://secureauthidp
This setting should match the Entity ID value from Drupal Configuration Step 6a below
8. Set the SAML Audience to https://drupalserver/simplesaml/module.php/saml/sp/metadata.php/default-sp
This setting should match the Entity ID value from Drupal Configuration Step 3 below
9. Set SP Start URL to https://drupalserver/saml_login
10. Leave the Signing Cert Serial Number as the default value, unless a third-party certificate is used for the SAML assertion
If using a third-party certificate, click Select Certificate and choose the appropriate certificate
11. OPTIONAL: Provide the Domain URL
12. Click certificate.wse3.cer to download the SecureAuth IdP certificate
SAML Attributes / WS Federation
![]() |
13. Under Attribute 1, set the Name to eduPersonPrincipalName
14. Select Authenticated User ID from the Value dropdown
15. Under Attribute 2, set the Name to mail
16. Select Email 1 from the Value dropdown
Warning
Click Save once the configuration is complete and before leaving the Post Authentication page to avoid losing changes
Drupal Configuration Steps
![]() |
1. On a new browser tab, navigate to https://drupalserver/simplesaml
2. Select the Federation tab
3. Make note of your Drupal Entity ID
4. Click Show metadata
![]() |
5. Under Metadata, make note of the full URL for AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
6. On the server hosting Drupal/SimpleSAMLphp, make the following edits on the /var/simplesamlphp/metadata/saml20-idp-remote.php file to include your SecureAuth IdP instance:
a. Enter $metadata[' https://secureauthidp']
b. Change 'en' to 'SecureAuth IdP'
c. Change 'SingleSignOnService' to 'https://secureauthidp/SecureAuth#/secureauth.aspx' – in which '#' is replaced by your SecureAuth IdP's realm number
d. Change 'SingleLogoutService' to ' https://secureauthidp/SecureAuth#/logout.aspx ' – in which '#' is replaced by your SecureAuth IdP's realm number
e. Change 'certFingerprint' to 'thumbprint' from SecureAuth IdP Configuration Step 12c
7. Save the saml20-idp-remote.php file
![]() |
8. Log on the Drupal Admin dashboard
9. Click the Extend tab
10. Click + Install new module
![]() |
11. Enter https://ftp.drupal.org/files/projects/externalauth-8.x-1.0.tar.gz in theInstall from a URL text box
12. Click Install – the message "Installation was completed successfully." appears
13. Click the Install another module link
14. Enter https://ftp.drupal.org/files/projects/simplesamlphp_auth-8.x-3.0-rc2.tar.gz in Install from a URL
15. Click Install – the success message appears
![]() |
16. Click the Administration pages link
17. Select the Extend tab
18. Select the External Authentication box
19. Click Install – the message "Module External Authentication has been enabled." appears
20. Select the SimpleSAMLphp Authentication box
21. Click Install – the message "Module SimpleSAMLphp Authentication has been enabled." appears
Notice
If an error message appears, review the simplesamlphp_auth readme file to verify that simplesamlphp_auth module has been successfully installed and configured
![]() |
22. Select the Configuration tab
23. Click the SimpleSAMLphp Auth Settings link
24. Select the Activate authentication via SimpleSAMLphp box
25. Direct users to log on via https://drupalserver/saml_login