Descripción
SecurePie SSO SAML allows you to configure your WordPress site as a SAML 2.0 Service Provider (SP), enabling Single Sign-On with any SAML 2.0 compliant Identity Provider (IdP) such as Azure AD, Okta, Google Workspace, OneLogin, ADFS, and more.
This is a zero-dependency plugin — it uses only PHP’s built-in dom, openssl, and zlib extensions. No Composer, no external libraries, no conflicts with other plugins.
Features
- Full SAML 2.0 SSO — AuthnRequest generation, Response validation, user provisioning
- SP Metadata Endpoint — Auto-generated metadata XML for easy IdP configuration
- IdP Metadata Parsing — Import IdP settings from a metadata URL or XML file
- XML Digital Signature Verification — RSA-SHA256 and RSA-SHA1 support
- Security Hardened — XXE prevention, signature wrapping attack protection, replay prevention, audience validation
- Attribute Mapping — Map SAML attributes to WordPress user fields (username, email, first name, last name, display name)
- Role Mapping — Assign WordPress roles based on IdP group/role attributes
- Auto User Provisioning — Automatically create WordPress users on first SSO login
- SSO Login Button — Customizable SSO button on the WordPress login page
- Force SAML Login — Optionally redirect all login attempts through the IdP
- Single Logout (SLO) — Send LogoutRequest to the IdP when users log out of WordPress
- Test Configuration — Validate your SSO setup and see returned attributes before going live
- HTTP-Redirect and HTTP-POST Bindings — Support for both SAML binding types
- Clean Admin Interface — Professional tabbed settings page with copy-to-clipboard functionality
Supported Identity Providers
- Microsoft Azure Active Directory (Entra ID)
- Okta
- Google Workspace
- OneLogin
- Salesforce
- Auth0
- PingFederate
- Shibboleth
- ADFS (Active Directory Federation Services)
- Keycloak
- Any SAML 2.0 compliant IdP
Requirements
- PHP 7.4 or higher
- PHP extensions:
dom,openssl,zlib(enabled by default on most hosts) - WordPress 5.8 or higher
External Services
This plugin implements the SAML 2.0 protocol, which requires communication with an external Identity Provider (IdP) that is configured by the site administrator. No data is sent to any external service without the administrator explicitly configuring the connection.
Identity Provider Communication
When a user initiates SSO login, the plugin redirects the user’s browser to the Identity Provider’s SAML Login URL (configured by the administrator). The following data is sent as part of the standard SAML 2.0 AuthnRequest:
- The Service Provider Entity ID (your site’s identifier)
- The Assertion Consumer Service URL (your site’s callback URL)
- A unique request ID for replay prevention
The Identity Provider then authenticates the user and sends a SAML Response back to your site containing the user’s identity attributes (such as email, name, and group membership).
This communication is entirely between your WordPress site and the IdP that you configure. No data is sent to SecurePie or any other third party.
The terms of service and privacy policy for the Identity Provider depend on which provider you choose to configure (e.g., Microsoft Azure AD, Okta, Google Workspace). Please consult your Identity Provider’s documentation for their specific terms.
IdP Metadata Import (Optional)
The plugin can optionally fetch Identity Provider metadata from a URL provided by the administrator. This is a one-time server-to-server request to retrieve the IdP’s public configuration (Entity ID, Login URL, X.509 Certificate). No user data is sent during this request.
SAML Attribute Namespace URIs
The plugin references standard SAML attribute namespace URIs (e.g., http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress) as identifiers within SAML assertions. These are XML namespace strings used for attribute identification and are not HTTP requests to external services.
Instalación
- Upload the
securepie-sso-samlfolder to the/wp-content/plugins/directory, or install the plugin through the WordPress plugins screen. - Activate the plugin through the ‘Plugins’ screen in WordPress.
- Navigate to SecurePie SSO in the admin menu.
- Copy the SP metadata URL from the Service Provider tab and register it with your Identity Provider.
- Enter your IdP’s SAML details in the Identity Provider Setup tab (or use the metadata import feature).
- Configure Attribute Mapping to match your IdP’s attribute names.
- Use the Test Configuration tab to verify your SSO setup.
- Enable the SSO button on the login page from the Redirection & SSO tab.
Preguntas frecuentes
-
What is SAML SSO?
-
SAML (Security Assertion Markup Language) Single Sign-On allows users to log in to WordPress using their existing organizational credentials from an Identity Provider like Azure AD, Okta, or Google Workspace.
-
Which Identity Providers are supported?
-
SecurePie SSO SAML works with any SAML 2.0 compliant Identity Provider.
-
Where do I find my IdP’s SAML settings?
-
Your Identity Provider’s admin console will provide the Entity ID, Login URL, Logout URL, and X.509 Certificate needed for configuration. You can also import these from the IdP’s metadata URL.
-
Can I still log in with WordPress credentials?
-
Yes. Even with Force SAML Login enabled, you can access the standard WordPress login at
wp-login.php?normal=1. -
Does this plugin create WordPress users automatically?
-
Yes. When a user authenticates via SAML for the first time, the plugin creates a WordPress user account with the configured default role and mapped attributes.
-
What security measures are in place?
-
The plugin validates XML digital signatures (RSA-SHA256/SHA1), prevents XXE attacks, guards against signature wrapping attacks, validates audience restrictions, checks assertion timestamps with clock skew tolerance, and uses single-use transients for replay prevention.
-
Does this plugin require Composer or external libraries?
-
No. SecurePie SSO SAML is built entirely with PHP’s built-in extensions (
dom,openssl,zlib) and has zero external dependencies.
Reseñas
No hay reseñas para este plugin.
Colaboradores y desarrolladores
«SecurePie SSO SAML» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
ColaboradoresTraduce «SecurePie SSO SAML» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
1.0.1
- Improved metadata file upload with auto-parse on file selection
- Added inline status messages for metadata parsing feedback
- Fixed double-escaped HTML entities in Identity Provider tab
- Added proper output escaping on all template ternary expressions
- Enhanced SAML Response validation security
- Fixed SSO button alignment on WordPress login page
- Removed duplicate settings saved notice
- Added HTTPS enforcement for Identity Provider URLs
- Improved role mapping validation against registered WordPress roles
- Better error handling for SLO response validation
1.0.0
- Initial release
- Full SAML 2.0 Web Browser SSO Profile implementation
- AuthnRequest generation with HTTP-Redirect and HTTP-POST bindings
- SAML Response validation with XML digital signature verification
- SP metadata endpoint for IdP registration
- IdP metadata parsing from URL or XML file
- Automatic user provisioning and profile updates
- Attribute mapping for username, email, first name, last name, display name
- Role mapping based on IdP group attributes
- SSO button on WordPress login page
- Force SAML login option with emergency bypass
- Single Logout (SLO) support
- Test configuration tool with detailed results display
- Admin interface with 5 configuration tabs
- Copy-to-clipboard for SP metadata values
