Shibboleth
by michaelryanmcneill 4.3 (7 reviews)

Shibboleth

Allows WordPress to externalize user authentication and account creation to a Shibboleth Service Provider.

Shibboleth ranks #3,803 among WordPress.org plugins with 3,000+ active installations, is #132 of 1,578 in the Authentication category, a 4.3/5 rating from 7 reviews, and was last updated Jun 22, 2026. Data from WordPress.org, refreshed twice daily — see methodology.

Tested up to WP 7 (Current: 7.1)
v2.5.4 Current Version v2.5.4
Updated 2 months ago Last Update on 22 Jun, 2026
Refreshed 7 hours ago Last Refreshed on
#132 of 1,578 in Authentication Top 10% by installs Downloads -12.3% this week
View on WordPress.org
Rank
#3,803
-4 this week
Active Installs
3K+
-24%
KW Avg Position
22
0.3 worse
Downloads
59.2K
+24 today
Support Resolved
0%
No change
Rating
86%
Review 4.3 out of 5
4.3 (7 reviews)

Next Milestone 4K

Total Progress 93.8%
3K+ 4K+
152
Ranks to Climb
-
Growth Needed
8,000,000
Active Installs
Pro

Unlock Exact Install Count

See the precise estimated active installs for this plugin, calculated from real-time ranking data.

  • Exact install estimates within tiers
  • Track install growth over time
  • Milestone progress predictions
Upgrade to Pro
Need 62 more installs to reach 4K+

Rank Changes

3,609 3,705 3,801 3,897 3,993 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
3,794 3,800 3,806 3,811 3,817 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
Current #3,803
Change
Best #

Upgrade to Pro

Unlock 30-day and 90-day rank history charts with a Pro subscription.

Upgrade Now

Active Installs Growth

Active Installs 0,000,000+
Growth +0.0%
Peak 0,000,000

Downloads Growth

10 20 30 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
0 10 20 30 01-09-2026 02-09-2026 03-09-2026 04-09-2026 05-09-2026 06-09-2026 07-09-2026 08-09-2026 09-09-2026 10-09-2026 11-09-2026 12-09-2026 13-09-2026 14-09-2026 15-09-2026 16-09-2026
Downloads
Growth
Peak

Upgrade to Pro

Unlock 30-day, 90-day, and yearly download history charts with a Pro subscription.

Upgrade Now

Reviews & Ratings

4.3
7 reviews
Overall 86%
5
5 (71%)
4
1 (14%)
3
0 (0%)
2
0 (0%)
1
1 (14%)

Security History

Source: WPVulnerability

2 known vulnerabilities on record · 1 in the last 24 months · checked 1 month ago

  1. Shibboleth [shibboleth] < 2.5.4

    CVE-2026-12281 · Fixed in v2.5.4

  2. Shibboleth [shibboleth] < 1.8

    CVE-2017-14313 · Fixed in v1.8

TL;DR

AI summary of the plugin's readme

This plugin is for WordPress site administrators integrating with an existing Shibboleth-based identity management infrastructure. It externalizes login authentication to a Shibboleth Service Provider, automatically provisioning accounts, syncing user attributes, and mapping roles based on Shibboleth attributes.

  • Externalized Shibboleth authentication
  • Automatic account provisioning
  • User attribute synchronization
  • Automatic WordPress role mapping
  • Access restriction via eduPersonEntitlement
  • Redirect logins to Identity Provider
  • Discovery Service support

Frequently Asked Questions

Common questions about Shibboleth

From the Shibboleth Consortium: Shibboleth is a standards based, open source software package for web single sign-on across or within organizational boundaries. It allows sites to make informed authorization decisions for individual access of protected online resources in a privacy-preserving manner.
For more information on how to install the Native Shibboleth Service Provider on Linux, see this wiki article. For more information on how to install the Native Shibboleth Service Provider on other operating systems, see this wiki article. For more information on how to install Shibboleth on Nginx, see this GitHub repo. Note, we cannot provide support for installation, configuration, or troubleshooting of Shibboleth Service Provider issues.
Yes, the plugin provides a number of new actions and filters that can be used to extend the functionality of the plugin. Search shibboleth.php for occurrences of the function calls apply_filters and do_action to find them all. Then write a new plugin that makes use of the hooks. If your require additional hooks to allow for extending other parts of the plugin, please notify the plugin authors via the support forum. Before extending the plugin in this manner, please ensure that it is not actually more appropriate to add this logic to Shibboleth. It may make more sense to add a new attribute to your Shibboleth Identity Provider's attribute store (e.g. LDAP directory), or a new attribute definition to the Identity Provider's internal attribute resolver or the Shibboleth Service Provider's internal attribute extractor. In the end, the Shibboleth administrator will have to make that call as to what is most appropriate.
Yes, the plugin allows for all settings to be controlled via constants in wp-config.php. If set, the constant will override the value that exists in the WordPress options table. The available constants are detailed (with their available options) below: SHIBBOLETH_ATTRIBUTE_ACCESS_METHOD Format: string Available options: 'standard' for the default "Environment Variables" option, 'redirect' for the "Redirected Environment Variables" option, and 'http' for the "HTTP Headers" option. Example: define('SHIBBOLETH_ATTRIBUTE_ACCESS_METHOD', 'standard'); SHIBBOLETH_ATTRIBUTE_ACCESS_METHOD_FALLBACK Format: boolean Available options: true to fallback to the standard "Environment Variables" options when the selected attribute access method does not return results or false to not fallback. Example: define('SHIBBOLETH_ATTRIBUTE_ACCESS_METHOD_FALLBACK', true); SHIBBOLETH_LOGIN_URL Format: string Available Options: none Example: define('SHIBBOLETH_LOGIN_URL', 'https://example.com/Shibboleth.sso/Login'); SHIBBOLETH_LOGOUT_URL Format: string Available Options: none Example: define('SHIBBOLETH_LOGOUT_URL', 'https://example.com/Shibboleth.sso/Logout'); SHIBBOLETH_PASSWORD_CHANGE_URL Format: string Available options: none Example: define('SHIBBOLETH_PASSWORD_CHANGE_URL', 'https://sso.example.com/account/update'); SHIBBOLETH_PASSWORD_RESET_URL Format: string Available options: none Example: define('SHIBBOLETH_PASSWORD_RESET_URL', 'https://sso.example.com/account/reset'); SHIBBOLETH_SPOOF_KEY Format: string Available options: none Example: define('SHIBBOLETH_SPOOF_KEY', 'abcdefghijklmnopqrstuvwxyz'); SHIBBOLETH_DEFAULT_TO_SHIB_LOGIN Format: boolean Available options: true to automatically default to Shibboleth login or false to not default to Shibboleth login. Example: define('SHIBBOLETH_DEFAULT_TO_SHIB_LOGIN', true); SHIBBOLETH_AUTO_LOGIN Format: boolean Available options: true to automatically login users with an existing Shibboleth session or false to not check for an existing Shibboleth session. Example: define('SHIBBOLETH_AUTO_LOGIN', true); SHIBBOLETH_BUTTON_TEXT Format: string Available options: none Example: define('SHIBBOLETH_BUTTON_TEXT', 'Login with Shibboleth'); SHIBBOLETH_DISABLE_LOCAL_AUTH Format: boolean Available options: true to prevent users logging in using WordPress local authentication or false allow WordPress local authentication AND Shibboleth authentication. Example: define('SHIBBOLETH_DISABLE_LOCAL_AUTH', true); SHIBBOLETH_HEADERS Format: array (>= PHP 5.6) Available options: none PHP 5.6 (and above) example: const SHIBBOLETH_HEADERS = array( 'username' => array( 'name' => 'eppn' ), 'first_name' => array( 'name' => 'givenName', 'managed' => 'on' ), 'last_name' => array( 'name' => 'sn', 'managed' => 'on' ), 'nickname' => array( 'name' => 'eppn', 'managed' => 'off' ), 'display_name' => array( 'name' => 'displayName', 'managed' => 'off' ), 'email' => array( 'name' => 'mail', 'managed' => 'on' ) ); PHP 7.0 (and above) example: define('SHIBBOLETH_HEADERS', array( 'username' => array( 'name' => 'eppn' ), 'first_name' => array( 'name' => 'givenName', 'managed' => 'on' ), 'last_name' => array( 'name' => 'sn', 'managed' => 'on' ), 'nickname' => array( 'name' => 'eppn', 'managed' => 'off' ), 'display_name' => array( 'name' => 'displayName', 'managed' => 'off' ), 'email' => array( 'name' => 'mail', 'managed' => 'on' ) ) ); SHIBBOLETH_CREATE_ACCOUNTS Format: boolean Available options: true to automatically create new users if they do not exist in the WordPress database or false to only allow existing users to authenticate. Example: define('SHIBBOLETH_CREATE_ACCOUNTS', true); SHIBBOLETH_AUTO_COMBINE_ACCOUNTS Format: string Available options: 'disallow' for the default "Prevent Automatic Account Merging" option, 'allow' for the "Allow Automatic Account Merging" option, and 'bypass' for the "Allow Automatic Account Merging (Bypass Username Management)" option. Example: define('SHIBBOLETH_AUTO_COMBINE_ACCOUNTS', 'disallow'); SHIBBOLETH_MANUALLY_COMBINE_ACCOUNTS Format: string Available options: 'disallow' for the default "Prevent Manual Account Merging" option, 'allow' for the "Allow Manual Account Merging" option, and 'bypass' for the "Allow Manual Account Merging (Bypass Username Management)" option. Example: define('SHIBBOLETH_MANUALLY_COMBINE_ACCOUNTS', 'disallow'); SHIBBOLETH_ROLES Format: array (>= PHP 5.6) Available options: none PHP 5.6 (and above) example: const SHIBBOLETH_ROLES = array( 'administrator' => array( 'header' => 'entitlement', 'value' => 'urn:mace:example.edu:entitlement:wordpress:admin' ), 'author' => array( 'header' => 'affiliation', 'value' => 'faculty' ) ); PHP 7.0 (and above) example: define('SHIBBOLETH_ROLES', array( 'administrator' => array( 'header' => 'entitlement', 'value' => 'urn:mace:example.edu:entitlement:wordpress:admin' ), 'author' => array( 'header' => 'affiliation', 'value' => 'faculty' ) ) ); SHIBBOLETH_DEFAULT_ROLE Format: string Available options: All available WordPress roles. The defaults are 'administrator', 'subscriber', 'author', 'editor', and 'contributor'. Leave this constant empty '' to make the default no allowed access. Example: define('SHIBBOLETH_DEFAULT_ROLE', 'subscriber'); SHIBBOLETH_UPDATE_ROLES Format: boolean Available options: true to automatically use Shibboleth data to update user role mappings each time the user logs in or false to only update role mappings when a user is initally created. Example: define('SHIBBOLETH_UPDATE_ROLES', true); SHIBBOLETH_LOGGING Format: array (>= PHP 5.6) Available options: account_merge, account_create, auth, role_update PHP 5.6 (and above) example: const SHIBBOLETH_LOGGING = array( 'account_merge', 'account_create', 'auth', 'role_update' ); PHP 7.0 (and above) example: define('SHIBBOLETH_LOGGING', array( 'account_merge', 'account_create', 'auth', 'role_update' ) ); SHIBBOLETH_DISALLOW_FILE_MODS Format: boolean Available options: true to disable the Shibboleth plugin from attempting to add .htaccess directives or false to allow the Shibboleth plugin to add the necessary .htaccess directives. Example: define('SHIBBOLETH_DISALLOW_FILE_MODS', true);

More plugins by michaelryanmcneill

Sign In / Register

You need to sign in or register to use this feature.