This LimeSurvey plugin adds SAML SSO support to your LimeSurvey system. After successful setup you will be able to use Single Sign On, Single Logout and Just-in-time provisioning for all your users in LimeSurvey. This includes verifying user credentials at the Identity Provider.
SSO for LimeSurvey only requires the Identity Provider to provide the email in the SAML response. Alternatively, using a custom attribute for identifying users is possible as well.
In order to create user accounts, this LimeSurvey SAML SSO plugin requests the Identity Provider to provide certain user data. The minimum data is similar to what LimeSurvey asks for when registering a new user: username, email and full name.
The plugin also comes with an attribute mapping feature. It allows administrators to define the mapping between user attribute names provided by the Identify Provider and the user attributes you have set up at LimeSurvey.
Additional features
- User groups are completely supported by this LimeSurvey plugin. If the Identity Provider provides a group name you can enable the Sync group option in order to update user group details. If the group name provided does not exist yet, the Auto create groups option can automatically generate it.
- Furthermore, the tool allows setting an Alternative Forgot PW URL. This way you can redirect users to the Identity Provider’s forgot password URL which replaces LimeSurvey’s default forgot password feature.
- Enable or disable single logout feature
- Force SAML in order to only allow users to be authenticated in LimeSurvey using SAML. When Force SAML is enabled, the tool offers an Allow Bypass Force SAML option. This is a recovery mechanism in case the SAML integration gets broken.
- Additional login option: As another alternative LimeSurvey users can log in as usual with username and password.
- Define the default permissions which will be assigned to newly provisioned accounts.
LimeSurvey SAML plugin Installation
- Firstly, download the plugin as ZIP file after payment.
- Secondly, upload the ZIP file at the plugin manager to install the plugin.
- Thirdly, activate the plugin at the LimeSurvey plugin manager.
- Lastly, configure the connection details at the plugin settings (see screenshots).
- Check the SAML plugin documentation for further details.
More information
Recent updates
2026-09-28 – Version 1.9.0 – Tested with LimeSurvey 7.3.0
- Added a hook method auth_saml2_hook_custom_saml_settings to allow extend/override the SAML Settings array.
- Added a hook method auth_saml2_hook_custom_login_form_js to allow injecting changes on login form using js.
- Added a hook method auth_saml2_hook_custom_global_base_permissions to allow customize the global permissions that gonna be returned by the plugin on the getGlobalBasePermissions method.
- Added example codes in auth_saml2_hooks
- Set SHA256 as the default Signature and Digest Algorithm for the SP.
- The file that contains the hook is not now directly provided by the plugin, instead is provided a hook file to be distributed (auth_saml2_hooks.php.dist) that should be cloned, renamed as auth_saml2_hooks.php and customized. If not provided, the plugin automatically will generate it on plugin activation/initialization as a clone of the .dist file.
- Removed the SAML settings validation on plugin activation, that prevented features like importmetadata to work, now this validation is executed before any SAML action and exception is caught and logged in logger.
- Improved the error message when required user info not provided by IdP (username and email).
- Forced all flags to boolean when building the SAML Settings. This fixed a bug that prevented to sign the SP Metadata
- Minor typo on ReadProxyVars hint
- Usage of HTML SP x509cert and SP Private Key broke copy/paste functionality, the fields were set as ‘text’.
- Some URls were built concatenating strings, now everything is built with the native method createUrl.
2026-09-08 – Version 1.8.0 – Tested with LimeSurvey 7.0.12
- First release for LimeSurvey v7.x
- Spanish and French translations added
- Fixed translation string formatting and translation issues
- Compatibility issue resolved caused by using the reserved `plugin` name in views
- Metadata import now includes IdP SSO and SLO endpoints
- Improved UserInGroup handling, group/role field guidance, and error logging for role/group save failures
- Updated php-saml to 4.3.2.
- Updated xmlseclibs to 3.1.5.
2026-06-26 – Version 1.7.0 – Tested with LimeSurvey 6.16.16
- Added updated version of XMLSecurityDSig.php to /libraries/xmlseclibs/
2025-12-09 – Version 1.7.0 – Tested with LimeSurvey 6.16.1:
- Fix xmlseclibs vulnerability CVE-2025-66475
- Added error handling for C14N method in xmlseclibs.php
2025-05-20 – Version 1.6.0 – Tested with LimeSurvey 6.13:
- Updated docs
- New survey options: Require users to be logged and while using protected survey by tokens, allow participants to identify with an active login user session
- Role support
- Add an option to avoid raising errors when the AttributeStatement Element contains attribute elements with duplicated name
- Ability to support HTTP_X_FORWARDED_HOST, HTTP_X_FORWARDED_PROTO and HTTP_X_FORWARDED_PORT by a new flag
- Bugfix CLogger::LEVEL_DEBUG
2025-01-14 – Tested with LimeSurvey 6.9:
- Support multiple attribute mapping by comma-separated values
- If no SLO URL registered for the active IdP then skip SLO
- Allow to decide what IdP discovery page to use including a custom method that can be implemented by the auth_saml2_hook_custom_discovery_page method.
2025-01-06 – Tested with LimeSurvey 6.8:
- Fix bug on Single Logout flow when multiple IdPs, no $idp parameter was provided to getSamlInstance on samlsls method
- Fix SPURL and $idstr typo
2024-08-28 – Tested with LimeSurvey 6.6.2: